From 426b5538a671d958c943deb29cbe3af5d1b1f255 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Mon, 17 Jun 2019 21:10:54 +0200
Subject: [PATCH] drop reset from OperationAbstraction

---
 .../AnyaryOperationAbstraction.cpp            |  2 +-
 .../abstraction/NaryOperationAbstraction.hpp  |  2 +-
 .../src/abstraction/OperationAbstraction.hpp  |  3 +-
 .../src/abstraction/PackingAbstraction.hpp    | 11 ++--
 .../abstraction/ValueOperationAbstraction.hpp | 53 +++++--------------
 .../src/abstraction/WrapperAbstraction.hpp    | 16 +++---
 6 files changed, 25 insertions(+), 62 deletions(-)

diff --git a/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.cpp b/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.cpp
index 77849536be..940857b9ce 100644
--- a/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.cpp
+++ b/alib2abstraction/src/abstraction/AnyaryOperationAbstraction.cpp
@@ -45,7 +45,7 @@ bool AnyaryOperationAbstractionImpl::eval ( ) {
 	if ( ! inputsAttached ( ) )
 		return false;
 
-	if ( this->cached ( ) )
+	if ( this->evaluated ( ) )
 		return true;
 
 	for ( const std::pair < std::shared_ptr < OperationAbstraction >, bool > & param : m_params )
diff --git a/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp b/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp
index 446a8471f1..f2ea56ab59 100644
--- a/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp
+++ b/alib2abstraction/src/abstraction/NaryOperationAbstraction.hpp
@@ -74,7 +74,7 @@ public:
 		if ( ! inputsAttached ( ) )
 			return false;
 
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return true;
 
 		for ( const std::pair < std::shared_ptr < OperationAbstraction >, bool > & param : m_params )
diff --git a/alib2abstraction/src/abstraction/OperationAbstraction.hpp b/alib2abstraction/src/abstraction/OperationAbstraction.hpp
index a623930576..ef3afbe58c 100644
--- a/alib2abstraction/src/abstraction/OperationAbstraction.hpp
+++ b/alib2abstraction/src/abstraction/OperationAbstraction.hpp
@@ -30,9 +30,8 @@ public:
 
 	virtual bool inputsAttached ( ) const = 0;
 	virtual bool eval ( ) = 0;
+	virtual bool evaluated ( ) const = 0;
 	virtual size_t numberOfParams ( ) const = 0;
-	virtual bool cached ( ) const = 0;
-	virtual void reset ( ) = 0;
 
 	virtual ext::type_index getParamTypeIndex ( size_t index ) const = 0;
 	virtual ext::type_index getReturnTypeIndex ( ) const = 0;
diff --git a/alib2abstraction/src/abstraction/PackingAbstraction.hpp b/alib2abstraction/src/abstraction/PackingAbstraction.hpp
index 9307cb355c..ac6ba8e8cd 100644
--- a/alib2abstraction/src/abstraction/PackingAbstraction.hpp
+++ b/alib2abstraction/src/abstraction/PackingAbstraction.hpp
@@ -90,7 +90,7 @@ public:
 		if ( ! inputsAttached ( ) )
 			return false;
 
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return true;
 
 		return this->run ( );
@@ -100,13 +100,8 @@ public:
 		return NumberOfParams;
 	}
 
-	bool cached ( ) const override {
-		return m_abstractions [ m_resultId ]->cached ( );
-	}
-
-	void reset ( ) override {
-		for ( std::shared_ptr < abstraction::OperationAbstraction > & abstraction : m_abstractions )
-			return abstraction->reset ( );
+	bool evaluated ( ) const override {
+		return m_abstractions [ m_resultId ]->evaluated ( );
 	}
 
 	ext::type_index getParamTypeIndex ( size_t index ) const override {
diff --git a/alib2abstraction/src/abstraction/ValueOperationAbstraction.hpp b/alib2abstraction/src/abstraction/ValueOperationAbstraction.hpp
index 8e95282b80..492ff19430 100644
--- a/alib2abstraction/src/abstraction/ValueOperationAbstraction.hpp
+++ b/alib2abstraction/src/abstraction/ValueOperationAbstraction.hpp
@@ -55,7 +55,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -67,13 +67,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < ReturnType > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < class ReturnType >
@@ -108,7 +104,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -120,13 +116,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < const ReturnType > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < class ReturnType >
@@ -161,7 +153,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -173,13 +165,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < ReturnType & > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < class ReturnType >
@@ -214,7 +202,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -226,13 +214,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < const ReturnType & > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < class ReturnType >
@@ -267,7 +251,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -279,13 +263,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < ReturnType && > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < class ReturnType >
@@ -320,7 +300,7 @@ protected:
 public:
 	template < typename ... ParamTypes, typename Callable >
 	inline void run_helper ( Callable callback, const ext::array < std::pair < std::shared_ptr < OperationAbstraction >, bool >, sizeof ... ( ParamTypes ) > & inputs ) {
-		if ( ! cached ( ) )
+		if ( ! evaluated ( ) )
 			setData ( abstraction::apply < ParamTypes ... > ( callback, inputs ) );
 	}
 
@@ -332,13 +312,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < const ReturnType && > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return ( bool ) m_data;
 	}
-
-	void reset ( ) override {
-		m_data.reset ( );
-	}
 };
 
 template < >
@@ -357,12 +333,9 @@ public:
 		return abstraction::ParamQualifiers::paramQualifiers < void > ( );
 	}
 
-	bool cached ( ) const override {
+	bool evaluated ( ) const override {
 		return false;
 	}
-
-	void reset ( ) override {
-	}
 };
 
 } /* namespace abstraction */
diff --git a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp
index 96fdb0cc14..65896fedb6 100644
--- a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp
+++ b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp
@@ -93,7 +93,7 @@ public:
 		if ( ! inputsAttached ( ) )
 			return false;
 
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return true;
 
 		for ( const std::pair < std::shared_ptr < OperationAbstraction >, bool > & param : m_params )
@@ -107,12 +107,8 @@ public:
 		return sizeof ... ( ParamTypes );
 	}
 
-	bool cached ( ) const override {
-		return ( bool ) m_abstraction && m_abstraction->cached ( );
-	}
-
-	void reset ( ) override {
-		m_abstraction = nullptr;
+	bool evaluated ( ) const override {
+		return ( bool ) m_abstraction && m_abstraction->evaluated ( );
 	}
 
 	ext::type_index getParamTypeIndex ( size_t index ) const override {
@@ -124,7 +120,7 @@ public:
 	}
 
 	std::shared_ptr < abstraction::OperationAbstraction > getProxyAbstraction ( ) override {
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return this->m_abstraction->getProxyAbstraction ( );
 		else
 			throw std::domain_error ( "Proxy abstraction not avaiable before evaluation." );
@@ -174,14 +170,14 @@ public:
 	}
 
 	ext::type_index getReturnTypeIndex ( ) const override {
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return this->getAbstraction ( )->getProxyAbstraction ( )->getReturnTypeIndex ( );
 		else
 			throw std::domain_error ( "Return type unknown before evaluation." );
 	}
 
 	ext::set < abstraction::ParamQualifiers::ParamQualifier > getReturnTypeQualifiers ( ) const override {
-		if ( this->cached ( ) )
+		if ( this->evaluated ( ) )
 			return this->getAbstraction ( )->getProxyAbstraction ( )->getReturnTypeQualifiers ( );
 		else
 			throw std::domain_error ( "Return type qualifiers unknown before evaluation." );
-- 
GitLab