40 template <
typename... T>
struct _or;
41 template <
typename T0,
typename... T>
struct _or<T0, T...> : std::integral_constant<bool, T0::value || _or<T...>::value> {};
42 template <>
struct _or<> : std::false_type {};
48 template <
typename... T>
struct _and;
49 template <
typename T0,
typename... T>
struct _and<T0, T...> : std::integral_constant<bool, T0::value && _and<T...>::value> {};
50 template <>
struct _and<> : std::true_type {};
56 template <
bool B>
using bool_constant = std::integral_constant<bool, B>;
63 template <
typename T>
struct remove_cv_ref : std::remove_cv<std::remove_reference_t<T>> {};
74 template <
typename T>
struct is_view : std::is_base_of<is_view_tag, T> {};
std::integral_constant< bool, B > bool_constant
Alias for std::integral_constant<bool, B>.
Boolean AND fold over a parameter pack of integral_constant-like traits.
Boolean OR fold over a parameter pack of integral_constant-like traits.
Empty tag inherited by every view type in TRIQS. See also is_view.
Trait that detects view types by checking for inheritance from is_view_tag.
Strip cv- and reference-qualifiers from a type.