#include <userver/formats/yaml/value_builder.hpp>
Builder for YAML.
Class provides methods for building YAML. For read only access to the existing YAML values use formats::yaml::Value.
Definition at line 36 of file value_builder.hpp.
Classes | |
struct | IterTraits |
Public Types | |
using | iterator = Iterator<IterTraits> |
Public Member Functions | |
ValueBuilder () | |
Constructs a valueBuilder that holds kNull. | |
ValueBuilder (formats::common::Type type) | |
Constructs a valueBuilder that holds default value for provided type . | |
ValueBuilder (const ValueBuilder &other) | |
ValueBuilder (ValueBuilder &&other) | |
ValueBuilder & | operator= (const ValueBuilder &other) |
ValueBuilder & | operator= (ValueBuilder &&other) |
ValueBuilder (const formats::yaml::Value &other) | |
ValueBuilder (formats::yaml::Value &&other) | |
ValueBuilder (common::TransferTag, ValueBuilder &&) noexcept | |
Transfers the ValueBuilder object. | |
template<typename T > | |
ValueBuilder (const T &t) | |
Universal constructor using Serialize. | |
ValueBuilder | operator[] (const std::string &key) |
Access member by key for modification. | |
ValueBuilder | operator[] (std::size_t index) |
Access array member by index for modification. | |
template<typename Tag , utils::StrongTypedefOps Ops, typename Enable = std::enable_if_t<utils::IsStrongTypedefLoggable(Ops)>> | |
ValueBuilder | operator[] (const utils::StrongTypedef< Tag, std::string, Ops > &key) |
Access member by key for modification. | |
void | Remove (const std::string &key) |
Remove key from object. If key is missing nothing happens. | |
iterator | begin () |
iterator | end () |
bool | IsEmpty () const |
Returns whether the array or object is empty. | |
bool | IsNull () const noexcept |
Returns true if *this holds a Null (Type::kNull). | |
bool | IsBool () const noexcept |
Returns true if *this is convertible to bool. | |
bool | IsInt () const noexcept |
Returns true if *this is convertible to int. | |
bool | IsInt64 () const noexcept |
Returns true if *this is convertible to int64_t. | |
bool | IsUInt64 () const noexcept |
Returns true if *this is convertible to uint64_t. | |
bool | IsDouble () const noexcept |
Returns true if *this is convertible to double. | |
bool | IsString () const noexcept |
Returns true if *this is convertible to std::string. | |
bool | IsArray () const noexcept |
Returns true if *this is an array (Type::kArray). | |
bool | IsObject () const noexcept |
Returns true if *this holds a map (Type::kObject). | |
std::size_t | GetSize () const |
Returns array size or object members count. | |
bool | HasMember (const char *key) const |
Returns true if value holds a key . | |
bool | HasMember (const std::string &key) const |
Returns true if value holds a key . | |
void | Resize (std::size_t size) |
Resize the array value or convert null value into an array of requested size. | |
void | PushBack (ValueBuilder &&bld) |
Add element into the last position of array. | |
formats::yaml::Value | ExtractValue () |
Take out the resulting Value object. After calling this method the object is in unspecified (but valid - possibly null) state. | |
Concrete type constructors | |
ValueBuilder (std::nullptr_t) | |
ValueBuilder (bool t) | |
ValueBuilder (const char *str) | |
ValueBuilder (char *str) | |
ValueBuilder (const std::string &str) | |
ValueBuilder (std::string_view str) | |
ValueBuilder (int t) | |
ValueBuilder (unsigned int t) | |
ValueBuilder (long t) | |
ValueBuilder (unsigned long t) | |
ValueBuilder (long long t) | |
ValueBuilder (unsigned long long t) | |
ValueBuilder (float t) | |
ValueBuilder (double t) | |
Definition at line 45 of file value_builder.hpp.
|
inline |
Definition at line 65 of file value_builder.hpp.
|
noexcept |
Transfers the ValueBuilder
object.
Universal constructor using Serialize.
Definition at line 87 of file value_builder.hpp.
formats::yaml::Value formats::yaml::ValueBuilder::ExtractValue | ( | ) |
Take out the resulting Value
object. After calling this method the object is in unspecified (but valid - possibly null) state.
`YamlException` | if called not from the root builder. |
std::size_t formats::yaml::ValueBuilder::GetSize | ( | ) | const |
Returns array size or object members count.
`TypeMismatchException` | if not an array or an object. |
bool formats::yaml::ValueBuilder::IsEmpty | ( | ) | const |
Returns whether the array or object is empty.
`TypeMismatchException` | if not an array or an object. |
ValueBuilder formats::yaml::ValueBuilder::operator[] | ( | const std::string & | key | ) |
Access member by key for modification.
`TypeMismatchException` | if not object or null value. |
ValueBuilder formats::yaml::ValueBuilder::operator[] | ( | const utils::StrongTypedef< Tag, std::string, Ops > & | key | ) |
Access member by key for modification.
`TypeMismatchException` | if not object or null value. |
Definition at line 200 of file value_builder.hpp.
ValueBuilder formats::yaml::ValueBuilder::operator[] | ( | std::size_t | index | ) |
Access array member by index for modification.
`TypeMismatchException` | if not an array value. |
`OutOfBoundsException` | if index is greater than size. |
void formats::yaml::ValueBuilder::PushBack | ( | ValueBuilder && | bld | ) |
Add element into the last position of array.
`TypeMismatchException` | if not an array or null. |
Remove key from object. If key is missing nothing happens.
`TypeMismatchException` | if value is not an object. |
void formats::yaml::ValueBuilder::Resize | ( | std::size_t | size | ) |
Resize the array value or convert null value into an array of requested size.
`TypeMismatchException` | if not an array or null. |
|
friend |
Definition at line 194 of file value_builder.hpp.