Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::concepts::Relation Struct Reference
+ Inheritance diagram for ranges::v3::concepts::Relation:

Public Member Functions

template<typename Fun , typename T >
auto requires_ (Fun &&, T &&) -> decltype( concepts::valid_expr( concepts::model_of< Predicate >(val< Fun >(), val< T >(), val< T >()) ))
 
template<typename Fun , typename T , typename U , meta::if_< std::is_same< T, U >, int > = 0>
auto requires_ (Fun &&, T &&, T &&) -> decltype( concepts::valid_expr( concepts::model_of< Predicate >(val< Fun >(), val< T >(), val< U >()) ))
 
template<typename Fun , typename T , typename U , meta::if_c<!std::is_same< T, U >::value, int > = 0, typename C = CommonReference::reference_t<T const &, U const &>>
auto requires_ (Fun &&, T &&, U &&) -> decltype( concepts::valid_expr( concepts::model_of< Relation, Fun, T, T >(), concepts::model_of< Relation, Fun, U, U >(), concepts::model_of< CommonReference, T const &, U const & >(), concepts::model_of< Relation, Fun, C, C >(), concepts::model_of< Predicate, Fun, T, U >(), concepts::model_of< Predicate, Fun, U, T >() ))
 
- Public Member Functions inherited from ranges::v3::concepts::refines< RegularFunction >
void requires_ (Ts &&...)
 

Additional Inherited Members

- Public Types inherited from ranges::v3::concepts::refines< RegularFunction >
using base_concepts_t = meta::list< Concepts... >