userver
C++ Async Framework
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
Toggle main menu visibility
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Concepts
Loading...
Searching...
No Matches
All results
protobuf.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/dump/protobuf.hpp
4
/// @brief Dumping support for protobuf messages
5
///
6
/// @ingroup userver_dump_read_write
7
8
#
include
<
type_traits
>
9
10
#
include
<
google
/
protobuf
/
message_lite
.
h
>
11
12
#
include
<
userver
/
dump
/
fwd
.
hpp
>
13
14
USERVER_NAMESPACE_BEGIN
15
16
namespace
dump
{
17
18
namespace
impl {
19
20
void
WriteProtoMessageToDump(
Writer
& writer,
const
google::protobuf::MessageLite& message);
21
22
void
ParseProtoMessageFromDump(
Reader
& reader, google::protobuf::MessageLite& message);
23
24
}
// namespace impl
25
26
/// @brief Protobuf message dumping support
27
template
<
typename
T>
28
std::enable_if_t<std::is_base_of_v<google::protobuf::MessageLite, T>>
Write
(
Writer
& writer,
const
T& value) {
29
impl::WriteProtoMessageToDump(writer, value);
30
}
28
std::enable_if_t<std::is_base_of_v<google::protobuf::MessageLite, T>>
Write
(
Writer
& writer,
const
T& value) {
…
}
31
32
/// @brief Protobuf message dumping support
33
template
<
typename
T>
34
std::enable_if_t<std::is_base_of_v<google::protobuf::MessageLite, T>, T>
Read
(
Reader
& reader,
To
<T>) {
35
T value;
36
impl::ParseProtoMessageFromDump(reader, value);
37
return
value;
38
}
34
std::enable_if_t<std::is_base_of_v<google::protobuf::MessageLite, T>, T>
Read
(
Reader
& reader,
To
<T>) {
…
}
39
40
}
// namespace dump
41
42
USERVER_NAMESPACE_END
Docs version:
v1.0
,
v2.0
,
trunk/develop
userver
dump
protobuf.hpp
Generated on Wed Apr 30 2025 15:55:46 for userver by
Doxygen
1.13.2