7 #include <unordered_map>
16 static std::any
Read( std::type_index,
const char * source,
Context const * context );
17 static std::string
Write( std::any
const & value,
Context const * context );
23 static void Register_Impl( std::any * ){}
26 static void Register_Impl( T * );
28 template<
class Type >
29 static std::any DoRead( std::type_index,
const char * source,
Context const * context );
31 template<
class Type >
32 static std::string DoWrite( std::any
const & value,
Context const * context );
36 std::any ( *read )( std::type_index,
const char * source,
Context const * context );
37 std::string ( *write )( std::any
const & value,
Context const * context );
40 static std::unordered_map< std::type_index, Handler > & handlers();
43 static std::unordered_map< std::type_index, Handler > * _handlers;
51 std::any
Read(
const char * source,
Context const * context )
const
57 std::string
Write( std::any
const & value,
Context const * context )
const