Newer
Older
/*
* PrimitiveRegistrator.cpp
*
* Created on: 11. 7. 2017
* Author: Jan Travnicek
*/
#include "CastRegistry.hpp"
#include "XmlFileWriterRegistry.hpp"
#include "NormalizeRegistry.hpp"
#include "ValuePrinterRegistry.hpp"
#include "ImmediateRegistry.hpp"
#include <primitive/Double.h>
#include <primitive/Integer.h>
#include <primitive/Bool.h>
#include <primitive/UnsignedLong.h>
#include <primitive/String.h>
namespace abstraction {
class PrimitiveCasts {
public:
PrimitiveCasts ( ) {
abstraction::CastRegistry::registerCast < double, int > ( false );
abstraction::CastRegistry::registerCast < int, double > ( false );
abstraction::CastRegistry::registerCastAlgorithm < std::string, int > ( ext::to_string, false );
abstraction::CastRegistry::registerCastAlgorithm < int, std::string > ( (int(*)(std::string)) ext::from_string < int >, false );
abstraction::CastRegistry::registerCast < bool, int > ( false );
abstraction::CastRegistry::registerCast < size_t, int > ( "size_t", ext::to_string < int > ( ), false );
abstraction::CastRegistry::registerCast < size_t, int > ( false );
abstraction::CastRegistry::registerCast < int, size_t > ( false );
abstraction::CastRegistry::registerCast < int, primitive::Integer > ( false );
abstraction::XmlFileWriterRegistry::registerXmlFileWriter < int > ( );
abstraction::XmlFileWriterRegistry::registerXmlFileWriter < double > ( );
abstraction::XmlFileWriterRegistry::registerXmlFileWriter < std::string > ( );
abstraction::ValuePrinterRegistry::registerValuePrinter < int > ( );
abstraction::ValuePrinterRegistry::registerValuePrinter < double > ( );
abstraction::ValuePrinterRegistry::registerValuePrinter < std::string > ( );
abstraction::ImmediateRegistry::registerImmediate < int > ( );
abstraction::ImmediateRegistry::registerImmediate < std::string > ( );
}
};
auto primitiveCasts = PrimitiveCasts ( );
} /* namespace abstraction */