#include <userver/formats/bson/document.hpp>
BSON document.
Definition at line 14 of file document.hpp.
Public Member Functions | |
Document () | |
Constructs an empty document Equivalent to MakeDoc() | |
Document (const Value &value) | |
Unwraps document from Value. | |
Public Member Functions inherited from formats::bson::Value | |
Value () | |
Constructs a null value. | |
Value (const Value &)=default | |
Value (Value &&) noexcept=default | |
Value & | operator= (const Value &) &=default |
Value & | operator= (Value &&) &noexcept=default |
template<class T > | |
Value & | operator= (T &&) && |
Value | operator[] (const std::string &name) const |
Retrieves document field by name. | |
Value | operator[] (uint32_t index) const |
Retrieves array element by index. | |
bool | HasMember (const std::string &name) const |
Checks whether the document has a field. | |
const_iterator | begin () const |
Returns an iterator to the first array element/document field. | |
const_iterator | end () const |
Returns an iterator following the last array element/document field. | |
const_reverse_iterator | rbegin () const |
Returns a reversed iterator to the last array element. | |
const_reverse_iterator | rend () const |
Returns a reversed iterator following the first array element. | |
bool | IsEmpty () const |
Returns whether the document/array is empty. | |
uint32_t | GetSize () const |
Returns the number of elements in a document/array. | |
std::string | GetPath () const |
Returns value path in a document. | |
bool | operator== (const Value &) const |
bool | operator!= (const Value &) const |
bool | IsMissing () const |
Checks whether the selected element exists. | |
template<typename T > | |
auto | As () const |
template<typename T , typename First , typename... Rest> | |
auto | As (First &&default_arg, Rest &&... more_default_args) const |
template<typename T > | |
auto | As (DefaultConstructed) const |
Returns value of *this converted to T or T() if this->IsMissing(). | |
template<typename T > | |
T | ConvertTo () const |
Extracts the specified type with relaxed type checks. For example, true may be converted to 1.0. | |
template<typename T , typename First , typename... Rest> | |
T | ConvertTo (First &&default_arg, Rest &&... more_default_args) const |
void | SetDuplicateFieldsPolicy (DuplicateFieldsPolicy) |
Changes parsing behavior when duplicate fields are encountered. Should not be used normally. | |
void | CheckNotMissing () const |
Throws a MemberMissingException if the selected element does not exist. | |
void | CheckArrayOrNull () const |
Throws a TypeMismatchException if the selected element is not an array or null. | |
void | CheckDocumentOrNull () const |
Throws a TypeMismatchException if the selected element is not a document or null. | |
bool | IsArray () const |
bool | IsDocument () const |
bool | IsNull () const |
bool | IsBool () const |
bool | IsInt32 () const |
bool | IsInt64 () const |
bool | IsDouble () const |
bool | IsString () const |
bool | IsDateTime () const |
bool | IsOid () const |
bool | IsBinary () const |
bool | IsDecimal128 () const |
bool | IsMinKey () const |
bool | IsMaxKey () const |
bool | IsTimestamp () const |
bool | IsObject () const |
Additional Inherited Members | |
Public Types inherited from formats::bson::Value | |
enum class | DuplicateFieldsPolicy { kForbid , kUseFirst , kUseLast } |
Selectors for duplicate fields parsing behavior. More... | |
using | const_iterator |
using | const_reverse_iterator |
using | Exception = formats::bson::BsonException |
using | ParseException = formats::bson::ParseException |
using | ExceptionWithPath = formats::bson::ExceptionWithPath |
using | Builder = ValueBuilder |
Protected Member Functions inherited from formats::bson::Value | |
const impl::BsonHolder & | GetBson () const |
formats::bson::Document::Document | ( | const Value & | value | ) |
Unwraps document from Value.
TypeMismatchException | if value is not a document |