31detail::requires_t<void, detail::is_invocable<T, sub_document>> generic_append(core* core, T&& func) {
32 core->open_document();
33 detail::invoke(std::forward<T>(func), sub_document{core});
34 core->close_document();
37template <
typename T,
typename Placeholder =
void>
38detail::requires_t<void, detail::is_invocable<T, sub_array>> generic_append(core* core, T&& func) {
40 detail::invoke(std::forward<T>(func), sub_array{core});
45detail::requires_t<void, detail::is_invocable<T, sub_binary>> generic_append(core* core, T&& func) {
47 detail::invoke(std::forward<T>(func), sub_binary{core});
51template <
typename T,
typename =
void,
typename =
void>
52detail::requires_not_t<
54 detail::is_invocable<T, sub_document>,
55 detail::is_invocable<T, sub_array>,
56 detail::is_invocable<T, sub_binary>>
57generic_append(core* core, T&& t) {
58 core->append(std::forward<T>(t));
62void value_append(core* core, T&& t) {
63 generic_append(core, std::forward<T>(t));
The bsoncxx v_noabi macro guard postlude header.
The bsoncxx v_noabi macro guard prelude header.
Declares entities used with "basic" BSON builder syntax.
Declares entities used to build BSON documents.
Declares entities whose ABI stability is NOT guaranteed.
The top-level namespace within which all bsoncxx library entities are declared.
Provides bsoncxx::v_noabi::builder::basic::sub_array.
Declares bsoncxx::v_noabi::builder::basic::sub_binary.
Provides bsoncxx::v_noabi::builder::basic::sub_document.