// file : xsde/cxx/serializer/non-validating/unsigned-long-long.cxx // copyright : Copyright (c) 2005-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include // sprintf/snprintf #include namespace xsde { namespace cxx { namespace serializer { namespace non_validating { void unsigned_long_simpl:: pre (unsigned long long value) { value_ = value; } void unsigned_long_simpl:: _serialize_content () { // We only need strlen("18446744073709551615") + 1 characters to // hold all representations of unsigned long long. // char str[21]; #ifdef XSDE_SNPRINTF int n = snprintf (str, 21, "%llu", value_); #else int n = sprintf (str, "%llu", value_); #endif if (n > 0 && n < 21) _characters (str, static_cast (n)); } } } } }