userver: userver/logging/log_helper_extras.hpp Source File
Loading...
Searching...
No Matches
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