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
variant.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/formats/serialize/variant.hpp
4
/// @brief Serializers for std::variant
5
/// @ingroup userver_universal userver_formats_serialize
6
7
#
include
<
variant
>
8
9
#
include
<
userver
/
formats
/
serialize
/
to
.
hpp
>
10
11
USERVER_NAMESPACE_BEGIN
12
13
namespace
formats
::
serialize
{
14
15
template
<
typename
Value,
typename
... Types>
16
Value Serialize(
const
std::variant<Types...>& value,
To
<Value>) {
17
return
std::visit([](
const
auto
& item) {
return
typename
Value::Builder(item).ExtractValue(); }, value);
18
}
19
20
}
// namespace formats::serialize
21
22
USERVER_NAMESPACE_END
userver
formats
serialize
variant.hpp
Generated on Fri Apr 11 2025 14:25:33 for userver by
Doxygen
1.13.2