9#include <ext/algorithm>
10#include <ext/typeinfo>
26 virtual std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const = 0;
32 template <
class Return >
33 class EntryImpl :
public Entry {
35 EntryImpl ( ) =
default;
37 std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction ( )
const override;
40 static ext::map < std::string,
ext::list < std::pair < std::function < bool (
ext::istream & ) >, std::unique_ptr < Entry > > > > & getEntries ( );
45 template <
class Group >
47 std::string group = ext::to_string < Group > ( );
53 template <
class Group,
class ReturnType >
58 static std::shared_ptr < abstraction::OperationAbstraction >
getAbstraction (
const std::string & group,
const std::string & str );
67template <
class Return >
68std::shared_ptr < abstraction::OperationAbstraction > StringReaderRegistry::EntryImpl < Return >::getAbstraction ( )
const {
69 return std::make_shared < abstraction::StringReaderAbstraction < Return > > ( );
Definition: StringReaderRegistry.hpp:24
virtual std::shared_ptr< abstraction::OperationAbstraction > getAbstraction() const =0
Definition: StringReaderRegistry.hpp:22
static void unregisterStringReader(const std::string &group, ext::list< std::pair< std::function< bool(ext::istream &) >, std::unique_ptr< Entry > > >::const_iterator iter)
static std::shared_ptr< abstraction::OperationAbstraction > getAbstraction(const std::string &group, const std::string &str)
Definition: StringReaderRegistry.cpp:31
static void unregisterStringReader(ext::list< std::pair< std::function< bool(ext::istream &) >, std::unique_ptr< Entry > > >::const_iterator iter)
Definition: StringReaderRegistry.hpp:46
static ext::list< std::pair< std::function< bool(ext::istream &)>, std::unique_ptr< Entry > > >::const_iterator registerStringReader()
Definition: StringReaderRegistry.hpp:54
Class extending the list class from the standard library. Original reason is to allow printing of the...
Definition: list.hpp:44
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: stringApi.hpp:26