16template <
class ObjectType,
class ReturnType,
class ... ParamTypes >
18 std::function < ReturnType (
typename std::remove_reference < ObjectType >::type *, ParamTypes ... ) > m_callback;
24 std::shared_ptr < abstraction::Value >
run ( )
const override {
27 std::shared_ptr < OperationAbstraction > reference = std::make_shared < ReferenceAbstraction < typename std::remove_reference < ObjectType >::type > > ( );
28 reference->attachInput ( std::get < 0 > ( this->
getParams ( ) ), 0 );
30 std::shared_ptr < abstraction::Value > ref = reference->eval ( );
32 throw std::invalid_argument (
"Eval of object of call to member falsed." );
34 std::get < 0 > ( params ) = ref;
Definition: MemberAbstraction.hpp:17
std::shared_ptr< abstraction::Value > run() const override
Definition: MemberAbstraction.hpp:24
MemberAbstraction(std::function< ReturnType(typename std::remove_reference< ObjectType >::type *, ParamTypes ...) > callback)
Definition: MemberAbstraction.hpp:21
const ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & getParams() const
Definition: NaryOperationAbstraction.hpp:21
Definition: NaryOperationAbstraction.hpp:77
Definition: ValueOperationAbstraction.hpp:19
Class extending the array class from the standard library. Original reason is to allow printing of th...
Definition: array.hpp:68
Definition: AlgorithmAbstraction.hpp:11
int callback(struct dl_phdr_info *info, size_t, void *data)
Definition: simpleStacktrace.cpp:25
Definition: FordFulkerson.hpp:16