20 #include <bsoncxx/document/view.hpp>
21 #include <bsoncxx/stdx/optional.hpp>
23 #include <bsoncxx/config/prelude.hpp>
26 BSONCXX_INLINE_NAMESPACE_BEGIN
44 BSONCXX_API stdx::optional<document::view> BSONCXX_CALL
validate(
const std::uint8_t* data,
67 BSONCXX_API stdx::optional<document::view> BSONCXX_CALL
70 const validator& validator,
71 std::size_t* invalid_offset =
nullptr);
94 void check_utf8(
bool check_utf8);
101 bool check_utf8()
const;
111 void check_utf8_allow_null(
bool check_utf8_allow_null);
120 bool check_utf8_allow_null()
const;
128 void check_dollar_keys(
bool check_dollar_keys);
136 bool check_dollar_keys()
const;
144 void check_dot_keys(
bool check_dot_keys);
152 bool check_dot_keys()
const;
155 struct BSONCXX_PRIVATE impl;
156 std::unique_ptr<impl> _impl;
159 BSONCXX_INLINE_NAMESPACE_END
162 #include <bsoncxx/config/postlude.hpp>