void begin_structure() { if (!stack_.empty() && !stack_.back().is_object()) { begin_element(); } }
virtual void write_name(const Char* name, size_t length) { begin_element(); os_.put('\"'); escape_string<Char>(name, length, format_, os_); os_.put('\"'); os_.put(':'); }
void do_name(const Char* name, size_t length) override { begin_element(); os_->put('\"'); escape_string<Char>(name, length, format_, *os_); os_->put('\"'); os_->put(':'); }
void do_name(const CharT* name, size_t length) override { begin_element(); bos_.put('\"'); escape_string<CharT>(name, length, format_, bos_); bos_.put('\"'); bos_.put(':'); }