MongoDB C++ Driver mongocxx-3.11.0
|
Declares entities whose ABI stability is NOT guaranteed.
Namespaces | |
namespace | array |
Declares entities representing a BSON array. | |
namespace | builder |
Declares entities used to build BSON documents. | |
namespace | document |
Declares entities representing a BSON document. | |
namespace | stdx |
Declares C++17 standard library polyfills. | |
namespace | string |
Declares entities related to handling string types. | |
namespace | types |
Declares entities representing BSON value types. | |
Classes | |
class | decimal128 |
Represents an IEEE 754-2008 BSON Decimal128 value in a platform-independent way. More... | |
class | exception |
Class representing any exceptions emitted from the bsoncxx library or its underlying implementation. More... | |
class | oid |
Represents a MongoDB ObjectId. As this BSON type is used within the MongoDB server as a primary key for each document, it is useful for representing a 'pointer' to another document. More... | |
class | validator |
A validator is used to enable or disable specific checks that can be performed during BSON validation. More... | |
class | view_or_value |
Class representing a view-or-value variant type. More... | |
Enumerations | |
enum class | binary_sub_type : std::uint8_t |
An enumeration of each BSON binary sub type. More... | |
enum class | error_code : std::int32_t |
Enum representing the various error types that can occur while operating on BSON values. More... | |
enum class | ExtendedJsonMode : std::uint8_t |
An enumeration of the types of Extended JSON that the to_json function accepts. More... | |
enum class | type : std::uint8_t |
An enumeration of each BSON type. More... | |
Functions | |
const std::error_category & | error_category () |
Get the error_category for exceptions originating from the bsoncxx library. | |
document::value | from_json (stdx::string_view json) |
Constructs a new document::value from the provided JSON text. | |
std::error_code | make_error_code (error_code error) |
Translate a bsoncxx::v_noabi::error_code into a std::error_code. | |
document::value | operator""_bson (const char *json, size_t len) |
Constructs a new document::value from the provided JSON text. This is the UDL version of from_json(). | |
std::string | to_string (binary_sub_type rhs) |
Returns a stringification of the given binary sub type. | |
std::string | to_string (type rhs) |
Returns a stringification of the given type. | |
stdx::optional< document::view > | validate (const std::uint8_t *data, std::size_t length) |
Validates a BSON document. This is a simplified overload that will only do the bare minimum validation of document structure, and does not provide any further information if the document is found to be invalid. | |
stdx::optional< document::view > | validate (const std::uint8_t *data, std::size_t length, const validator &validator, std::size_t *invalid_offset=nullptr) |
Validates a BSON document. This overload provides additional control over the precise validation that is performed, and will give the caller access to the offset at which the document was found to be invalid. | |
std::string | to_json (document::view view, ExtendedJsonMode mode=ExtendedJsonMode::k_legacy) |
Converts a BSON document to a JSON string, in extended format. | |
std::string | to_json (array::view view, ExtendedJsonMode mode=ExtendedJsonMode::k_legacy) |
Converts a BSON document to a JSON string, in extended format. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, const view_or_value< View, Value > &rhs) |
Compare view_or_value objects for (in)equality. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, const view_or_value< View, Value > &rhs) |
Compare view_or_value objects for (in)equality. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, const view_or_value< View, Value > &rhs) |
Compare view_or_value objects for (in)equality. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, const view_or_value< View, Value > &rhs) |
Compare view_or_value objects for (in)equality. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, View rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (View lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, View rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (View lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, const Value &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (const Value &lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, const Value &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const Value &lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, View rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (View lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, View rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (View lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (const view_or_value< View, Value > &lhs, const Value &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator== (const Value &lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const view_or_value< View, Value > &lhs, const Value &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
template<typename View , typename Value > | |
bool | operator!= (const Value &lhs, const view_or_value< View, Value > &rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
|
strong |
An enumeration of each BSON binary sub type.
|
strong |
Enum representing the various error types that can occur while operating on BSON values.
Enumerator | |
---|---|
k_cannot_append_key_in_sub_array | A new key was appended while building a subarray. |
k_cannot_close_array_in_sub_document | A subarray was closed while building a subdocument. |
k_cannot_close_document_in_sub_array | A subdocument was closed while building a subarray. |
k_cannot_perform_array_operation_on_document | An array operation was performed while building a document. |
k_cannot_perform_document_operation_on_array | A document operation was performed while building an array. |
k_need_element_type_k_double | The underlying value does not have the requested type. |
k_need_element_type_k_string | The underlying value does not have the requested type. |
k_need_element_type_k_document | The underlying value does not have the requested type. |
k_need_element_type_k_array | The underlying value does not have the requested type. |
k_need_element_type_k_binary | The underlying value does not have the requested type. |
k_need_element_type_k_undefined | The underlying value does not have the requested type. |
k_need_element_type_k_oid | The underlying value does not have the requested type. |
k_need_element_type_k_bool | The underlying value does not have the requested type. |
k_need_element_type_k_date | The underlying value does not have the requested type. |
k_need_element_type_k_null | The underlying value does not have the requested type. |
k_need_element_type_k_regex | The underlying value does not have the requested type. |
k_need_element_type_k_dbpointer | The underlying value does not have the requested type. |
k_need_element_type_k_code | The underlying value does not have the requested type. |
k_need_element_type_k_symbol | The underlying value does not have the requested type. |
k_need_element_type_k_codewscope | The underlying value does not have the requested type. |
k_need_element_type_k_int32 | The underlying value does not have the requested type. |
k_need_element_type_k_timestamp | The underlying value does not have the requested type. |
k_need_element_type_k_int64 | The underlying value does not have the requested type. |
k_need_element_type_k_decimal128 | The underlying value does not have the requested type. |
k_need_element_type_k_maxkey | The underlying value does not have the requested type. |
k_need_element_type_k_minkey | The underlying value does not have the requested type. |
k_need_key | No key was provided when one was needed. |
k_no_array_to_close | An array was closed while no array was open. |
k_no_document_to_close | A document was closed while no document was open. |
k_unmatched_key_in_builder | Attempted to view or extract a document when a key was still awaiting a matching value. |
k_unset_element | An empty element was accessed. |
k_json_parse_failure | A JSON document failed to parse. |
k_invalid_oid | An Object ID string failed to parse. |
k_failed_converting_bson_to_json | This type is unused and deprecated. |
k_invalid_decimal128 | A Decimal128 string failed to parse. |
k_internal_error | BSON data could not be processed, but no specific reason was available. |
k_cannot_begin_appending_array | Failed to begin appending an array to a BSON document or array. |
k_cannot_begin_appending_document | Failed to begin appending a BSON document to a BSON document or array. |
k_cannot_end_appending_array | Failed to complete appending an array to a BSON document or array. |
k_cannot_end_appending_document | Failed to complete appending a BSON document to a BSON document or array. |
k_invalid_binary_subtype | Invalid binary subtype. |
k_invalid_bson_type_id | Invalid type. |
k_cannot_append_double | Failed to append a value of the given type. |
k_cannot_append_string | Failed to append a value of the given type. |
k_cannot_append_document | Failed to append a value of the given type. |
k_cannot_append_array | Failed to append a value of the given type. |
k_cannot_append_binary | Failed to append a value of the given type. |
k_cannot_append_undefined | Failed to append a value of the given type. |
k_cannot_append_oid | Failed to append a value of the given type. |
k_cannot_append_bool | Failed to append a value of the given type. |
k_cannot_append_date | Failed to append a value of the given type. |
k_cannot_append_null | Failed to append a value of the given type. |
k_cannot_append_regex | Failed to append a value of the given type. |
k_cannot_append_dbpointer | Failed to append a value of the given type. |
k_cannot_append_code | Failed to append a value of the given type. |
k_cannot_append_symbol | Failed to append a value of the given type. |
k_cannot_append_codewscope | Failed to append a value of the given type. |
k_cannot_append_int32 | Failed to append a value of the given type. |
k_cannot_append_timestamp | Failed to append a value of the given type. |
k_cannot_append_int64 | Failed to append a value of the given type. |
k_cannot_append_decimal128 | Failed to append a value of the given type. |
k_cannot_append_maxkey | Failed to append a value of the given type. |
k_cannot_append_minkey | Failed to append a value of the given type. |
k_cannot_append_utf8 | Failed to append a value of the given type. |
k_need_element_type_k_utf8 |
|
|
strong |
|
strong |
An enumeration of each BSON type.
Enumerator | ||
---|---|---|
k_double | 0x01 | 64-bit binary floating point. |
k_string | 0x02 | UTF-8 string. |
k_utf8 | 0x02 | Equivalent to k_string. |
k_document | 0x03 | Embedded document. |
k_array | 0x04 | Array. |
k_binary | 0x05 | Binary data. |
k_undefined | 0x06 | Undefined value. |
k_oid | 0x07 | ObjectId. |
k_bool | 0x08 | Boolean. |
k_date | 0x09 | UTC datetime. |
k_null | 0x0A | Null value. |
k_regex | 0x0B | Regular expression. |
k_dbpointer | 0x0C | DBPointer. |
k_code | 0x0D | JavaScript code. |
k_symbol | 0x0E | Symbol. |
k_codewscope | 0x0F | JavaScript code with scope. |
k_int32 | 0x10 | 32-bit integer. |
k_timestamp | 0x11 | Timestamp. |
k_int64 | 0x12 | 64-bit integer. |
k_decimal128 | 0x13 | 128-bit decimal floating point. |
k_maxkey | 0x7F | Min key. |
k_minkey | 0xFF | Max key. |
const std::error_category & bsoncxx::v_noabi::error_category | ( | ) |
Get the error_category for exceptions originating from the bsoncxx library.
document::value bsoncxx::v_noabi::from_json | ( | stdx::string_view | json | ) |
Constructs a new document::value from the provided JSON text.
json | A string_view into a JSON document. |
bsoncxx::v_noabi::exception | with error details if the conversion failed. |
|
inline |
Translate a bsoncxx::v_noabi::error_code into a std::error_code.
error | An error from bsoncxx |
bool operator!= | ( | const Value & | lhs, |
const view_or_value< View, Value > & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator!= | ( | const view_or_value< View, Value > & | lhs, |
const Value & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator!= | ( | const view_or_value< View, Value > & | lhs, |
const view_or_value< View, Value > & | rhs ) |
Compare view_or_value objects for (in)equality.
bool operator!= | ( | const view_or_value< View, Value > & | lhs, |
View | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator!= | ( | View | lhs, |
const view_or_value< View, Value > & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
document::value bsoncxx::v_noabi::operator""_bson | ( | const char * | json, |
size_t | len ) |
Constructs a new document::value from the provided JSON text. This is the UDL version of from_json().
json | A string into a JSON document. |
len | The length of the JSON string. This is calculated automatically upon use of the UDL. |
bsoncxx::v_noabi::exception | with error details if the conversion failed. |
bool operator== | ( | const Value & | lhs, |
const view_or_value< View, Value > & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator== | ( | const view_or_value< View, Value > & | lhs, |
const Value & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator== | ( | const view_or_value< View, Value > & | lhs, |
const view_or_value< View, Value > & | rhs ) |
Compare view_or_value objects for (in)equality.
bool operator== | ( | const view_or_value< View, Value > & | lhs, |
View | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
bool operator== | ( | View | lhs, |
const view_or_value< View, Value > & | rhs ) |
Mixed (in)equality operators for view_or_value against View and Value types.
std::string bsoncxx::v_noabi::to_json | ( | array::view | view, |
ExtendedJsonMode | mode = ExtendedJsonMode::k_legacy ) |
Converts a BSON document to a JSON string, in extended format.
view | A valid BSON document or array. |
mode | An optional JSON representation mode. |
bsoncxx::v_noabi::exception | with error details if the conversion failed. |
std::string bsoncxx::v_noabi::to_json | ( | document::view | view, |
ExtendedJsonMode | mode = ExtendedJsonMode::k_legacy ) |
Converts a BSON document to a JSON string, in extended format.
view | A valid BSON document or array. |
mode | An optional JSON representation mode. |
bsoncxx::v_noabi::exception | with error details if the conversion failed. |
std::string bsoncxx::v_noabi::to_string | ( | binary_sub_type | rhs | ) |
Returns a stringification of the given binary sub type.
rhs | The type to stringify. |
std::string bsoncxx::v_noabi::to_string | ( | type | rhs | ) |
Returns a stringification of the given type.
rhs | The type to stringify. |
stdx::optional< document::view > bsoncxx::v_noabi::validate | ( | const std::uint8_t * | data, |
std::size_t | length ) |
Validates a BSON document. This is a simplified overload that will only do the bare minimum validation of document structure, and does not provide any further information if the document is found to be invalid.
data | A buffer containing a BSON document to validate. |
length | The size of the buffer. |
stdx::optional< document::view > bsoncxx::v_noabi::validate | ( | const std::uint8_t * | data, |
std::size_t | length, | ||
const validator & | validator, | ||
std::size_t * | invalid_offset = nullptr ) |
Validates a BSON document. This overload provides additional control over the precise validation that is performed, and will give the caller access to the offset at which the document was found to be invalid.
data | A buffer containing a BSON document to validate. |
length | The size of the buffer. |
validator | A validator used to configure what checks are done. If validation fails, it will contain the offset at which the document was found to be invalid. |
invalid_offset | If validation fails, the offset at which the document was found to be invalid will be stored here (if non-null). |