From eda6121a4415f15db51a2f87365e36709dc1a440 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <jan.travnicek@.fit.cvut.cz> Date: Wed, 29 May 2019 15:53:35 +0200 Subject: [PATCH] make nary m_params filed private --- alib2abstraction/src/abstraction/AlgorithmAbstraction.hpp | 2 +- .../src/abstraction/AnyaryOperationAbstraction.hpp | 6 +++++- alib2abstraction/src/abstraction/CastAbstraction.hpp | 2 +- alib2abstraction/src/abstraction/MemberAbstraction.hpp | 4 ++-- .../src/abstraction/NaryOperationAbstraction.hpp | 6 +++++- alib2abstraction/src/abstraction/NormalizeAbstraction.hpp | 2 +- alib2abstraction/src/abstraction/ReferenceAbstraction.hpp | 2 +- alib2abstraction/src/abstraction/SetAbstraction.hpp | 2 +- .../src/abstraction/ValuePrinterAbstraction.hpp | 2 +- alib2abstraction/src/abstraction/WrapperAbstraction.hpp | 4 ++-- alib2raw/src/abstraction/RawReaderAbstraction.hpp | 2 +- alib2raw/src/abstraction/RawWriterAbstraction.hpp | 2 +- alib2str/src/abstraction/StringReaderAbstraction.hpp | 2 +- alib2str/src/abstraction/StringWriterAbstraction.hpp | 2 +- alib2xml/src/abstraction/XmlComposerAbstraction.hpp | 2 +- alib2xml/src/abstraction/XmlParserAbstraction.hpp | 2 +- alib2xml/src/abstraction/XmlTokensComposerAbstraction.hpp | 4 ++-- alib2xml/src/abstraction/XmlTokensParserAbstraction.hpp | 2 +- 18 files changed, 29 insertions(+), 21 deletions(-) diff --git a/alib2abstraction/src/abstraction/AlgorithmAbstraction.hpp b/alib2abstraction/src/abstraction/AlgorithmAbstraction.hpp index 61abc413f9..9c5ec5d41f 100644 --- a/alib2abstraction/src/abstraction/AlgorithmAbstraction.hpp +++ b/alib2abstraction/src/abstraction/AlgorithmAbstraction.hpp @@ -25,7 +25,7 @@ public: } bool run ( ) override { - this->template run_helper < ParamTypes ... > ( m_callback, this->m_params ); + this->template run_helper < ParamTypes ... > ( m_callback, this->getParams ( ) ); return true; } diff --git a/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.hpp b/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.hpp index eeb5de007e..1a5a4710b1 100644 --- a/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.hpp +++ b/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.hpp @@ -19,9 +19,13 @@ namespace abstraction { template < class ReturnType, class ParamType > class AnyaryOperationAbstraction : public ValueOperationAbstraction < ReturnType > { -protected: ext::vector < std::pair < std::shared_ptr < OperationAbstraction >, bool > > m_params; +protected: + ext::vector < std::pair < std::shared_ptr < OperationAbstraction >, bool > > & getParams ( ) { + return m_params; + } + private: bool attachInput ( const std::shared_ptr < OperationAbstraction > & input, unsigned index, bool move, bool checkInput ) override { if ( input == nullptr ) diff --git a/alib2abstraction/src/abstraction/CastAbstraction.hpp b/alib2abstraction/src/abstraction/CastAbstraction.hpp index e9031f0787..63a1675d75 100644 --- a/alib2abstraction/src/abstraction/CastAbstraction.hpp +++ b/alib2abstraction/src/abstraction/CastAbstraction.hpp @@ -16,7 +16,7 @@ template < class ReturnType, class ParamType > class CastAbstraction : public UnaryOperationAbstraction < ReturnType, const ParamType & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = ReturnType ( retrieveValue < const ParamType & > ( param.first, param.second ) ); return true; diff --git a/alib2abstraction/src/abstraction/MemberAbstraction.hpp b/alib2abstraction/src/abstraction/MemberAbstraction.hpp index 66523daa21..ee6fd52ece 100644 --- a/alib2abstraction/src/abstraction/MemberAbstraction.hpp +++ b/alib2abstraction/src/abstraction/MemberAbstraction.hpp @@ -26,10 +26,10 @@ public: } bool run ( ) override { - ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) + 1 > params = this->m_params; + ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) + 1 > params = this->getParams ( ); std::shared_ptr < OperationAbstraction > reference = std::make_shared < ReferenceAbstraction < typename std::remove_reference < ObjectType >::type > > ( ); - if ( ! reference->attachInput ( std::get < 0 > ( this->m_params ).first, 0, std::get < 0 > ( this->m_params ).second, true ) ) + if ( ! reference->attachInput ( std::get < 0 > ( this->getParams ( ) ).first, 0, std::get < 0 > ( this->getParams ( ) ).second, true ) ) throw std::invalid_argument ( "Can't bind the object of call to member." ); if ( ! reference->eval ( ) ) diff --git a/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp b/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp index 637c1c554f..9d47050884 100644 --- a/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp +++ b/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp @@ -20,9 +20,13 @@ namespace abstraction { template < class ReturnType, class ... ParamTypes > class NaryOperationAbstraction : public ValueOperationAbstraction < ReturnType > { -protected: ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > m_params; +protected: + ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & getParams ( ) { + return m_params; + } + private: bool attachInput ( const std::shared_ptr < OperationAbstraction > & input, unsigned index, bool move, bool checkInput ) override { if ( index >= m_params.size ( ) ) diff --git a/alib2abstraction/src/abstraction/NormalizeAbstraction.hpp b/alib2abstraction/src/abstraction/NormalizeAbstraction.hpp index 101526fb00..c75bdf2dfa 100644 --- a/alib2abstraction/src/abstraction/NormalizeAbstraction.hpp +++ b/alib2abstraction/src/abstraction/NormalizeAbstraction.hpp @@ -18,7 +18,7 @@ template < class ReturnType, class ParamType > class NormalizeAbstraction : public UnaryOperationAbstraction < ReturnType, ParamType && > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & rawParam = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & rawParam = std::get < 0 > ( this->getParams ( ) ); ParamType && param = retrieveValue < ParamType && > ( rawParam.first, rawParam.second ); ReturnType res = factory::NormalizeFactory::normalize ( std::move ( param ) ); diff --git a/alib2abstraction/src/abstraction/ReferenceAbstraction.hpp b/alib2abstraction/src/abstraction/ReferenceAbstraction.hpp index 68448dfc47..a186d25cd6 100644 --- a/alib2abstraction/src/abstraction/ReferenceAbstraction.hpp +++ b/alib2abstraction/src/abstraction/ReferenceAbstraction.hpp @@ -16,7 +16,7 @@ template < class Type > class ReferenceAbstraction : public UnaryOperationAbstraction < Type *, Type & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = & retrieveValue < Type & > ( param.first, param.second ); return true; diff --git a/alib2abstraction/src/abstraction/SetAbstraction.hpp b/alib2abstraction/src/abstraction/SetAbstraction.hpp index d4c182e1ec..7ac4b65875 100644 --- a/alib2abstraction/src/abstraction/SetAbstraction.hpp +++ b/alib2abstraction/src/abstraction/SetAbstraction.hpp @@ -19,7 +19,7 @@ class SetAbstraction : public AnyaryOperationAbstraction < ext::set < ParamType public: bool run ( ) override { ext::set < ParamType > theSet; - for ( const std::pair < std::shared_ptr < OperationAbstraction >, bool > & param : this->m_params ) { + for ( const std::pair < std::shared_ptr < OperationAbstraction >, bool > & param : this->getParams ( ) ) { theSet.insert ( abstraction::retrieveValue < ParamType > ( param.first, param.second ) ); } diff --git a/alib2abstraction/src/abstraction/ValuePrinterAbstraction.hpp b/alib2abstraction/src/abstraction/ValuePrinterAbstraction.hpp index 6dad92f9c0..95ec39ed7a 100644 --- a/alib2abstraction/src/abstraction/ValuePrinterAbstraction.hpp +++ b/alib2abstraction/src/abstraction/ValuePrinterAbstraction.hpp @@ -22,7 +22,7 @@ public: } bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); m_ostream << retrieveValue < const ParamType & > ( param.first, param.second ) << std::endl; return true; } diff --git a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp index f8bf3ed732..c65fb7c993 100644 --- a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp +++ b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp @@ -121,8 +121,8 @@ public: void attachInputsToAbstraction ( ) { for ( unsigned index = 0; index < sizeof ... ( ParamTypes ); ++ index ) - if ( ! this->m_abstraction->attachInput ( this->m_params [ index ].first, index, this->m_params [ index ].second, true ) ) - throw std::invalid_argument ( "Can't connect param " + this->m_abstraction->getParamType ( index ) + " at " + ext::to_string ( index ) + " of wrapped algorithm with result of type " + this->m_params [ index ].first->getReturnType ( ) + "." ); + if ( ! this->m_abstraction->attachInput ( m_params [ index ].first, index, m_params [ index ].second, true ) ) + throw std::invalid_argument ( "Can't connect param " + this->m_abstraction->getParamType ( index ) + " at " + ext::to_string ( index ) + " of wrapped algorithm with result of type " + m_params [ index ].first->getReturnType ( ) + "." ); } diff --git a/alib2raw/src/abstraction/RawReaderAbstraction.hpp b/alib2raw/src/abstraction/RawReaderAbstraction.hpp index b4f73a36fc..7c23b37e3d 100644 --- a/alib2raw/src/abstraction/RawReaderAbstraction.hpp +++ b/alib2raw/src/abstraction/RawReaderAbstraction.hpp @@ -17,7 +17,7 @@ template < class ReturnType > class RawReaderAbstraction : public UnaryOperationAbstraction < ReturnType, std::string && > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); ReturnType res = factory::RawDataFactory::fromString ( abstraction::retrieveValue < std::string && > ( param.first, param.second ) ); this->m_data = std::move ( res ); return true; diff --git a/alib2raw/src/abstraction/RawWriterAbstraction.hpp b/alib2raw/src/abstraction/RawWriterAbstraction.hpp index 60e25c9ca8..50128d233c 100644 --- a/alib2raw/src/abstraction/RawWriterAbstraction.hpp +++ b/alib2raw/src/abstraction/RawWriterAbstraction.hpp @@ -17,7 +17,7 @@ template < class ParamType > class RawWriterAbstraction : public UnaryOperationAbstraction < std::string, const ParamType & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = factory::RawDataFactory::toString ( abstraction::retrieveValue < const ParamType & > ( param.first, param.second ) ); return true; } diff --git a/alib2str/src/abstraction/StringReaderAbstraction.hpp b/alib2str/src/abstraction/StringReaderAbstraction.hpp index ca3d6c7a0b..4faed98d06 100644 --- a/alib2str/src/abstraction/StringReaderAbstraction.hpp +++ b/alib2str/src/abstraction/StringReaderAbstraction.hpp @@ -17,7 +17,7 @@ template < class ReturnType > class StringReaderAbstraction : public UnaryOperationAbstraction < ReturnType, std::string && > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); ReturnType res = factory::StringDataFactory::fromString ( abstraction::retrieveValue < std::string && > ( param.first, param.second ) ); this->m_data = std::move ( res ); return true; diff --git a/alib2str/src/abstraction/StringWriterAbstraction.hpp b/alib2str/src/abstraction/StringWriterAbstraction.hpp index 99f1df7af5..15cb587202 100644 --- a/alib2str/src/abstraction/StringWriterAbstraction.hpp +++ b/alib2str/src/abstraction/StringWriterAbstraction.hpp @@ -17,7 +17,7 @@ template < class ParamType > class StringWriterAbstraction : public UnaryOperationAbstraction < std::string, const ParamType & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = factory::StringDataFactory::toString ( abstraction::retrieveValue < const ParamType & > ( param.first, param.second ) ); return true; } diff --git a/alib2xml/src/abstraction/XmlComposerAbstraction.hpp b/alib2xml/src/abstraction/XmlComposerAbstraction.hpp index c8298bfd91..0a50924bdb 100644 --- a/alib2xml/src/abstraction/XmlComposerAbstraction.hpp +++ b/alib2xml/src/abstraction/XmlComposerAbstraction.hpp @@ -17,7 +17,7 @@ template < class ParamType > class XmlComposerAbstraction : public UnaryOperationAbstraction < ext::deque < sax::Token >, const ParamType & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = factory::XmlDataFactory::toTokens ( abstraction::retrieveValue < const ParamType & > ( param.first, param.second ) ); return true; } diff --git a/alib2xml/src/abstraction/XmlParserAbstraction.hpp b/alib2xml/src/abstraction/XmlParserAbstraction.hpp index ab214c020b..2e5e1ab3fc 100644 --- a/alib2xml/src/abstraction/XmlParserAbstraction.hpp +++ b/alib2xml/src/abstraction/XmlParserAbstraction.hpp @@ -19,7 +19,7 @@ class XmlParserAbstraction : public UnaryOperationAbstraction < ReturnType, ext: public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); ReturnType res = factory::XmlDataFactory::fromTokens ( abstraction::retrieveValue < ext::deque < sax::Token > && > ( param.first, param.second ) ); this->m_data = std::move ( res ); return true; diff --git a/alib2xml/src/abstraction/XmlTokensComposerAbstraction.hpp b/alib2xml/src/abstraction/XmlTokensComposerAbstraction.hpp index 89ece0b8c4..1781b34818 100644 --- a/alib2xml/src/abstraction/XmlTokensComposerAbstraction.hpp +++ b/alib2xml/src/abstraction/XmlTokensComposerAbstraction.hpp @@ -16,8 +16,8 @@ namespace abstraction { class XmlTokensComposerAbstraction : public BinaryOperationAbstraction < void, const ext::deque < sax::Token > &, const std::string & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param2 = std::get < 0 > ( this->m_params ); - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param1 = std::get < 1 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param2 = std::get < 0 > ( this->getParams ( ) ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param1 = std::get < 1 > ( this->getParams ( ) ); sax::SaxComposeInterface::composeFile ( abstraction::retrieveValue < const std::string & > ( param1.first, param1.second ), abstraction::retrieveValue < const ext::deque < sax::Token > & > ( param2.first, param2.second ) ); return true; } diff --git a/alib2xml/src/abstraction/XmlTokensParserAbstraction.hpp b/alib2xml/src/abstraction/XmlTokensParserAbstraction.hpp index f6e759e235..c1f194f144 100644 --- a/alib2xml/src/abstraction/XmlTokensParserAbstraction.hpp +++ b/alib2xml/src/abstraction/XmlTokensParserAbstraction.hpp @@ -16,7 +16,7 @@ namespace abstraction { class XmlTokensParserAbstraction : public UnaryOperationAbstraction < ext::deque < sax::Token >, const std::string & > { public: bool run ( ) override { - std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->m_params ); + std::pair < std::shared_ptr < OperationAbstraction >, bool > & param = std::get < 0 > ( this->getParams ( ) ); this->m_data = sax::SaxParseInterface::parseFile ( abstraction::retrieveValue < const std::string & > ( param.first, param.second ) ); return true; } -- GitLab