Core range functionality.
More...
|
| template<typename Rng > |
| using | ranges::iterator_t = decltype(begin(declval(Rng &))) |
| |
|
template<typename I , typename S > |
| using | ranges::common_iterator_t = meta::conditional_t< std::is_same< I, S >::value, I, detail::common_iterator_impl_t< I, S > > |
| |
|
template<typename Rng > |
| using | ranges::range_difference_t = iter_difference_t< iterator_t< Rng > > |
| |
|
template<typename Rng > |
| using | ranges::range_value_t = iter_value_t< iterator_t< Rng > > |
| |
|
template<typename Rng > |
| using | ranges::range_reference_t = iter_reference_t< iterator_t< Rng > > |
| |
|
template<typename Rng > |
| using | ranges::range_rvalue_reference_t = iter_rvalue_reference_t< iterator_t< Rng > > |
| |
|
template<typename Rng > |
| using | ranges::range_common_reference_t = iter_common_reference_t< iterator_t< Rng > > |
| |
|
template<typename Rng > |
| using | ranges::range_size_t = decltype(ranges::size(std::declval< Rng & >())) |
| |
|
template<typename Rng > |
| using | ranges::range_common_iterator_t = common_iterator_t< iterator_t< Rng >, sentinel_t< Rng > > |
| |
|
|
| ranges::template (typename T)(concept(container_)(T) |
| |
|
template<typename C > |
| | ranges::CPP_requires (reservable_, requires(C &c, C const &cc)(c.reserve(ranges::size(c)), cc.capacity(), cc.max_size(), concepts::requires_< same_as< decltype(cc.capacity()), decltype(ranges::size(c))> >, concepts::requires_< same_as< decltype(cc.max_size()), decltype(ranges::size(c))> >)) |
| |
|
template<typename C , typename I > |
| | ranges::CPP_requires (reservable_with_assign_, requires(C &c, I i)(c.assign(i, i))) |
| |
|
template<typename Rng , typename I , typename S > |
| | ranges::CPP_requires (erasable_range_, requires(Rng &&rng, I first, S last)(ranges::erase((Rng &&) rng, first, last))) |
| |
|
| ranges::RANGES_INLINE_VARIABLE (detail::to_container_fn< detail::from_range< std::vector > >, to_vector) template< template< typename... > class ContT > auto to(RANGES_HIDDEN_DETAIL(detail |
| | For initializing a container of the specified type with the elements of an Range.
|
| |
Core range functionality.
◆ iterator_t
- Parameters
-
- Returns
r, if r is an array. Otherwise, r.begin() if that expression is well-formed and returns an input_or_output_iterator. Otherwise, begin(r) if that expression returns an input_or_output_iterator.
- Parameters
-
- Returns
r+size(r), if r is an array. Otherwise, r.end() if that expression is well-formed and returns an input_or_output_iterator. Otherwise, end(r) if that expression returns an input_or_output_iterator.
- Parameters
-
- Returns
- The result of calling
ranges::begin with a const-qualified reference to r.
- Parameters
-
- Returns
- The result of calling
ranges::end with a const-qualified reference to r.
- Parameters
-
- Returns
make_reverse_iterator(r + ranges::size(r)) if r is an array. Otherwise, r.rbegin() if that expression is well-formed and returns an input_or_output_iterator. Otherwise, make_reverse_iterator(ranges::end(r)) if ranges::begin(r) and ranges::end(r) are both well-formed and have the same type that satisfies bidirectional_iterator.
- Parameters
-
- Returns
make_reverse_iterator(r) if r is an array. Otherwise, r.rend() if that expression is well-formed and returns a type that satisfies sentinel_for<S, I> where I is the type of ranges::rbegin(r). Otherwise, make_reverse_iterator(ranges::begin(r)) if ranges::begin(r) and ranges::end(r) are both well-formed and have the same type that satisfies bidirectional_iterator.
- Parameters
-
- Returns
- The result of calling
ranges::rbegin with a const-qualified reference to r.
- Parameters
-
- Returns
- The result of calling
ranges::rend with a const-qualified reference to r.
◆ container
Initial value:=
The container_ concept std::vector is a container, std::array is not.
The semi_container concept std::array is a semi_container, native arrays are not.
◆ erasable_range
template<typename Rng , typename I , typename S >
Initial value:=
The erasable_range_ concept.
◆ lvalue_container_like
Initial value:=
The forward_range concept.
The lvalue_container_like_ concept.
◆ random_access_reservable
Initial value:=
The random_access_range concept.
◆ reservable
◆ reservable_with_assign
template<typename C , typename I >
Initial value:=
The reservable_with_assign_ concept.
◆ semi_container
Initial value:=
movable<uncvref_t<T>> &&