22 virtual std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const = 0;
28 template <
class Return >
29 class EntryImpl :
public Entry {
31 std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const override;
39 template <
class ReturnType >
41 std::string type = ext::to_string < ReturnType > ( );
45 static void registerRawReader ( std::string type, std::unique_ptr < Entry > entry );
47 template <
class ReturnType >
49 registerRawReader ( std::move ( type ), std::unique_ptr < Entry > (
new EntryImpl < ReturnType > ( ) ) );
52 template <
class ReturnType >
54 std::string type = ext::to_string < ReturnType > ( );
55 registerRawReader < ReturnType > ( std::move ( type ) );
58 static std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction (
const std::string & type );
67template <
class Return >
68std::shared_ptr < abstraction::OperationAbstraction > RawReaderRegistry::EntryImpl < Return >::getAbstraction ( )
const {
69 return std::make_shared < abstraction::RawReaderAbstraction < Return > > ( );
Definition: RawReaderRegistry.hpp:20
virtual std::shared_ptr< abstraction::OperationAbstraction > getAbstraction() const =0
Definition: RawReaderRegistry.hpp:18
static void registerRawReader(std::string type)
Definition: RawReaderRegistry.hpp:48
static std::shared_ptr< abstraction::OperationAbstraction > getAbstraction(const std::string &type)
Definition: RawReaderRegistry.cpp:27
static void unregisterRawReader()
Definition: RawReaderRegistry.hpp:40
static void registerRawReader()
Definition: RawReaderRegistry.hpp:53
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