From 96dfc87c05110c3d857fe6d1c6eaeb139e91826c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 28 Mar 2023 10:02:45 +0200 Subject: Add member_begin_{object,array}() shortcuts to JSON serializer --- libbutl/json/serializer.ixx | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'libbutl/json/serializer.ixx') diff --git a/libbutl/json/serializer.ixx b/libbutl/json/serializer.ixx index 50fe397..ac6ea22 100644 --- a/libbutl/json/serializer.ixx +++ b/libbutl/json/serializer.ixx @@ -81,6 +81,20 @@ namespace butl next (event::name, {n.c_str (), n.size ()}, c); } + inline void buffer_serializer:: + member_begin_object (const char* n, bool c) + { + member_name (n, c); + begin_object (); + } + + inline void buffer_serializer:: + member_begin_object (const std::string& n, bool c) + { + member_name (n, c); + begin_object (); + } + template inline void buffer_serializer:: member (const char* n, const T& v, bool c) @@ -104,6 +118,20 @@ namespace butl } inline void buffer_serializer:: + member_begin_array (const char* n, bool c) + { + member_name (n, c); + begin_array (); + } + + inline void buffer_serializer:: + member_begin_array (const std::string& n, bool c) + { + member_name (n, c); + begin_array (); + } + + inline void buffer_serializer:: end_array () { next (event::end_array); -- cgit v1.1