36class ValueBuilder
final {
39 using native_iter = YAML::iterator;
53 ValueBuilder(
const ValueBuilder& other);
55 ValueBuilder(ValueBuilder&& other);
56 ValueBuilder& operator=(
const ValueBuilder& other);
58 ValueBuilder& operator=(ValueBuilder&& other);
65 ValueBuilder(std::nullptr_t)
69 ValueBuilder(
const char* str);
70 ValueBuilder(
char* str);
71 ValueBuilder(
const std::string& str);
72 ValueBuilder(std::string_view str);
74 ValueBuilder(
unsigned int t);
76 ValueBuilder(
unsigned long t);
77 ValueBuilder(
long long t);
78 ValueBuilder(
unsigned long long t);
79 ValueBuilder(
float t);
80 ValueBuilder(
double t);
90 : ValueBuilder(DoSerialize(t))
95 ValueBuilder
operator[](
const std::string& key);
104 utils::StrongTypedefOps Ops,
105 typename Enable = std::enable_if_t<utils::IsStrongTypedefLoggable(Ops)>>
106 ValueBuilder
operator[](
const utils::StrongTypedef<Tag, std::string, Ops>& key);
172 class EmplaceEnabler {};
176 ValueBuilder(EmplaceEnabler,
const YAML::Node& value,
const formats::
yaml::
Path& path,
const std::string& key);
178 ValueBuilder(EmplaceEnabler,
const YAML::Node& value,
const formats::
yaml::
Path& path, size_t index);
182 static ValueBuilder MakeNonRoot(
const YAML::Node& val,
const formats::
yaml::
Path& path,
const std::string& key);
183 static ValueBuilder MakeNonRoot(
const YAML::Node& val,
const formats::
yaml::
Path& path, size_t index);
185 void Copy(
const ValueBuilder& from);
186 void Move(ValueBuilder&& from);
187 void NodeDataAssign(
const formats::
yaml::Value& from);
189 template <
typename T>
190 static Value DoSerialize(
const T& t);