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,
To
<
formats
::
json
::Value>) {
19
return
boost::apply_visitor(
20
[](
const
auto
& item) {
return
formats
::
json
::ValueBuilder(item)
.
ExtractValue
(
)
; }, value
21
);
22
}
23
24
}
// namespace formats::serialize
25
26
USERVER_NAMESPACE_END
userver
formats
json
serialize_boost_variant.hpp
Generated on Wed Dec 4 2024 18:50:03 for userver by
Doxygen
1.10.0