20 #include <bsoncxx/array/view.hpp>
21 #include <bsoncxx/document/value.hpp>
23 #include <bsoncxx/config/prelude.hpp>
26 BSONCXX_INLINE_NAMESPACE_BEGIN
36 using deleter_type = void (*)(std::uint8_t*);
37 using unique_ptr_type = std::unique_ptr<uint8_t[], deleter_type>;
51 value(std::uint8_t* data, std::size_t length, deleter_type dtor);
62 value(unique_ptr_type ptr, std::size_t length);
90 BSONCXX_INLINE
operator array::view()
const noexcept;
101 unique_ptr_type release();
104 unique_ptr_type _data;
109 return array::view{
static_cast<uint8_t*
>(_data.get()), _length};
117 BSONCXX_INLINE_NAMESPACE_END
120 #include <bsoncxx/config/postlude.hpp>
A read-only BSON array that owns its underlying buffer.
Definition: value.hpp:34
array::view view() const noexcept
Get a view over the document owned by this value.
Definition: value.hpp:108
A read-only, non-owning view of a BSON document.
Definition: view.hpp:33
Definition: element.hpp:24