diff options
Diffstat (limited to 'libbutl/manifest-serializer.hxx')
-rw-r--r-- | libbutl/manifest-serializer.hxx | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/libbutl/manifest-serializer.hxx b/libbutl/manifest-serializer.hxx index dfe37da..2159901 100644 --- a/libbutl/manifest-serializer.hxx +++ b/libbutl/manifest-serializer.hxx @@ -45,14 +45,19 @@ namespace butl // Unless long_lines is true, break lines in values (including multi-line) // so that their length does not exceed 78 codepoints (including '\n'). // + // Note that the multiline_v2 flag is temporary and should not be used + // except by the implementation for testing. + // manifest_serializer (std::ostream& os, const std::string& name, bool long_lines = false, - std::function<filter_function> filter = {}) + std::function<filter_function> filter = {}, + bool multiline_v2 = false) : os_ (os), name_ (name), long_lines_ (long_lines), - filter_ (std::move (filter)) + filter_ (std::move (filter)), + multiline_v2_ (multiline_v2) { } @@ -96,10 +101,12 @@ namespace butl size_t write_name (const std::string&); - // Write a value assuming the current line already has the specified - // codepoint offset. If the resulting line length would be too large then - // the multi-line representation will be used. It is assumed that the - // name, followed by the colon, is already written. + // Write a non-empty value assuming the current line already has the + // specified codepoint offset. If the resulting line length would be too + // large then the multi-line representation will be used. For the + // single-line representation the space character is written before the + // value. It is assumed that the name, followed by the colon, is already + // written. // void write_value (const std::string&, std::size_t offset); @@ -121,6 +128,7 @@ namespace butl const std::string name_; bool long_lines_; const std::function<filter_function> filter_; + bool multiline_v2_; }; // Serialize a manifest to a stream adding the leading format version pair |