Loading...
Searching...
No Matches
meta::integral Concept Reference

## Concept definition

template<typename T>
concept meta::integral = requires
{
typename T::type;
typename T::value_type;
typename T::type::value_type;
}
&& same_as<typename T::value_type, typename T::type::value_type>
&& std::is_integral<typename T::value_type>::value
&& requires
{
T::value;
requires same_as<decltype(T::value), const typename T::value_type>;
typename detail::require_constant<decltype(T::value), T::value>;
T::type::value;
requires same_as<decltype(T::type::value), const typename T::value_type>;
typename detail::require_constant<decltype(T::type::value), T::type::value>;
requires T::value == T::type::value;
T{}();
requires same_as<decltype(T{}()), typename T::value_type>;
typename detail::require_constant<decltype(T{}()), T{}()>;
requires T{}() == T::value;
}
meta::integral
Definition meta_fwd.hpp:312
meta::same_as
Definition meta_fwd.hpp:280
meta::detail::require_constant
Definition meta_fwd.hpp:273