Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
PrimitiveRegistrator.cpp 1.59 KiB
/*
 * PrimitiveRegistrator.cpp
 *
 *  Created on: 11. 7. 2017
 *	  Author: Jan Travnicek
 */

#include <registry/XmlComposerRegistry.hpp>
#include <registry/XmlParserRegistry.hpp>
#include <registry/XmlContainerParserRegistry.hpp>

#include <primitive/xml/Double.h>
#include <primitive/xml/Integer.h>
#include <primitive/xml/Unsigned.h>
#include <primitive/xml/Bool.h>
#include <primitive/xml/UnsignedLong.h>
#include <primitive/xml/String.h>

#include <container/xml/ObjectsVector.h>
#include <container/xml/ObjectsSet.h>

namespace {

class PrimitiveRegistrator {
public:
	PrimitiveRegistrator ( ) {
		abstraction::XmlContainerParserRegistry::registerSet < int > ( );
		abstraction::XmlParserRegistry::registerXmlParser < int > ( "int" );

		abstraction::XmlComposerRegistry::registerXmlComposer < bool > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < int > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < double > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < std::string > ( );

		abstraction::XmlComposerRegistry::registerXmlComposer < ext::vector < size_t > > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < ext::vector < unsigned > > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < ext::vector < int > > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < ext::set < size_t > > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < ext::set < unsigned > > ( );
		abstraction::XmlComposerRegistry::registerXmlComposer < ext::set < int > > ( );
	}
};

auto primitiveRegistrator = PrimitiveRegistrator ( );

} /* namespace */