userver
C++ Async Framework
Loading...
Searching...
No Matches
serialize_boost_variant.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/formats/json/serialize_boost_variant.hpp
4
/// @brief Serializers for boost::variant types.
5
/// @ingroup userver_universal userver_formats_serialize
6
7
#
include
<
boost
/
variant
/
apply_visitor
.
hpp
>
8
#
include
<
boost
/
variant
/
variant
.
hpp
>
9
10
#
include
<
userver
/
formats
/
json
/
value_builder
.
hpp
>
11
#
include
<
userver
/
formats
/
serialize
/
to
.
hpp
>
12
13
USERVER_NAMESPACE_BEGIN
14
15
namespace
formats::
serialize
{
16
17
template
<
typename
... Types>
18
formats::
json
::Value Serialize(
const
boost::variant<Types...>& value,
19
To
<formats::
json
::Value>) {
20
return
boost::apply_visitor(
21
[](
const
auto
& item) {
22
return
formats::
json
::ValueBuilder(item)
.
ExtractValue
(
)
;
23
},
24
value);
25
}
26
27
}
// namespace formats::serialize
28
29
USERVER_NAMESPACE_END
userver
formats
json
serialize_boost_variant.hpp
Generated on Wed Sep 18 2024 17:04:37 for userver by
Doxygen
1.10.0