39 std::array<einhard::Logger<>, std::tuple_size<LogArea::AreaTuple>::value>
logg;
51 template <
int index,
int stop = 0>
52 constexpr
typename std::enable_if<(index == stop),
int>::type
54 using LogAreaTag =
typename std::remove_reference<decltype(
55 std::get<index>(std::declval<LogArea::AreaTuple &>()))>::type;
56 return LogAreaTag::textual_length();
70 template <
int index,
int stop = 0,
int mid = (index + stop) / 2>
71 constexpr
typename std::enable_if<(index > stop),
int>::type
73 return find_longest_logger_name<index, mid + 1>() >
74 find_longest_logger_name<mid, stop>()
75 ? find_longest_logger_name<index, mid + 1>()
76 : find_longest_logger_name<mid, stop>();
84 template <std::
size_t index,
int>
100 template <std::size_t index,
104 using LogAreaTag =
typename std::remove_reference<decltype(
105 std::get<index - 1>(std::declval<LogArea::AreaTuple &>()))>::type;
106 static_assert(LogAreaTag::id == index - 1,
107 "The order of types in LogArea::AreaTuple does not match the "
108 "id values in the LogArea types. Please fix! (see top of "
109 "'include/logging.h')");
110 auto &logger =
logg[LogAreaTag::id];
112 logger.setAreaName(tmp);
119 create_all_loggers_impl<std::tuple_size<LogArea::AreaTuple>::value>(config);