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

#include <NaryOperationAbstraction.hpp>

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

Public Member Functions

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

Protected Member Functions

const ext::array< std::shared_ptr< abstraction::Value >, NumberOfParams > & getParams () const
 
virtual std::shared_ptr< abstraction::Valuerun () const =0
 

Constructor & Destructor Documentation

◆ NaryOperationAbstractionImpl()

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

Member Function Documentation

◆ eval()

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

Implements abstraction::OperationAbstraction.

Here is the call graph for this function:

◆ getParams()

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

◆ inputsAttached()

template<size_t NumberOfParams>
bool abstraction::NaryOperationAbstractionImpl< 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::NaryOperationAbstractionImpl< NumberOfParams >::numberOfParams ( ) const
inlineoverridevirtual

◆ run()

template<size_t NumberOfParams>
virtual std::shared_ptr< abstraction::Value > abstraction::NaryOperationAbstractionImpl< NumberOfParams >::run ( ) const
protectedpure virtual

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