12#include <ext/typeinfo>
27 template <
class Param >
28 class EntryImpl :
public Entry {
30 EntryImpl ( ) =
default;
32 std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const override;
38 static void unregisterNormalize (
const std::string & param, std::list < std::unique_ptr < Entry > >::const_iterator iter );
40 template <
class ParamType >
42 std::string param = ext::to_string < ParamType > ( );
46 static std::list < std::unique_ptr < Entry > >::const_iterator
registerNormalize ( std::string param, std::unique_ptr < Entry > entry );
48 template <
class ParamType >
49 static std::list < std::unique_ptr < Entry > >::const_iterator
registerNormalize ( std::string param ) {
50 return registerNormalize ( std::move ( param ), std::unique_ptr < Entry > (
new EntryImpl < ParamType > ( ) ) );
53 template <
class ParamType >
55 std::string param = ext::to_string < ParamType > ( );
56 return registerNormalize < ParamType > ( std::move ( param ) );
61 static std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction (
const std::string & param );
70template <
class Param >
71std::shared_ptr < abstraction::OperationAbstraction > NormalizeRegistry::EntryImpl < Param >::getAbstraction ( )
const {
72 return std::make_shared < NormalizeAbstraction < core::normalizationResult < Param >, Param > > ( );
Definition: BaseRegistryEntry.hpp:12
Definition: NormalizeRegistry.hpp:23
Definition: NormalizeRegistry.hpp:21
static void unregisterNormalize(const std::string ¶m, std::list< std::unique_ptr< Entry > >::const_iterator iter)
Definition: NormalizeRegistry.cpp:17
static bool hasNormalize(const std::string ¶m)
Definition: NormalizeRegistry.cpp:39
static std::shared_ptr< abstraction::OperationAbstraction > getAbstraction(const std::string ¶m)
Definition: NormalizeRegistry.cpp:31
static std::list< std::unique_ptr< Entry > >::const_iterator registerNormalize()
Definition: NormalizeRegistry.hpp:54
static std::list< std::unique_ptr< Entry > >::const_iterator registerNormalize(std::string param)
Definition: NormalizeRegistry.hpp:49
static void unregisterNormalize(std::list< std::unique_ptr< Entry > >::const_iterator iter)
Definition: NormalizeRegistry.hpp:41
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