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

Classes

struct  ranges::v3::_counted_iterator_::counted_iterator< I, typename >
 
struct  ranges::v3::action::action< Action >
 
struct  ranges::v3::adjacent_filter_view< Rng, Pred >
 
struct  ranges::v3::adjacent_remove_if_view< Rng, Pred >
 
struct  ranges::v3::basic_common_reference< T, U, TQual, UQual >
 Users can specialize this to hook the CommonReference concept. More...
 
struct  ranges::v3::basic_mixin< T >
 
struct  ranges::v3::basic_view< cardinality >
 
struct  ranges::v3::begin_tag
 
struct  ranges::v3::bind_element< T >
 
struct  ranges::v3::bounded_view< Rng >
 
struct  ranges::v3::closed_iota_view< From, To >
 An iota view in a closed range with non-random access iota value type. More...
 
struct  ranges::v3::common_reference< Ts >
 Users can specialize this to hook the CommonReference concept. More...
 
struct  ranges::v3::common_type< Ts >
 Users should specialize this to hook the Common concept until std gets a SFINAE-friendly std::common_type and there's some sane way to deal with cv and ref qualifiers. More...
 
struct  ranges::v3::composed< Second, First >
 
struct  ranges::v3::compressed_pair< First, Second >
 
struct  ranges::v3::concat_view< Rngs >
 
struct  ranges::v3::concepts::models< Concept, Ts >
 
struct  ranges::v3::const_view< Rng >
 
struct  ranges::v3::copy_tag
 
struct  ranges::v3::counted_view< I >
 
struct  ranges::v3::cycled_view< Rng >
 
struct  ranges::v3::dangling< I >
 A wrapper for an iterator or a sentinel into a range that may no longer be valid. More...
 
struct  ranges::v3::default_sentinel
 
struct  ranges::v3::difference_type< T >
 
struct  ranges::v3::disable_sized_range< T >
 
struct  ranges::v3::disable_sized_sentinel< S, I >
 
struct  ranges::v3::empty_view< T >
 
struct  ranges::v3::enable_view< T >
 
struct  ranges::v3::end_tag
 
struct  ranges::v3::filter_view< Rng, Pred >
 
struct  ranges::v3::group_by_view< Rng, Fun >
 
struct  ranges::v3::indirect_view< Rng >
 
struct  ranges::v3::iota_view< From, To >
 
struct  ranges::v3::is_reference_wrapper< T >
 
struct  ranges::v3::istream_range< Val >
 
struct  ranges::v3::iter_take_while_view< Rng, Pred >
 
struct  ranges::v3::iter_transform_view< Rng, Fun >
 
struct  ranges::v3::iter_zip_with_view< Fun, Rngs >
 
struct  ranges::v3::iterator_category< T >
 
struct  ranges::v3::iterator_range< I, S >
 
struct  ranges::v3::join_view< Rng, ValRng >
 
struct  ranges::v3::move_iterator< I >
 
struct  ranges::v3::move_tag
 
struct  ranges::v3::move_view< Rng >
 
struct  ranges::v3::overloaded< Fns >
 
struct  ranges::v3::partial_sum_view< Rng, Fun >
 
struct  ranges::v3::pipeable< Derived >
 
struct  ranges::v3::range_cardinality< Rng, Void >
 
struct  ranges::v3::reference_wrapper< T >
 
struct  ranges::v3::repeat_view< Val >
 
struct  ranges::v3::result_of< Sig, Enable >
 
struct  ranges::v3::reverse_view< Rng >
 
struct  ranges::v3::single_view< Val >
 
struct  ranges::v3::size_type< T >
 
struct  ranges::v3::sized_iterator_range< I, S >
 
struct  ranges::v3::slice_view< Rng >
 
struct  ranges::v3::split_view< Rng, Fun >
 
struct  ranges::v3::stride_view< Rng >
 
struct  ranges::v3::take_view< Rng >
 
struct  ranges::v3::take_while_view< Rng, Pred >
 
struct  ranges::v3::tokenize_view< Rng, Regex, SubMatchRange >
 
struct  ranges::v3::transform_view< Rng, Fun >
 
struct  ranges::v3::unbounded_view< I >
 
struct  ranges::v3::value_type< T >
 
struct  ranges::v3::variant<... >
 
struct  ranges::v3::view::view< View >
 
struct  ranges::v3::view_adaptor< Derived, BaseRng, Cardinality >
 
struct  ranges::v3::view_base
 
struct  ranges::v3::view_facade< Derived, Cardinality >
 A utility for constructing a view from a (derived) type that implements begin and end cursors. More...
 
struct  ranges::v3::view_interface< Derived, Cardinality >
 
struct  ranges::v3::zip_view< Rngs >
 
struct  ranges::v3::zip_with_view< Fun, Rngs >
 

Typedefs

template<typename T >
using ranges::v3::bind_element_t = meta::_t< bind_element< T > >
 
template<typename I , typename S >
using ranges::v3::common_iterator_t = meta::if_< std::is_same< I, S >, I, common_iterator< I, S > >
 
template<typename ... Ts>
using ranges::v3::common_reference_t = meta::_t< common_reference< Ts... > >
 
template<typename ... Ts>
using ranges::v3::common_type_t = meta::_t< common_type< Ts... > >
 
template<typename Rng >
using ranges::v3::is_finite = meta::bool_< range_cardinality< Rng >::value >=finite >
 
template<typename Rng >
using ranges::v3::is_infinite = meta::bool_< range_cardinality< Rng >::value==infinite >
 
template<typename Rng >
using ranges::v3::keys_range_view = transform_view< Rng, detail::get_first >
 
template<typename I >
using ranges::v3::move_into_iterator = basic_iterator< detail::move_into_cursor< I > >
 
template<typename Rng , typename Pred , typename Val >
using ranges::v3::replace_if_view = iter_transform_view< Rng, detail::replacer_if_fn< Pred, Val > >
 
template<typename Rng , typename Val1 , typename Val2 >
using ranges::v3::replace_view = iter_transform_view< Rng, detail::replacer_fn< Val1, Val2 > >
 
template<typename Sig >
using ranges::v3::result_of_t = meta::_t< result_of< Sig > >
 
template<typename I >
using ranges::v3::reverse_iterator = basic_iterator< detail::reverse_cursor< I > >
 
template<typename Rng >
using ranges::v3::take_exactly_view = detail::take_exactly_view_< Rng >
 
template<typename T >
using ranges::v3::uncvref_t = meta::_t< std::remove_cv< meta::_t< std::remove_reference< T > >> >
 
template<typename Rng >
using ranges::v3::unique_view = adjacent_filter_view< Rng, not_equal_to >
 
template<typename Rng >
using ranges::v3::values_view = transform_view< Rng, detail::get_second >
 

Enumerations

enum  cardinality : std::ptrdiff_t { infinite = -3, unknown = -2, finite = -1 }
 

Functions

template<typename T >
istream_range< T > ranges::v3::istream (std::istream &sin)