19 #include <bsoncxx/types/bson_value/view.hpp>
21 #include <bsoncxx/config/prelude.hpp>
24 BSONCXX_INLINE_NAMESPACE_BEGIN
27 namespace bson_value {
62 operator bson_value::
view() const noexcept;
65 friend class
bsoncxx::document::element;
67 value(const std::uint8_t* raw,
70 std::uint32_t keylen);
73 value(
void* internal_value);
75 friend
value make_owning_bson(
void* internal_value);
77 class BSONCXX_PRIVATE impl;
78 std::unique_ptr<impl> _impl;
88 BSONCXX_INLINE
bool operator==(const
value& lhs, const
value& rhs) {
89 return (lhs.view() == rhs.view());
92 BSONCXX_INLINE
bool operator!=(
const value& lhs,
const value& rhs) {
108 return (lhs.
view() == rhs);
111 BSONCXX_INLINE
bool operator==(
const view& lhs,
const value& rhs) {
115 BSONCXX_INLINE
bool operator!=(
const value& lhs,
const view& rhs) {
116 return !(lhs == rhs);
119 BSONCXX_INLINE
bool operator!=(
const view& lhs,
const value& rhs) {
120 return !(lhs == rhs);
130 BSONCXX_INLINE_NAMESPACE_END
133 #include <bsoncxx/config/postlude.hpp>