26template <
typename T >
37 return idToInstanceContexts;
44 unsigned idMaxContext = 0;
50 return instanceToIdContexts;
70 static
ext::map <
std::
string,
std::unique_ptr < GroupParser > > & parseFunctions ( );
72 template < class
Type >
73 class ParserRegister : public GroupParser {
90 static
ext::map <
std::
string,
std::unique_ptr < GroupComposer > > & composeFunctions ( );
92 template < class
Type >
93 class ComposerRegister : public GroupComposer {
102 static void unregisterXmlReader (
const std::string & tagName,
const std::string & typeName );
104 template <
class Type >
109 static void registerXmlReader ( std::string tagName,
const std::string & typeName, std::unique_ptr < GroupParser > entry );
111 template <
class Type >
113 registerXmlReader (
xmlApi < Type >::xmlTagName ( ), ext::to_string < Type > ( ), std::unique_ptr < GroupParser > (
new ParserRegister < Type > ( ) ) );
116 static void unregisterXmlWriter (
const std::string & type,
const std::string & typeName );
118 template <
class Type >
123 static void registerXmlWriter ( std::string type,
const std::string & typeName, std::unique_ptr < GroupComposer > entry );
125 template <
class Type >
142 static std::string xmlTagName ( );
Definition: xmlApi.hpp:29
ext::map< unsigned, object::Object > & idToInstance()
Definition: xmlApi.hpp:36
xmlApiInputContext(const ext::deque< sax::Token >::iterator &iter)
Definition: xmlApi.hpp:33
Definition: xmlApi.hpp:42
xmlApiOutputContext()=default
unsigned & idMax()
Definition: xmlApi.hpp:53
ext::map< object::Object, unsigned > & instanceToId()
Definition: xmlApi.hpp:49
virtual void compose(ext::deque< sax::Token > &input, const object::Object &group)=0
virtual ~GroupComposer() noexcept=default
virtual ~GroupParser() noexcept=default
virtual object::Object parse(ext::deque< sax::Token >::iterator &input)=0
Class extending the deque class from the standard library. Original reason is to allow printing of th...
Definition: deque.hpp:44
Class extending the map class from the standard library. Original reason is to allow printing of the ...
Definition: map.hpp:48
typename std::map< T, R, Cmp, Alloc >::iterator iterator
The iterator type is inheried.
Definition: map.hpp:101
Represents an adaptor of any type to a class in type hierarchy of objects in the algorithms library.
Definition: AnyObject.h:37
const AnyObjectBase & getData() const
Definition: Object.h:142
Definition: normalize.hpp:10
Definition: sigHandler.cpp:20
std::string to_string(const T &value)
To string method designated for objects that can be casted to string.
Definition: string.hpp:131
Type
Definition: MeasurementTypes.hpp:20
Definition: AnyObject.h:28
Definition: ComposerException.cpp:8
Definition: FordFulkerson.hpp:16
static void unregisterXmlWriter()
Definition: xmlApi.hpp:119
static void unregisterXmlReader()
Definition: xmlApi.hpp:105
static void registerXmlReader()
Definition: xmlApi.hpp:112
static void registerXmlWriter()
Definition: xmlApi.hpp:126
Definition: xmlApi.hpp:27