userver: userver/dump/protobuf.hpp Source File
Loading...
Searching...
No Matches
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
14USERVER_NAMESPACE_BEGIN
15
16namespace dump {
17
18namespace impl {
19
20void WriteProtoMessageToDump(Writer& writer, const google::protobuf::MessageLite& message);
21
22void ParseProtoMessageFromDump(Reader& reader, google::protobuf::MessageLite& message);
23
24} // namespace impl
25
26/// @brief Protobuf message dumping support
27template <typename T>
29 impl::WriteProtoMessageToDump(writer, value);
30}
31
32/// @brief Protobuf message dumping support
33template <typename T>
35 T value;
36 impl::ParseProtoMessageFromDump(reader, value);
37 return value;
38}
39
40} // namespace dump
41
42USERVER_NAMESPACE_END