19 #include <type_traits>
21 #include <bsoncxx/types.hpp>
23 #include <bsoncxx/config/prelude.hpp>
26 BSONCXX_INLINE_NAMESPACE_BEGIN
156 friend BSONCXX_API
bool BSONCXX_CALL operator==(
const value&,
const value&);
157 friend BSONCXX_API
bool BSONCXX_CALL operator!=(
const value&,
const value&);
165 bsoncxx::type type()
const;
183 const b_utf8& get_utf8()
const;
201 const b_array& get_array()
const;
228 const b_oid& get_oid()
const;
237 const b_bool& get_bool()
const;
246 const b_date& get_date()
const;
255 const b_null& get_null()
const;
264 const b_regex& get_regex()
const;
282 const b_code& get_code()
const;
309 const b_int32& get_int32()
const;
327 const b_int64& get_int64()
const;
357 void BSONCXX_PRIVATE destroy() noexcept;
387 template <
typename T>
389 typename std::enable_if<!std::is_same<typename std::remove_reference<T>::type,
value>
::value,
393 template <
typename T>
394 BSONCXX_INLINE not_value<T> operator==(
const value& lhs, T&& rhs) {
395 return lhs ==
value{std::forward<T>(rhs)};
398 template <
typename T>
399 BSONCXX_INLINE not_value<T> operator==(T&& lhs,
const value& rhs) {
400 return value{std::forward<T>(lhs)} == rhs;
403 template <
typename T>
404 BSONCXX_INLINE not_value<T> operator!=(
const value& lhs, T&& rhs) {
405 return lhs != value{std::forward<T>(rhs)};
408 template <
typename T>
409 BSONCXX_INLINE not_value<T> operator!=(T&& lhs,
const value& rhs) {
410 return value{std::forward<T>(lhs)} != rhs;
415 BSONCXX_INLINE_NAMESPACE_END
418 #include <bsoncxx/config/postlude.hpp>
A BSON signed 32-bit integer value.
Definition: types.hpp:532
A BSON double value.
Definition: types.hpp:85
A BSON Symbol value.
Definition: types.hpp:461
A BSON null value.
Definition: types.hpp:349
A BSON regex value.
Definition: types.hpp:365
A BSON binary data value.
Definition: types.hpp:205
A BSON DBPointer value.
Definition: types.hpp:401
A BSON max-key value.
Definition: types.hpp:652
A BSON UTF-8 encoded string value.
Definition: types.hpp:110
A BSON date value.
Definition: types.hpp:288
A BSON min-key value.
Definition: types.hpp:636
A BSON JavaScript code value.
Definition: types.hpp:420
A BSON JavaScript code with scope value.
Definition: types.hpp:499
A BSON 64-bit signed integer value.
Definition: types.hpp:580
A BSON replication timestamp value.
Definition: types.hpp:561
A BSON document value.
Definition: types.hpp:148
A BSON boolean value.
Definition: types.hpp:263
A BSON ObjectId value.
Definition: types.hpp:245
Definition: element.hpp:24
A BSON undefined value.
Definition: types.hpp:229
A BSON array value.
Definition: types.hpp:180
A variant that can contain any BSON type.
Definition: value.hpp:37
A BSON Decimal128 value.
Definition: types.hpp:605