24#ifndef UTILITIES_TYPE_MAP_H
25#define UTILITIES_TYPE_MAP_H
36template <
typename KEY,
typename VALUE,
typename... TAIL>
38 static_assert(
sizeof...(TAIL) % 2 == 0,
"TAIL must be valid map size");
50template <
typename KEY,
typename VALUE,
typename... TAIL>
52 static_assert(
sizeof...(TAIL) % 2 == 0,
"TAIL must be valid map size");
61template <
typename KEYS,
typename VALUES>
66 static_assert(keys_t::size == values_t::size,
67 "Count of keys and values must match");
69 static constexpr unsigned size = keys_t::size;
71 template <
typename KEY>
72 using value =
typename values_t::template get<(keys_t::template index<KEY>())>;
74 template <
template<
typename>
typename F>
79 KEYS::for_each([&](
auto key) {
87template <
typename... KVs>
Top level namespace for all of OpenLB.