From 25cc4bd512cf7a5261131fea8e04da475d2a5764 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sat, 15 Dec 2018 19:09:52 +0100 Subject: [PATCH] simplify abstraction design --- .../src/abstraction/SetAbstraction.hpp | 4 ---- .../src/abstraction/WrapperAbstraction.hpp | 21 +++++++------------ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/alib2abstraction/src/abstraction/SetAbstraction.hpp b/alib2abstraction/src/abstraction/SetAbstraction.hpp index 9807e8bb92..21054f0af8 100644 --- a/alib2abstraction/src/abstraction/SetAbstraction.hpp +++ b/alib2abstraction/src/abstraction/SetAbstraction.hpp @@ -15,11 +15,7 @@ namespace abstraction { template < class ParamType > class SetAbstraction : public AnyaryOperationAbstraction < ext::set < ParamType >, ParamType > { - public: - SetAbstraction ( ) { - } - virtual bool run ( ) override { if ( ! this->inputsReady ( ) ) return false; diff --git a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp index fcc6403cc9..8d44f8aeb1 100644 --- a/alib2abstraction/src/abstraction/WrapperAbstraction.hpp +++ b/alib2abstraction/src/abstraction/WrapperAbstraction.hpp @@ -126,6 +126,13 @@ public: }; return ext::call_on_nth < ext::type_index > ( m_params, index, callback ); } + + virtual std::shared_ptr < abstraction::OperationAbstraction > getProxyAbstraction ( ) override { + if ( this->isReady ( ) ) + return this->m_data.template get < std::shared_ptr < OperationAbstraction > > ( )->getProxyAbstraction ( ); + else + throw std::domain_error ( "Proxy abstraction not avaiable before evaluation." ); + } }; template < class ReturnType, class ... ParamTypes > @@ -163,13 +170,6 @@ public: throw std::domain_error ( "Runtime type unknown before evaluation." ); } - virtual std::shared_ptr < abstraction::OperationAbstraction > getProxyAbstraction ( ) override { - if ( this->isReady ( ) ) - return this->m_data.template get < std::shared_ptr < OperationAbstraction > > ( )->getProxyAbstraction ( ); - else - throw std::domain_error ( "Runtime type unknown before evaluation." ); - } - }; template < class ... ParamTypes > @@ -204,13 +204,6 @@ public: throw std::domain_error ( "Runtime type unknown before evaluation." ); } - virtual std::shared_ptr < abstraction::OperationAbstraction > getProxyAbstraction ( ) override { - if ( this->isReady ( ) ) - return this->m_data.template get < std::shared_ptr < OperationAbstraction > > ( )->getProxyAbstraction ( ); - else - throw std::domain_error ( "Proxy abstraction not avaiable before evaluation." ); - } - }; } /* namespace abstraction */ -- GitLab