MongoDB C++ Driver
mongocxx-3.11.0
Loading...
Searching...
No Matches
bsoncxx
v_noabi
bsoncxx
types
bson_value
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
17
#include <
bsoncxx/builder/basic/document.hpp
>
18
#include <
bsoncxx/builder/basic/kvp.hpp
>
19
#include <
bsoncxx/types/bson_value/value.hpp
>
20
21
#include <
bsoncxx/config/prelude.hpp
>
22
23
namespace
bsoncxx
{
24
namespace
v_noabi {
25
namespace
types {
26
namespace
bson_value {
27
32
template
<
typename
T>
33
bson_value::value
make_value
(T&& 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
43
namespace
bsoncxx
{
44
namespace
types {
45
namespace
bson_value {
46
47
using ::bsoncxx::v_noabi::types::bson_value::make_value;
48
49
}
// namespace bson_value
50
}
// namespace types
51
}
// namespace bsoncxx
52
53
#include <
bsoncxx/config/postlude.hpp
>
54
59
60
#if defined(BSONCXX_PRIVATE_DOXYGEN_PREPROCESSOR)
61
62
namespace
bsoncxx
{
63
namespace
types {
64
namespace
bson_value {
65
67
template
<
typename
T>
68
v_noabi::types::bson_value::value
make_value
(T&& t);
69
70
}
// namespace bson_value
71
}
// namespace types
72
}
// namespace bsoncxx
73
74
#endif
// defined(BSONCXX_PRIVATE_DOXYGEN_PREPROCESSOR)
document.hpp
Provides bsoncxx::v_noabi::builder::basic::document.
postlude.hpp
The bsoncxx macro guard postlude header.
prelude.hpp
The bsoncxx macro guard prelude header.
bsoncxx::v_noabi::types::bson_value::value
A variant owning type that represents any BSON type. Owns its underlying buffer. When a bson_value::v...
Definition
value.hpp:48
kvp.hpp
Declares bsoncxx::v_noabi::builder::basic::kvp.
bsoncxx::types::bson_value::make_value
v_noabi::types::bson_value::value make_value(T &&t)
bsoncxx::v_noabi::types::bson_value::make_value
bsoncxx::v_noabi::builder::basic::make_document
bsoncxx::v_noabi::document::value make_document(Args &&... args)
Creates a document from a list of key-value pairs.
Definition
document.hpp:115
bsoncxx::v_noabi::builder::basic::kvp
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
bsoncxx::v_noabi::types::bson_value::make_value
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
bsoncxx
The top-level namespace within which all bsoncxx library entities are declared.
value.hpp
Provides bsoncxx::v_noabi::types::bson_value::value.
Generated by
1.12.0