68 detail::requires_not_t<base, detail::is_invocable<T, single_context>>
70 _core->
append(std::forward<T>(t));
82 detail::requires_t<base, detail::is_invocable<T, single_context>>
84 detail::invoke(std::forward<T>(func), *
this);
93 key_context<base>
operator<<(
const open_document_type) {
95 return wrap_document();
103 array_context<base>
operator<<(
const open_array_type) {
114 operator single_context();
116#if !defined(_MSC_VER) && !defined(__INTEL_COMPILER)
119 std::is_same<value_context, decltype(std::declval<value_context>() << 1 <<
"str")>::value,
120 "value_context must be templatized on a key_context");
128 array_context<base> wrap_array() {
129 return array_context<base>(_core);
132 key_context<base> wrap_document() {
133 return key_context<base>(_core);
Provides bsoncxx::v_noabi::builder::stream::array_context.
The bsoncxx macro guard postlude header.
A stream context which expects a value, which can later be followed by more key/value pairs.
Definition value_context.hpp:50
detail::requires_not_t< base, detail::is_invocable< T, single_context > > operator<<(T &&t)
<< operator for accepting a real value and appending it to the core builder.
Definition value_context.hpp:69
value_context(core *core)
Create a value_context given a core builder.
Definition value_context.hpp:58
Provides bsoncxx::v_noabi::builder::stream::closed_context.
Declares bsoncxx::v_noabi::builder::stream::value_context.