template<class T>
concept integral-constant-like = // exposition only
is_integral_v<decltype(T::value)> &&
!is_same_v<bool, remove_const_t<decltype(T::value)>> &&
convertible_to<T, decltype(T::value)> &&
equality_comparable_with<T, decltype(T::value)> &&
bool_constant<T() == T::value>::value &&
bool_constant<static_cast<decltype(T::value)>(T()) == T::value>::value;
概要
integral-constant-like
は、型T
が整数定数型std::integral_constant
と互換があることを表す説明専用コンセプトである。
バージョン
言語
- C++26