Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
Data Structures | Static Public Member Functions
abstraction::CastRegistry Class Reference

#include <CastRegistry.hpp>

Data Structures

class  Entry
 

Static Public Member Functions

static void unregisterCast (const std::string &target, const std::string &param)
 
template<class TargetType , class ParamType >
static void unregisterCast ()
 
static void registerCast (std::string target, std::string param, std::unique_ptr< Entry > entry)
 
template<class TargetType , class ParamType >
static void registerCast (std::string target, std::string param, bool isExplicit=false)
 
template<class TargetType , class ParamType >
static void registerCast (bool isExplicit=false)
 
template<class TargetType , class ParamType >
static void registerCastAlgorithm (std::string target, std::string param, TargetType(*callback)(const ParamType &), bool isExplicit=false)
 
template<class TargetType , class ParamType >
static void registerCastAlgorithm (TargetType(*callback)(const ParamType &), bool isExplicit=false)
 
template<class TargetType , class ParamType >
static void registerCastAlgorithm (std::string target, std::string param, TargetType(*callback)(ParamType), bool isExplicit=false)
 
template<class TargetType , class ParamType >
static void registerCastAlgorithm (TargetType(*callback)(ParamType), bool isExplicit=false)
 
static bool isNoOp (const std::string &target, const std::string &param)
 
static bool castAvailable (const std::string &target, const std::string &param, bool implicitOnly)
 
static std::shared_ptr< abstraction::OperationAbstractiongetAbstraction (const std::string &target, const std::string &param)
 
static ext::list< ext::pair< std::string, bool > > listFrom (const std::string &type)
 
static ext::list< ext::pair< std::string, bool > > listTo (const std::string &type)
 
static ext::list< ext::tuple< std::string, std::string, bool > > list ()
 

Member Function Documentation

◆ castAvailable()

bool abstraction::CastRegistry::castAvailable ( const std::string &  target,
const std::string &  param,
bool  implicitOnly 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getAbstraction()

std::shared_ptr< abstraction::OperationAbstraction > abstraction::CastRegistry::getAbstraction ( const std::string &  target,
const std::string &  param 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isNoOp()

bool abstraction::CastRegistry::isNoOp ( const std::string &  target,
const std::string &  param 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ list()

ext::list< ext::tuple< std::string, std::string, bool > > abstraction::CastRegistry::list ( )
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ listFrom()

ext::list< ext::pair< std::string, bool > > abstraction::CastRegistry::listFrom ( const std::string &  type)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ listTo()

ext::list< ext::pair< std::string, bool > > abstraction::CastRegistry::listTo ( const std::string &  type)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerCast() [1/3]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCast ( bool  isExplicit = false)
inlinestatic

◆ registerCast() [2/3]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCast ( std::string  target,
std::string  param,
bool  isExplicit = false 
)
inlinestatic
Here is the call graph for this function:

◆ registerCast() [3/3]

void abstraction::CastRegistry::registerCast ( std::string  target,
std::string  param,
std::unique_ptr< Entry entry 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerCastAlgorithm() [1/4]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCastAlgorithm ( std::string  target,
std::string  param,
TargetType(*)(const ParamType &)  callback,
bool  isExplicit = false 
)
inlinestatic
Here is the call graph for this function:

◆ registerCastAlgorithm() [2/4]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCastAlgorithm ( std::string  target,
std::string  param,
TargetType(*)(ParamType)  callback,
bool  isExplicit = false 
)
inlinestatic
Here is the call graph for this function:

◆ registerCastAlgorithm() [3/4]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCastAlgorithm ( TargetType(*)(const ParamType &)  callback,
bool  isExplicit = false 
)
inlinestatic
Here is the call graph for this function:

◆ registerCastAlgorithm() [4/4]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::registerCastAlgorithm ( TargetType(*)(ParamType)  callback,
bool  isExplicit = false 
)
inlinestatic
Here is the call graph for this function:

◆ unregisterCast() [1/2]

template<class TargetType , class ParamType >
static void abstraction::CastRegistry::unregisterCast ( )
inlinestatic
Here is the call graph for this function:
Here is the caller graph for this function:

◆ unregisterCast() [2/2]

void abstraction::CastRegistry::unregisterCast ( const std::string &  target,
const std::string &  param 
)
static
Here is the call graph for this function:

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