cppfig 0.1.0
Modern C++20 compile-time type-safe configuration library
Loading...
Searching...
No Matches
cppfig::MergingSerializer Concept Reference

Concept for serializers that can update a document in place. More...

#include <serializer.h>

Concept definition

template<typename S>
concept cppfig::MergingSerializer = Serializer<S> && requires(std::string_view existing, const Value& data) {
{ S::Merge(existing, data) } -> std::convertible_to<std::string>;
}
Concept for serializers that can update a document in place.
Definition serializer.h:35
Concept for serializer types.
Definition serializer.h:22

Detailed Description

Concept for serializers that can update a document in place.

A flat, hand-editable format carries information the Value tree does not: comments, blank lines and the order the user chose. Serializers that can preserve those provide Merge, and WriteFile uses it in preference to regenerating the document from scratch.