Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Namespaces | Data Structures | Functions
abstraction Namespace Reference

Namespaces

namespace  detail
 

Data Structures

class  AlgorithmAbstraction
 
class  AlgorithmBaseInfo
 
class  AlgorithmCategories
 
class  AlgorithmFullInfo
 
class  AlgorithmRegistry
 
class  AnyaryOperationAbstraction
 
class  AnyaryOperationAbstractionImpl
 
class  BaseRegistryEntry
 
class  CastAbstraction
 
class  CastHelper
 
class  CastRegistry
 
class  ContainerRegistry
 
class  EvalHelper
 
class  InputFileRegistry
 
class  MemberAbstraction
 
class  NaryOperationAbstraction
 
class  NaryOperationAbstractionImpl
 
class  NormalizeAbstraction
 
class  NormalizeRegistry
 
class  OperationAbstraction
 
class  OperatorRegistry
 
class  Operators
 
class  OutputFileRegistry
 
class  PackingAbstraction
 
class  PackingAbstractionImpl
 
class  RawAbstraction
 
class  RawReaderAbstraction
 
class  RawReaderRegistry
 
class  RawWriterAbstraction
 
class  RawWriterRegistry
 
class  ReferenceAbstraction
 
class  ReferenceImpl
 
class  Registry
 
class  SetAbstraction
 
class  StringReaderAbstraction
 
class  StringReaderRegistry
 
class  StringWriterAbstraction
 
class  StringWriterRegistry
 
class  TemporariesHolder
 
class  TypeQualifiers
 
class  UnspecifiedType
 
class  Value
 
class  ValueHolder
 
class  ValueHolderInterface
 
class  ValueImpl
 
class  ValueOperationAbstraction
 
class  ValueOperationAbstraction< void >
 
class  ValuePrinterAbstraction
 
class  ValuePrinterAbstraction< void >
 
class  ValuePrinterRegistry
 
class  ValueReference
 
class  Void
 
class  WrapperAbstraction
 
class  WrapperAbstractionImpl
 
class  XmlComposerAbstraction
 
class  XmlComposerRegistry
 
class  XmlContainerParserRegistry
 
class  XmlParserAbstraction
 
class  XmlParserRegistry
 
class  XmlRegistry
 
class  XmlTokensComposerAbstraction
 
class  XmlTokensParserAbstraction
 

Functions

template<class ParamType >
ParamType retrieveValue (const std::shared_ptr< abstraction::Value > &param, bool move=false)
 
template<class ... ParamTypes, class F , class Tuple >
constexpr decltype(auto) apply (F &&f, Tuple &&t)
 
template<class ... Params>
abstraction::TypeQualifiers::TypeQualifierSet paramTypeQualifiers (unsigned index)
 
std::ostream & operator<< (std::ostream &os, AlgorithmCategories::AlgorithmCategory category)
 
std::ostream & operator<< (std::ostream &os, Operators::BinaryOperators oper)
 
std::ostream & operator<< (std::ostream &os, Operators::PrefixOperators oper)
 
std::ostream & operator<< (std::ostream &os, Operators::PostfixOperators oper)
 
template<class Entry >
std::shared_ptr< abstraction::OperationAbstractiongetOverload (const ext::list< std::unique_ptr< Entry > > &overloads, const ext::vector< std::string > &paramTypes, const ext::vector< abstraction::TypeQualifiers::TypeQualifierSet > &, AlgorithmCategories::AlgorithmCategory category)
 
std::ostream & operator<< (std::ostream &os, TypeQualifiers::TypeQualifierSet typeQualifiers)
 

Function Documentation

◆ apply()

template<class ... ParamTypes, class F , class Tuple >
constexpr decltype(auto) abstraction::apply ( F &&  f,
Tuple &&  t 
)
constexpr
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getOverload()

template<class Entry >
std::shared_ptr< abstraction::OperationAbstraction > abstraction::getOverload ( const ext::list< std::unique_ptr< Entry > > &  overloads,
const ext::vector< std::string > &  paramTypes,
const ext::vector< abstraction::TypeQualifiers::TypeQualifierSet > &  ,
AlgorithmCategories::AlgorithmCategory  category 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<<() [1/5]

std::ostream & abstraction::operator<< ( std::ostream &  os,
AlgorithmCategories::AlgorithmCategory  category 
)
Here is the call graph for this function:

◆ operator<<() [2/5]

std::ostream & abstraction::operator<< ( std::ostream &  os,
Operators::BinaryOperators  oper 
)
Here is the call graph for this function:

◆ operator<<() [3/5]

std::ostream & abstraction::operator<< ( std::ostream &  os,
Operators::PostfixOperators  oper 
)
Here is the call graph for this function:

◆ operator<<() [4/5]

std::ostream & abstraction::operator<< ( std::ostream &  os,
Operators::PrefixOperators  oper 
)
Here is the call graph for this function:

◆ operator<<() [5/5]

std::ostream & abstraction::operator<< ( std::ostream &  os,
TypeQualifiers::TypeQualifierSet  typeQualifiers 
)

◆ paramTypeQualifiers()

template<class ... Params>
abstraction::TypeQualifiers::TypeQualifierSet abstraction::paramTypeQualifiers ( unsigned  index)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ retrieveValue()

template<class ParamType >
ParamType abstraction::retrieveValue ( const std::shared_ptr< abstraction::Value > &  param,
bool  move = false 
)
Here is the call graph for this function:
Here is the caller graph for this function: