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), ...); }, value);
21 }
22 }
23 lh << ")";
24 return lh;
25}
26
27} // namespace logging
28
29USERVER_NAMESPACE_END