Core range functionality.
|
template<typename D > |
using | ranges::v3::adaptor_cursor_t = adaptor_cursor< detail::adapted_iterator_t< D >, detail::begin_adaptor_t< D > > |
|
template<typename D > |
using | ranges::v3::adaptor_sentinel_t = meta::if_< meta::and_< Same< detail::adapted_iterator_t< D >, detail::adapted_sentinel_t< D > >, Same< detail::begin_adaptor_t< D >, detail::end_adaptor_t< D > >>, adaptor_cursor_t< D >, adaptor_sentinel< detail::adapted_sentinel_t< D >, detail::end_adaptor_t< D > >> |
|
template<typename I > |
using | ranges::v3::difference_type_t = concepts::WeaklyIncrementable::difference_t< I > |
|
template<typename I > |
using | ranges::v3::iter_common_reference_t = concepts::Readable::common_reference_t< I > |
|
template<typename I > |
using | ranges::v3::iterator_category_t = concepts::InputIterator::category_t< I > |
|
template<typename Rng > |
using | ranges::v3::iterator_t = concepts::Range::iterator_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_category_t = concepts::InputRange::category_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_common_iterator_t = common_iterator_t< iterator_t< Rng >, sentinel_t< Rng > > |
|
template<typename Rng > |
using | ranges::v3::range_common_reference_t = concepts::InputRange::common_reference_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_difference_type_t = concepts::Range::difference_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_reference_t = concepts::InputRange::reference_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_rvalue_reference_t = concepts::InputRange::rvalue_reference_t< Rng > |
|
template<typename Rng > |
using | ranges::v3::range_size_type_t = meta::_t< std::make_unsigned< range_difference_type_t< Rng > >> |
|
template<typename Rng > |
using | ranges::v3::range_value_type_t = concepts::InputRange::value_t< Rng > |
|
template<typename I > |
using | ranges::v3::reference_t = concepts::Readable::reference_t< I > |
|
template<typename I > |
using | ranges::v3::rvalue_reference_t = concepts::Readable::rvalue_reference_t< I > |
|
template<typename Rng > |
using | ranges::v3::safe_iterator_t = meta::if_< std::is_lvalue_reference< Rng >, meta::if_< Range< Rng >, iterator_t< Rng > >, dangling< iterator_t< Rng > >> |
|
template<typename Rng > |
using | ranges::v3::sentinel_t = concepts::Range::sentinel_t< Rng > |
|
template<typename I > |
using | ranges::v3::size_type_t = meta::_t< std::make_unsigned< difference_type_t< I > >> |
|
template<typename I > |
using | ranges::v3::value_type_t = concepts::Readable::value_t< I > |
|
|
template<std::size_t N, typename I , typename S , requires = (N < 2)> |
constexpr auto | ranges::v3::get (sized_iterator_range< I, S > const &p) -> decltype(ranges::get< N >(static_cast< iterator_range< I, S > const &>(p))) |
| Tuple-like access for sized_iterator_range
|
|
template<typename Val > |
istream_range< Val > | ranges::v3::istream (std::istream &sin) |
|
template<template< typename... > class ContT> |
detail::to_container_fn< meta::quote< ContT > > | ranges::v3::to_ () |
| For initializing a container of the specified type with the elements of an Range.
|
|
template<template< typename... > class ContT, typename Rng , typename Cont = meta::invoke<meta::quote<ContT>, range_value_type_t<Rng>>, requires = (Range<Rng>() && detail::ConvertibleToContainer<Rng, Cont>())> |
Cont | ranges::v3::to_ (Rng &&rng) |
|
template<template< typename... > class ContT, typename T , typename Cont = meta::invoke<meta::quote<ContT>, T>, requires = (detail::ConvertibleToContainer<std::initializer_list<T>, Cont>())> |
Cont | ranges::v3::to_ (std::initializer_list< T > list) |
|
template<typename Cont , typename Rng , requires = (Range<Rng>() && detail::ConvertibleToContainer<Rng, Cont>())> |
Cont | ranges::v3::to_ (Rng &&rng) |
|
template<typename Cont , typename T , requires = (detail::ConvertibleToContainer<std::initializer_list<T>, Cont>())> |
Cont | ranges::v3::to_ (std::initializer_list< T > list) |
|
template<template< typename... > class ContT, typename Rng , typename Cont = meta::invoke<meta::quote<ContT>, range_value_type_t<Rng>>, requires = (Range<Rng>() && detail::ConvertibleToContainer<Rng, Cont>())>
Cont ranges::v3::to_ |
( |
Rng && |
rng | ) |
|
#include <range/v3/to_container.hpp>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<template< typename... > class ContT, typename T , typename Cont = meta::invoke<meta::quote<ContT>, T>, requires = (detail::ConvertibleToContainer<std::initializer_list<T>, Cont>())>
Cont ranges::v3::to_ |
( |
std::initializer_list< T > |
list | ) |
|
#include <range/v3/to_container.hpp>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<typename Cont , typename Rng , requires = (Range<Rng>() && detail::ConvertibleToContainer<Rng, Cont>())>
Cont ranges::v3::to_ |
( |
Rng && |
rng | ) |
|
#include <range/v3/to_container.hpp>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
template<typename Cont , typename T , requires = (detail::ConvertibleToContainer<std::initializer_list<T>, Cont>())>
Cont ranges::v3::to_ |
( |
std::initializer_list< T > |
list | ) |
|
#include <range/v3/to_container.hpp>
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.