Я ищу решение, чтобы узнать, реализует ли конкретный тип size_type. пока это есть ...
struct foo {
using size_type = int;
};
template<typename T>
struct check_size_type {
static constexpr bool value = true; // something else needs to go here
};
template<typename T>
constexpr bool has_size_type_t = check_size_type<T>::value;
int main(){
static_assert(!has_size_type_t<int>);
static_assert(has_size_type_t<std::vector<int>>);
static_assert(has_size_type_t<foo>);
}