23 virtual std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const = 0;
29 template <
class Param >
30 class EntryImpl :
public Entry {
32 EntryImpl ( ) =
default;
34 std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const override;
42 template <
class ParamType >
44 std::string param = ext::to_string < ParamType > ( );
50 template <
class ParamType >
52 registerXmlComposer ( std::move ( param ), std::unique_ptr < Entry > (
new EntryImpl < ParamType > ( ) ) );
55 template <
class ParamType >
57 std::string param = ext::to_string < ParamType > ( );
58 registerXmlComposer < ParamType > ( std::move ( param ) );
61 static std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction (
const std::string & param );
74template <
class Param >
75std::shared_ptr < abstraction::OperationAbstraction > XmlComposerRegistry::EntryImpl < Param >::getAbstraction ( )
const {
76 return std::make_shared < abstraction::XmlComposerAbstraction < const Param & > > ( );
Definition: XmlComposerRegistry.hpp:21
virtual std::shared_ptr< abstraction::OperationAbstraction > getAbstraction() const =0
Definition: XmlComposerRegistry.hpp:19
static void registerXmlComposer(std::string param)
Definition: XmlComposerRegistry.hpp:51
static std::shared_ptr< abstraction::OperationAbstraction > getAbstraction(const std::string ¶m)
Definition: XmlComposerRegistry.cpp:27
static void unregisterXmlComposer()
Definition: XmlComposerRegistry.hpp:43
static ext::set< std::string > list()
Definition: XmlComposerRegistry.cpp:45
static ext::set< std::string > listGroup(const std::string &group)
Definition: XmlComposerRegistry.cpp:35
static void registerXmlComposer()
Definition: XmlComposerRegistry.hpp:56
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