/* */ #define DISABLE_DEBUG #include #include #include "common.hpp" Serialiser& Serialiser::operator<<(const Serialisable& subobj) { start_object(subobj.serialise_tag()); subobj.serialise(*this); end_object(subobj.serialise_tag()); return *this; } void Deserialiser::item(Serialisable& s) { DEBUG("Deserialise - '"<> len; if( !m_is.good() ) throw DeserialiseFailure("start_array", "length missing"); DEBUG("len = "<> v; if( !m_is.good() ) throw DeserialiseFailure("item(uint64_t)", "bad value"); } void Deserialiser_TextTree::item(int64_t& v) { eat_ws(); m_is >> v; if( !m_is.good() ) throw DeserialiseFailure("item(int64_t)", "bad value"); } void Deserialiser_TextTree::item(double& v) { eat_ws(); m_is >> v; if( !m_is.good() ) throw DeserialiseFailure("item(double)", "bad value"); } void Deserialiser_TextTree::item(::std::string& s) { eat_ws(); ::std::string rv; char c = getc(); DEBUG("c = '"<