Range-v3
Range algorithms, views, and actions for the Standard Library
concepts.hpp File Reference

Functions

 ranges::CPP_PP_CAT (CPP_PP_DEF_, template(typename T)) META_CONCEPT CPP_PP_CAT(CPP_PP_DEF_
 Range concepts below. More...
 
 ranges::CPP_PP_CAT (CPP_PP_DEF_, template(typename C)) META_CONCEPT CPP_PP_CAT(CPP_PP_DEF_
 
 ranges::CPP_PP_CAT (CPP_PP_DEF_, template(typename C, typename I)) META_CONCEPT CPP_PP_CAT(CPP_PP_DEF_
 

Variables

concept ranges::container = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( semi_container<T> && constructible_from< uncvref_t<T> )( semi_container<T> && constructible_from< uncvref_t<T>, detail::movable_input_iterator<range_value_t<T>>, detail::movable_input_iterator<range_value_t<T>>> )
 
concept ranges::lvalue_container_like = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( implicitly_convertible_to<detail::is_lvalue_container_like_t<T> )( implicitly_convertible_to<detail::is_lvalue_container_like_t<T>, std::true_type> && forward_range<T> )
 
concept ranges::random_access_reservable = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( reservable<C> && random_access_range<C> )( reservable<C> && random_access_range<C> )
 
concept ranges::reservable = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( requires (C &c, C const &cc, range_size_t<C> s) ( c.reserve(s), cc.capacity(), cc.max_size(), concepts::requires_<same_as<decltype(cc.capacity()), range_size_t<C>>>, concepts::requires_<same_as<decltype(cc.max_size()), range_size_t<C>>> ) && container<C> && sized_range<C> )( requires (C &c, C const &cc, range_size_t<C> s) ( c.reserve(s), cc.capacity(), cc.max_size(), concepts::requires_<same_as<decltype(cc.capacity()), range_size_t<C>>>, concepts::requires_<same_as<decltype(cc.max_size()), range_size_t<C>>> ) && container<C> && sized_range<C> )
 
concept ranges::reservable_with_assign = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( requires (C &c, I i) ( c.assign(i, i) ) && reservable<C> && input_iterator<I> )( requires (C &c, I i) ( c.assign(i, i) ) && reservable<C> && input_iterator<I> )
 
concept ranges::semi_container = CPP_PP_CAT( CPP_PP_DEF_IMPL_IS_PAREN_, 0 )( forward_range<T> && default_constructible<uncvref_t<T>> && movable<uncvref_t<T>> && !view_<T> )( forward_range<T> && default_constructible<uncvref_t<T>> && movable<uncvref_t<T>> && !view_<T> )