Range-v3
Range algorithms, views, and actions for the Standard Library
 
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;
}
&& 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;
}
Definition meta_fwd.hpp:312
Definition meta_fwd.hpp:280
Definition meta_fwd.hpp:273