50 template <
class Stream,
bool IsSaving>
130 stream_ << std::dec << promote_to_printable_integer_type(v);
134 begin_string(delimiter);
135 for (
size_t i = 0; i < len; i++) {
136 unsigned char c = ((
unsigned char *)
buf)[i];
137 stream_ << std::hex << std::setw(2) << std::setfill(
'0') << (int)c;
139 end_string(delimiter);
143 begin_string(delimiter);
145 end_string(delimiter);
151 stream_ << std::dec << promote_to_printable_integer_type(v);
156 stream_ << delimiter;
161 stream_ << delimiter;
166 inner_array_size_ = s;
179 if (0 < inner_array_size_)
192 size_t inner_array_size_;
static auto promote_to_printable_integer_type(T v) -> decltype(+v)
the base class of json archive type
void tag(const char *tag)
void write_variant_tag(const char *t)
void end_string(const char *delimiter="\)
void begin_array(size_t s=0)
void begin_string(const char *delimiter="\)
void serialize_varint(T &v)
const char * variant_tag_type
json_archive_base(stream_type &s, bool indent=false)
Simple DSL AAPI based on.
void serialize_string(std::string str, const char *delimiter="\)
json_archive(stream_type &s, bool indent=false)
json_archive_base< Stream, IsSaving > base_type
void serialize_blob(void *buf, size_t len, const char *delimiter="\)
std::string make_indent(size_t indent)
boost::mpl::bool_< IsSaving > is_saving
a archive using the JSON standard