Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Public Member Functions | Protected Member Functions
abstraction::WrapperAbstractionImpl< NumberOfParams > Class Template Referenceabstract

#include <WrapperAbstraction.hpp>

Inheritance diagram for abstraction::WrapperAbstractionImpl< NumberOfParams >:
[legend]
Collaboration diagram for abstraction::WrapperAbstractionImpl< NumberOfParams >:
[legend]

Public Member Functions

 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
 
virtual ext::type_index getParamTypeIndex (size_t index) const =0
 
std::string getParamType (size_t index) const
 
virtual abstraction::TypeQualifiers::TypeQualifierSet getParamTypeQualifiers (size_t index) const =0
 
std::string getReturnType () const
 

Protected Member Functions

ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & getParams ()
 
virtual std::shared_ptr< abstraction::OperationAbstractionevalAbstractionFunction ()=0
 
std::shared_ptr< OperationAbstraction > & getAbstraction ()
 
const std::shared_ptr< OperationAbstraction > & getAbstraction () const
 
void attachInputsToAbstraction ()
 

Constructor & Destructor Documentation

◆ WrapperAbstractionImpl()

template<size_t NumberOfParams>
abstraction::WrapperAbstractionImpl< NumberOfParams >::WrapperAbstractionImpl ( )
inlineexplicit

Member Function Documentation

◆ attachInputsToAbstraction()

template<size_t NumberOfParams>
void abstraction::WrapperAbstractionImpl< NumberOfParams >::attachInputsToAbstraction ( )
inlineprotected
Here is the caller graph for this function:

◆ eval()

template<size_t NumberOfParams>
std::shared_ptr< abstraction::Value > abstraction::WrapperAbstractionImpl< NumberOfParams >::eval ( )
inlineoverridevirtual

Implements abstraction::OperationAbstraction.

Here is the call graph for this function:

◆ evalAbstractionFunction()

template<size_t NumberOfParams>
virtual std::shared_ptr< abstraction::OperationAbstraction > abstraction::WrapperAbstractionImpl< NumberOfParams >::evalAbstractionFunction ( )
protectedpure virtual

Implemented in abstraction::WrapperAbstraction< ParamTypes >.

Here is the caller graph for this function:

◆ getAbstraction() [1/2]

template<size_t NumberOfParams>
std::shared_ptr< OperationAbstraction > & abstraction::WrapperAbstractionImpl< NumberOfParams >::getAbstraction ( )
inlineprotected
Here is the caller graph for this function:

◆ getAbstraction() [2/2]

template<size_t NumberOfParams>
const std::shared_ptr< OperationAbstraction > & abstraction::WrapperAbstractionImpl< NumberOfParams >::getAbstraction ( ) const
inlineprotected

◆ getParams()

template<size_t NumberOfParams>
ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & abstraction::WrapperAbstractionImpl< NumberOfParams >::getParams ( )
inlineprotected

◆ getProxyAbstraction()

template<size_t NumberOfParams>
std::shared_ptr< abstraction::OperationAbstraction > abstraction::WrapperAbstractionImpl< NumberOfParams >::getProxyAbstraction ( )
inlineoverridevirtual

Reimplemented from abstraction::OperationAbstraction.

◆ getReturnTypeIndex()

template<size_t NumberOfParams>
ext::type_index abstraction::WrapperAbstractionImpl< NumberOfParams >::getReturnTypeIndex ( ) const
inlineoverridevirtual

◆ getReturnTypeQualifiers()

template<size_t NumberOfParams>
abstraction::TypeQualifiers::TypeQualifierSet abstraction::WrapperAbstractionImpl< NumberOfParams >::getReturnTypeQualifiers ( ) const
inlineoverridevirtual

◆ inputsAttached()

template<size_t NumberOfParams>
bool abstraction::WrapperAbstractionImpl< NumberOfParams >::inputsAttached ( ) const
inlineoverridevirtual

Implements abstraction::OperationAbstraction.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ numberOfParams()

template<size_t NumberOfParams>
size_t abstraction::WrapperAbstractionImpl< NumberOfParams >::numberOfParams ( ) const
inlineoverridevirtual

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