21#include <bsoncxx/document/view.hpp>
22#include <bsoncxx/array/element.hpp>
24#include <bsoncxx/config/prelude.hpp>
27BSONCXX_INLINE_NAMESPACE_BEGIN
97 view(
const std::uint8_t* data, std::size_t length);
104 const std::uint8_t*
data()
const;
149class BSONCXX_API
view::
iterator :
public std::iterator<std::forward_iterator_tag, element> {
154 reference operator*();
155 pointer operator->();
184 :
public std::iterator<std::forward_iterator_tag, element, std::ptrdiff_t, const element*,
190 reference operator*();
191 pointer operator->();
214BSONCXX_INLINE_NAMESPACE_END
217#include <bsoncxx/config/postlude.hpp>
A variant view type that accesses values in serialized BSON arrays.
Definition element.hpp:36
A const iterator over the contents of an array view.
Definition view.hpp:185
friend bool operator!=(const const_iterator &, const const_iterator &)
Compare two const_iterators for (in)-equality.
friend bool operator==(const const_iterator &, const const_iterator &)
Compare two const_iterators for (in)-equality.
A mutable iterator over the contents of an array view.
Definition view.hpp:149
friend bool operator!=(const iterator &, const iterator &)
Compare two iterators for (in)-equality.
friend bool operator==(const iterator &, const iterator &)
Compare two iterators for (in)-equality.
A read-only, non-owning view of a BSON document.
Definition view.hpp:33
const_iterator cend() const
friend bool operator==(view, view)
Compare two views for (in)-equality.
const_iterator cbegin() const
const std::uint8_t * data() const
Access the raw bytes of the underlying array.
bool empty() const
Checks if the underlying buffer is empty, i.e.
iterator find(std::uint32_t i) const
Indexes into this BSON array.
view(const std::uint8_t *data, std::size_t length)
Constructs a view from a buffer.
view()
Default constructs a view.
std::size_t length() const
Gets the length of the underlying buffer.
friend bool operator!=(view, view)
Compare two views for (in)-equality.
element operator[](std::uint32_t i) const
Indexes into this BSON array.
A read-only, non-owning view of a BSON document.
Definition view.hpp:33