MongoDB C++ Driver mongocxx-4.0.0
Loading...
Searching...
No Matches
make_value.hpp
Go to the documentation of this file.
1// Copyright 2009-present MongoDB, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#pragma once
16
20
22
23namespace bsoncxx {
24namespace v_noabi {
25namespace types {
26namespace bson_value {
27
32template <typename T>
34 auto doc = builder::basic::make_document(builder::basic::kvp("v", std::forward<T>(t)));
35 return doc.view()["v"].get_owning_value();
36}
37
38} // namespace bson_value
39} // namespace types
40} // namespace v_noabi
41} // namespace bsoncxx
42
43namespace bsoncxx {
44namespace types {
45namespace bson_value {
46
47using ::bsoncxx::v_noabi::types::bson_value::make_value;
48
49} // namespace bson_value
50} // namespace types
51} // namespace bsoncxx
52
54
59
60#if defined(BSONCXX_PRIVATE_DOXYGEN_PREPROCESSOR)
61
62namespace bsoncxx {
63namespace types {
64namespace bson_value {
65
67template <typename T>
69
70} // namespace bson_value
71} // namespace types
72} // namespace bsoncxx
73
74#endif // defined(BSONCXX_PRIVATE_DOXYGEN_PREPROCESSOR)
Provides bsoncxx::v_noabi::builder::basic::document.
The bsoncxx macro guard postlude header.
The bsoncxx macro guard prelude header.
A variant owning type that represents any BSON type. Owns its underlying buffer. When a bson_value::v...
Definition value.hpp:47
Declares bsoncxx::v_noabi::builder::basic::kvp.
v_noabi::types::bson_value::value make_value(T &&t)
bsoncxx::v_noabi::types::bson_value::make_value
bsoncxx::v_noabi::document::value make_document(Args &&... args)
Creates a document from a list of key-value pairs.
Definition document.hpp:115
std::tuple< T &&, U && > kvp(T &&t, U &&u)
Constructs a key-value pair from a string key and a BSON value.
Definition kvp.hpp:31
bson_value::value make_value(T &&t)
Helper to construct a bson_value::value from a component bson type. The type of the passed-in t can b...
Definition make_value.hpp:33
The top-level namespace within which all bsoncxx library entities are declared.
Provides bsoncxx::v_noabi::types::bson_value::value.