MongoDB C++ Driver
mongocxx-3.6.0
|
19 #include <type_traits>
21 #include <bsoncxx/types.hpp>
23 #include <bsoncxx/config/prelude.hpp>
26 BSONCXX_INLINE_NAMESPACE_BEGIN
33 namespace bson_value {
60 #define BSONCXX_ENUM(type, val) explicit view(b_##type) noexcept;
61 #include <bsoncxx/enums/type.hpp>
71 view& operator=(
const view&) noexcept;
109 const b_utf8& get_utf8()
const;
125 const b_array& get_array()
const;
149 const b_oid& get_oid()
const;
157 const b_bool& get_bool()
const;
165 const b_date& get_date()
const;
173 const b_null& get_null()
const;
181 const b_regex& get_regex()
const;
197 const b_code& get_code()
const;
221 const b_int32& get_int32()
const;
237 const b_int64& get_int64()
const;
267 view(
const std::uint8_t* raw, std::uint32_t length, std::uint32_t offset, std::uint32_t keylen);
268 view(
void* internal_value) noexcept;
270 void _init(
void* internal_value) noexcept;
272 void BSONCXX_PRIVATE destroy() noexcept;
302 template <
typename T>
303 using not_view =
typename std::enable_if<
304 std::is_constructible<bson_value::view, T>::value &&
309 template <
typename T>
310 BSONCXX_INLINE not_view<T> operator==(
const bson_value::view& lhs, T&& rhs) {
314 template <
typename T>
315 BSONCXX_INLINE not_view<T> operator==(T&& lhs,
const bson_value::view& rhs) {
316 return bson_value::view{std::forward<T>(lhs)} == rhs;
319 template <
typename T>
320 BSONCXX_INLINE not_view<T> operator!=(
const bson_value::view& lhs, T&& rhs) {
321 return lhs != bson_value::view{std::forward<T>(rhs)};
324 template <
typename T>
325 BSONCXX_INLINE not_view<T> operator!=(T&& lhs,
const bson_value::view& rhs) {
326 return bson_value::view{std::forward<T>(lhs)} != rhs;
332 BSONCXX_INLINE_NAMESPACE_END
335 #include <bsoncxx/config/postlude.hpp>
A BSON array value.
Definition: types.hpp:181
A BSON ObjectId value.
Definition: types.hpp:246
A BSON UTF-8 encoded string value.
Definition: types.hpp:113
Top level namespace for MongoDB C++ BSON functionality.
Definition: element.hpp:24
A BSON document value.
Definition: types.hpp:149
A BSON null value.
Definition: types.hpp:348
A BSON JavaScript code with scope value.
Definition: types.hpp:496
A BSON 64-bit signed integer value.
Definition: types.hpp:580
A BSON binary data value.
Definition: types.hpp:206
A BSON Symbol value.
Definition: types.hpp:460
A BSON DBPointer value.
Definition: types.hpp:402
A BSON regex value.
Definition: types.hpp:364
A BSON max-key value.
Definition: types.hpp:651
A BSON replication timestamp value.
Definition: types.hpp:561
A BSON date value.
Definition: types.hpp:289
A BSON signed 32-bit integer value.
Definition: types.hpp:532
A BSON min-key value.
Definition: types.hpp:635
A variant view type that accesses values in serialized BSON documents.
Definition: element.hpp:76
A BSON JavaScript code value.
Definition: types.hpp:421
A BSON Decimal128 value.
Definition: types.hpp:605
type
An enumeration of each BSON type.
Definition: types.hpp:39
A BSON undefined value.
Definition: types.hpp:230
A variant owning type that represents any BSON type.
Definition: value.hpp:39
A BSON boolean value.
Definition: types.hpp:264
A BSON double value.
Definition: types.hpp:88
A view-only variant that can contain any BSON type.
Definition: view.hpp:44