MongoDB C++ Driver mongocxx-3.1.1
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
bsoncxx Namespace Reference

Top level namespace for MongoDB C++ BSON functionality. More...

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. 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  error_code : std::int32_t
 
enum class  type : std::uint8_t
 An enumeration of each BSON type. More...
 
enum class  binary_sub_type : std::uint8_t
 An enumeration of each BSON binary sub type. More...
 

Functions

const std::error_category & error_category ()
 Get the error_category for exceptions originating from the bsoncxx library.
 
std::error_code make_error_code (error_code error)
 Translate a bsoncxx::error_code into a std::error_code.
 
std::string to_json (document::view view)
 Converts a BSON document to a JSON string.
 
document::value from_json (stdx::string_view json)
 Constructs a new document::value from the provided JSON text.
 
std::string to_string (type rhs)
 Returns a stringification of the given type.
 
std::string to_string (binary_sub_type rhs)
 Returns a stringification of the given binary sub type.
 
stdx::optional< document::viewvalidate (const std::uint8_t *data, std::size_t length)
 Validates a BSON document.
 
stdx::optional< document::viewvalidate (const std::uint8_t *data, std::size_t length, const validator &validator, std::size_t *invalid_offset=nullptr)
 Validates a BSON document.
 

Detailed Description

Top level namespace for MongoDB C++ BSON functionality.

Enumeration Type Documentation

◆ binary_sub_type

enum class bsoncxx::binary_sub_type : std::uint8_t
strong

An enumeration of each BSON binary sub type.

These x-macros will expand to be of the form: k_binary = 0x00, k_function = 0x01, k_binary_deprecated = 0x02, k_uuid_deprecated = 0x03, k_uuid = 0x04 ...

◆ error_code

enum class bsoncxx::error_code : std::int32_t
strong
Todo:
document this enum - including the values

◆ type

enum class bsoncxx::type : std::uint8_t
strong

An enumeration of each BSON type.

These x-macros will expand to be of the form: k_double = 0x01, k_utf8 = 0x02, k_document = 0x03, k_array = 0x04 ...

Function Documentation

◆ error_category()

const std::error_category & bsoncxx::error_category ( )

Get the error_category for exceptions originating from the bsoncxx library.

Returns
The bsoncxx error_category

◆ from_json()

document::value bsoncxx::from_json ( stdx::string_view  json)

Constructs a new document::value from the provided JSON text.

Parameters
'json'A string_view into a JSON document
Returns
A document::value if conversion worked.
Exceptions
bsoncxx::exceptionwith error details if the conversion failed.

◆ make_error_code()

std::error_code bsoncxx::make_error_code ( error_code  error)

Translate a bsoncxx::error_code into a std::error_code.

Parameters
anerror from bsoncxx
Returns
an error_code

◆ to_json()

std::string bsoncxx::to_json ( document::view  view)

Converts a BSON document to a JSON string.

Parameters
viewA valid BSON document.
Exceptions
bsoncxx::exceptionwith error details if the conversion failed.
Returns
A JSON string.

◆ to_string() [1/2]

std::string bsoncxx::to_string ( binary_sub_type  rhs)

Returns a stringification of the given binary sub type.

Parameters
rhsThe type to stringify.
Returns
a std::string representation of the type.

◆ to_string() [2/2]

std::string bsoncxx::to_string ( type  rhs)

Returns a stringification of the given type.

Parameters
rhsThe type to stringify.
Returns
a std::string representation of the type.

◆ validate() [1/2]

stdx::optional< document::view > bsoncxx::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.

Parameters
dataA buffer containing a BSON document to validate.
lengthThe size of the buffer.
Returns
An engaged optional containing a view if the document is valid, or an unengaged optional if the document is invalid.

◆ validate() [2/2]

stdx::optional< document::view > bsoncxx::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.

Parameters
dataA buffer containing a BSON document to validate.
lengthThe size of the buffer.
validatorA 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_offsetIf validation fails, the offset at which the document was found to be invalid will be stored here (if non-null).
Returns
An engaged optional containing a view if the document is valid, or an unengaged optional if the document is invalid.