AB
template <typename T>
struct wrap_t {
using type = t;
};
Size: a a a
AB
template <typename T>
struct wrap_t {
using type = t;
};
AB
IZ
IZ
IZ
AB
AB
AB
I
AB
AB
AT
struct size_t_tag;
template <>
class Average<size_t_tag> {};
// uint32_t и прочее
template class Average<std::conditional_t<is_one_of_v<size_t, uint32_t, прочие_типы...>, size_t_tag, size_t>;
wrap_t
?AB
wrap_t
?AB
AT
AB
AB
AT
AB
I