userver: userver/logging/log_helper_extras.hpp Source File
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
log_helper_extras.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/logging/log_helper_extras.hpp
4/// @brief Logging for less popular types from std and boost
5
6#include <tuple>
7
8#include <userver/logging/log_helper.hpp>
9
10USERVER_NAMESPACE_BEGIN
11
12namespace logging {
13
14template <typename... Types>
15LogHelper& operator<<(LogHelper& lh, const std::tuple<Types...>& value) {
16 lh << "(";
17 if constexpr (sizeof...(Types) != 0) {
18 lh << std::get<0>(value);
19 if constexpr (sizeof...(Types) > 1) {
20 std::apply([&lh](auto&&, auto&&... v) { ((lh << ", " << v), ...); },
21 value);
22 }
23 }
24 lh << ")";
25 return lh;
26}
27
28} // namespace logging
29
30USERVER_NAMESPACE_END