#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.