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

#include <WrapperAbstraction.hpp>

Inheritance diagram for abstraction::WrapperAbstraction< ParamTypes >:
[legend]
Collaboration diagram for abstraction::WrapperAbstraction< ParamTypes >:
[legend]

Public Member Functions

 WrapperAbstraction (std::function< std::shared_ptr< abstraction::OperationAbstraction >(ParamTypes ...) > wrapperFinder)
 
std::shared_ptr< abstraction::OperationAbstractionevalAbstractionFunction () override
 
ext::type_index getParamTypeIndex (size_t index) const override
 
abstraction::TypeQualifiers::TypeQualifierSet getParamTypeQualifiers (size_t index) const override
 
- Public Member Functions inherited from abstraction::WrapperAbstractionImpl< sizeof ...(ParamTypes) >
 WrapperAbstractionImpl ()
 
bool inputsAttached () const override
 
std::shared_ptr< abstraction::Valueeval () override
 
size_t numberOfParams () const override
 
ext::type_index getReturnTypeIndex () const override
 
abstraction::TypeQualifiers::TypeQualifierSet getReturnTypeQualifiers () const override
 
std::shared_ptr< abstraction::OperationAbstractiongetProxyAbstraction () 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
 

Additional Inherited Members

- Protected Member Functions inherited from abstraction::WrapperAbstractionImpl< sizeof ...(ParamTypes) >
ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & getParams ()
 
std::shared_ptr< OperationAbstraction > & getAbstraction ()
 
const std::shared_ptr< OperationAbstraction > & getAbstraction () const
 
void attachInputsToAbstraction ()
 

Constructor & Destructor Documentation

◆ WrapperAbstraction()

template<class ... ParamTypes>
abstraction::WrapperAbstraction< ParamTypes >::WrapperAbstraction ( std::function< std::shared_ptr< abstraction::OperationAbstraction >(ParamTypes ...) >  wrapperFinder)
inlineexplicit

Member Function Documentation

◆ evalAbstractionFunction()

template<class ... ParamTypes>
std::shared_ptr< abstraction::OperationAbstraction > abstraction::WrapperAbstraction< ParamTypes >::evalAbstractionFunction ( )
inlineoverridevirtual

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

Here is the call graph for this function:

◆ getParamTypeIndex()

template<class ... ParamTypes>
ext::type_index abstraction::WrapperAbstraction< ParamTypes >::getParamTypeIndex ( size_t  index) const
inlineoverridevirtual

◆ getParamTypeQualifiers()

template<class ... ParamTypes>
abstraction::TypeQualifiers::TypeQualifierSet abstraction::WrapperAbstraction< ParamTypes >::getParamTypeQualifiers ( size_t  index) const
inlineoverridevirtual

Implements abstraction::OperationAbstraction.

Here is the call graph for this function:

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