userver
C++ Async Framework
Toggle main menu visibility
Documentation
API Groups
Namespaces
Reference
Class List
Class Index
File List
Macros
All
e
i
l
r
t
u
Functions
Macros
e
i
l
r
t
u
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
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 Jul 23 2025 15:15:56 for userver by
Doxygen
1.9.8