8#include <ext/functional>
10#include <ext/typeinfo>
26 virtual std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const = 0;
32 template <
class Params >
33 class SetEntryImpl :
public Entry {
35 std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const override;
43 template <
class ParamTypes >
45 std::string param = ext::to_string < typename std::decay < ParamTypes >::type > ( );
49 static void registerSet ( std::string param, std::unique_ptr < Entry > entry );
51 template <
class ParamTypes >
53 registerSet ( std::move ( param ), std::make_unique < SetEntryImpl < ParamTypes > > ( ) );
56 template <
class ParamTypes >
58 std::string param = ext::to_string < typename std::decay < ParamTypes >::type > ( );
59 registerSet < ParamTypes > ( std::move ( param ) );
64 static std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction (
const std::string &
container,
const std::string & type );
77template <
class Param >
78std::shared_ptr < abstraction::OperationAbstraction > XmlContainerParserRegistry::SetEntryImpl < Param >::getAbstraction ( )
const {
79 return std::make_shared < abstraction::XmlParserAbstraction < ext::set < Param > > > ( );
Definition: XmlContainerParserRegistry.hpp:24
virtual std::shared_ptr< abstraction::OperationAbstraction > getAbstraction() const =0
Definition: XmlContainerParserRegistry.hpp:22
static ext::set< std::string > listOverloads(const std::string &container)
Definition: XmlContainerParserRegistry.cpp:64
static ext::set< std::string > list()
Definition: XmlContainerParserRegistry.cpp:76
static void registerSet(std::string param)
Definition: XmlContainerParserRegistry.hpp:52
static std::shared_ptr< abstraction::OperationAbstraction > getAbstraction(const std::string &container, const std::string &type)
Definition: XmlContainerParserRegistry.cpp:49
static void unregisterSet()
Definition: XmlContainerParserRegistry.hpp:44
static bool hasAbstraction(const std::string &container)
Definition: XmlContainerParserRegistry.cpp:45
static void registerSet()
Definition: XmlContainerParserRegistry.hpp:57
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
Definition: AlgorithmAbstraction.hpp:11
Definition: ContainerFromStringLexer.cpp:8