Builder for YAML. More...
#include <userver/formats/yaml/value_builder.hpp>
Classes | |
| struct | IterTraits |
Public Types | |
| using | iterator = Iterator< IterTraits > |
Public Member Functions | |
| ValueBuilder () | |
| Constructs a valueBuilder that holds kNull. | |
| ValueBuilder (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 (bool t) | |
| Converting constructors. | |
| ValueBuilder (const char *str) | |
| ValueBuilder (const std::string &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) | |
| 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. | |
Friends | |
| class | Iterator< IterTraits > |
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.
Definition at line 45 of file value_builder.hpp.
|
noexcept |
Transfers the ValueBuilder object.
Universal constructor using Serialize.
Definition at line 82 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 195 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 189 of file value_builder.hpp.