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) : ValueBuilder
() {}
67 ValueBuilder(
const char* str);
68 ValueBuilder(
char* str);
69 ValueBuilder(
const std::string& str);
70 ValueBuilder(std::string_view str);
72 ValueBuilder(
unsigned int t);
74 ValueBuilder(
unsigned long t);
75 ValueBuilder(
long long t);
76 ValueBuilder(
unsigned long long t);
77 ValueBuilder(
float t);
78 ValueBuilder(
double t);
91 ValueBuilder
operator[](
const std::string& key);
101 typename Enable = std::enable_if_t<
utils::IsStrongTypedefLoggable(Ops)>>
102 ValueBuilder
operator[](
const utils::StrongTypedef<Tag, std::string, Ops>& key);
168 class EmplaceEnabler {};
172 ValueBuilder(EmplaceEnabler,
const YAML::Node& value,
const formats::
yaml::
Path& path,
const std::string& key);
174 ValueBuilder(EmplaceEnabler,
const YAML::Node& value,
const formats::
yaml::
Path& path, size_t index);
178 static ValueBuilder MakeNonRoot(
const YAML::Node& val,
const formats::
yaml::
Path& path,
const std::string& key);
179 static ValueBuilder MakeNonRoot(
const YAML::Node& val,
const formats::
yaml::
Path& path, size_t index);
181 void Copy(
const ValueBuilder& from);
182 void Move(ValueBuilder&& from);
183 void NodeDataAssign(
const formats::
yaml::Value& from);
185 template <
typename T>
186 static Value DoSerialize(
const T& t);