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