/* * 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> #include "SetAbstraction.hpp" 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::registerCastAlgorithm < bool, std::string > ( ( bool ( * ) ( std::string ) ) ext::from_string < bool >, 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::ValuePrinterRegistry::registerValuePrinter < void > ( ); abstraction::ImmediateRegistry::registerImmediate < int > ( ); abstraction::ImmediateRegistry::registerImmediate < std::string > ( ); } }; auto primitiveCasts = PrimitiveCasts ( ); } /* namespace abstraction */