20#include <bsoncxx/document/view.hpp>
21#include <bsoncxx/stdx/optional.hpp>
23#include <bsoncxx/config/prelude.hpp>
26BSONCXX_INLINE_NAMESPACE_BEGIN
44BSONCXX_API stdx::optional<document::view> BSONCXX_CALL
45validate(
const std::uint8_t* data, std::size_t length);
67BSONCXX_API stdx::optional<document::view> BSONCXX_CALL
68validate(
const std::uint8_t* data, std::size_t length,
const validator& validator,
69 std::size_t* invalid_offset =
nullptr);
155 struct BSONCXX_PRIVATE impl;
156 std::unique_ptr<impl> _impl;
159BSONCXX_INLINE_NAMESPACE_END
162#include <bsoncxx/config/postlude.hpp>
A validator is used to enable or disable specific checks that can be performed during BSON validation...
Definition validate.hpp:74
~validator()
Destructs a validator.
bool check_utf8() const
Getter for the current check_utf8 value of the underlying validator.
bool check_utf8_allow_null() const
Getter for the current check_utf8_allow_null value of the underlying validator.
void check_utf8(bool check_utf8)
Verify that all keys and string values are valid UTF-8.
void check_utf8_allow_null(bool check_utf8_allow_null)
Verify that all keys and string values are valid UTF-8, but allow null bytes.
void check_dollar_keys(bool check_dollar_keys)
Verifies that document keys are not preceeded with '$'.
validator()
Constructs a validator.
bool check_dot_keys() const
Getter for the current check_dot_keys value of the underlying validator.
void check_dot_keys(bool check_dot_keys)
Verifies that document keys do not contain any '.
bool check_dollar_keys() const
Getter for the current check_dollar_keys value of the underlying validator.