Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Member Functions
abstraction::MemberAbstraction< ObjectType, ReturnType, ParamTypes > Class Template Reference

#include <MemberAbstraction.hpp>

Inheritance diagram for abstraction::MemberAbstraction< ObjectType, ReturnType, ParamTypes >:
[legend]
Collaboration diagram for abstraction::MemberAbstraction< ObjectType, ReturnType, ParamTypes >:
[legend]

Public Member Functions

 MemberAbstraction (std::function< ReturnType(typename std::remove_reference< ObjectType >::type *, ParamTypes ...) > callback)
 
std::shared_ptr< abstraction::Valuerun () const override
 
- Public Member Functions inherited from abstraction::NaryOperationAbstraction< ObjectType &, ParamTypes ... >
ext::type_index getParamTypeIndex (size_t index) const override
 
abstraction::TypeQualifiers::TypeQualifierSet getParamTypeQualifiers (size_t index) const override
 
- Public Member Functions inherited from abstraction::NaryOperationAbstractionImpl< sizeof ...(ParamTypes) >
 NaryOperationAbstractionImpl ()
 
bool inputsAttached () const override
 
std::shared_ptr< abstraction::Valueeval () override
 
size_t numberOfParams () const override
 
- Public Member Functions inherited from abstraction::OperationAbstraction
virtual ~OperationAbstraction () noexcept=default
 
virtual bool isParamTypeUniversal (size_t) const
 
virtual bool isReturnTypeUniversal () const
 
std::string getParamType (size_t index) const
 
std::string getReturnType () const
 
virtual std::shared_ptr< abstraction::OperationAbstractiongetProxyAbstraction ()
 
- Public Member Functions inherited from abstraction::ValueOperationAbstraction< ReturnType >
abstraction::TypeQualifiers::TypeQualifierSet getReturnTypeQualifiers () const override
 
ext::type_index getReturnTypeIndex () const override
 

Additional Inherited Members

- Static Public Member Functions inherited from abstraction::ValueOperationAbstraction< ReturnType >
template<typename ... ParamTypes, typename Callable >
static std::shared_ptr< abstraction::Valuerun_helper (Callable callback, const ext::array< std::shared_ptr< abstraction::Value >, sizeof ...(ParamTypes) > &inputs)
 
- Protected Member Functions inherited from abstraction::NaryOperationAbstractionImpl< sizeof ...(ParamTypes) >
const ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & getParams () const
 

Constructor & Destructor Documentation

◆ MemberAbstraction()

template<class ObjectType , class ReturnType , class ... ParamTypes>
abstraction::MemberAbstraction< ObjectType, ReturnType, ParamTypes >::MemberAbstraction ( std::function< ReturnType(typename std::remove_reference< ObjectType >::type *, ParamTypes ...) >  callback)
inlineexplicit

Member Function Documentation

◆ run()

template<class ObjectType , class ReturnType , class ... ParamTypes>
std::shared_ptr< abstraction::Value > abstraction::MemberAbstraction< ObjectType, ReturnType, ParamTypes >::run ( ) const
inlineoverridevirtual

Implements abstraction::NaryOperationAbstractionImpl< sizeof ...(ParamTypes) >.

Here is the call graph for this function:

The documentation for this class was generated from the following file: