19 #include <type_traits> 21 #include <bsoncxx/array/value.hpp> 22 #include <bsoncxx/array/view.hpp> 23 #include <bsoncxx/document/value.hpp> 24 #include <bsoncxx/document/view.hpp> 25 #include <bsoncxx/stdx/string_view.hpp> 26 #include <bsoncxx/types.hpp> 28 #include <bsoncxx/config/prelude.hpp> 31 BSONCXX_INLINE_NAMESPACE_BEGIN
44 class BSONCXX_PRIVATE impl;
52 explicit core(
bool is_array);
55 core& operator=(
core&& rhs) noexcept;
79 core& key_view(stdx::string_view key);
94 core& key_owned(std::string key);
107 core& open_document();
131 core& close_document();
481 core& append(std::string str);
494 core& append(stdx::string_view str);
509 template <
typename T>
511 static_assert(std::is_same<
typename std::remove_const<T>::type,
char>::value,
512 "append is disabled for non-char pointer types");
529 core& append(
bool value);
542 core& append(
double value);
555 core& append(std::int32_t value);
568 core& append(std::int64_t value);
581 core& append(
const oid& value);
691 std::unique_ptr<impl> _impl;
695 BSONCXX_INLINE_NAMESPACE_END
698 #include <bsoncxx/config/postlude.hpp> A low-level interface for constructing BSON documents and arrays.
Definition: core.hpp:42
A BSON signed 32-bit integer value.
Definition: types.hpp:529
A BSON double value.
Definition: types.hpp:85
A BSON Symbol value.
Definition: types.hpp:457
A read-only BSON array that owns its underlying buffer.
Definition: value.hpp:34
Represents a MongoDB ObjectId.
Definition: oid.hpp:38
A read-only BSON document that owns its underlying buffer.
Definition: value.hpp:33
A read-only, non-owning view of a BSON document.
Definition: view.hpp:33
A BSON null value.
Definition: types.hpp:345
A BSON regex value.
Definition: types.hpp:361
A BSON binary data value.
Definition: types.hpp:203
A BSON DBPointer value.
Definition: types.hpp:399
A BSON max-key value.
Definition: types.hpp:648
A BSON UTF-8 encoded string value.
Definition: types.hpp:110
Represents an IEEE 754-2008 BSON Decimal128 value in a platform-independent way.
Definition: decimal128.hpp:30
A BSON date value.
Definition: types.hpp:286
A BSON min-key value.
Definition: types.hpp:632
A read-only, non-owning view of a BSON document.
Definition: view.hpp:33
A BSON JavaScript code value.
Definition: types.hpp:418
A BSON JavaScript code with scope value.
Definition: types.hpp:493
A BSON 64-bit signed integer value.
Definition: types.hpp:577
A BSON replication timestamp value.
Definition: types.hpp:558
A BSON document value.
Definition: types.hpp:146
A BSON boolean value.
Definition: types.hpp:261
A BSON ObjectId value.
Definition: types.hpp:243
Top level namespace for MongoDB C++ BSON functionality.
Definition: element.hpp:24
A BSON undefined value.
Definition: types.hpp:227
A BSON array value.
Definition: types.hpp:178
A variant that can contain any BSON type.
Definition: value.hpp:37
A BSON Decimal128 value.
Definition: types.hpp:602
core & append(T *v)
Appends a char* or const char*.
Definition: core.hpp:510