AB
Size: a a a
AB
NP
AB
AB
AB
AB
NP
AB
NP
NP
AB
template <typename T, enable_if_t<has_value_type_v<T>, int> = 0>
Foo(T) -> Foo<typename T::value_type>;
template <typename T, enable_if_t<!has_value_type_v<decay_t<T>, int> = 0>
Foo(T&&) -> чтототам_с_invoke;
AB
AB
NP
template <typename T, enable_if_t<has_value_type_v<T>, int> = 0>
Foo(T) -> Foo<typename T::value_type>;
template <typename T, enable_if_t<!has_value_type_v<decay_t<T>, int> = 0>
Foo(T&&) -> чтототам_с_invoke;
AB
NP
NP
NP
NP
NP