MongoDB C++ Driver mongocxx-3.10.1
Loading...
Searching...
No Matches
make_value.hpp
1// Copyright 2020 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
23namespace bsoncxx {
24namespace v_noabi {
25namespace types {
26namespace bson_value {
27
32template <typename T>
33BSONCXX_INLINE 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
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
53#include <bsoncxx/config/postlude.hpp>
The top-level namespace for bsoncxx library entities.
Definition element-fwd.hpp:19