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

Classes

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_iterator< Cur, S >
 
struct  ranges::v3::basic_mixin< T >
 
struct  ranges::v3::basic_sentinel< S >
 
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, D >
 
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::difference_type< T, Enable >
 
struct  ranges::v3::disable_sized_range< T >
 
struct  ranges::v3::disable_sized_sentinel< S, I >
 
struct  ranges::v3::empty_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_view< T, Enable >
 
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, typename >
 
struct  ranges::v3::iterator_range< I, S >
 
struct  ranges::v3::join_view< Rng, ValRng >
 
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, RValue >
 
struct  ranges::v3::repeat_view< Val >
 
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, Enable >
 
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 >
 
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 = meta::if_< std::is_same< I, S >, I, basic_iterator< detail::common_cursor< 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 I , typename D = meta::_t<difference_type<I>>>
using ranges::v3::counted_iterator = basic_iterator< detail::counted_cursor< I, D >, default_end_cursor >
 
using ranges::v3::default_sentinel = basic_sentinel< default_end_cursor >
 
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 >, default_end_cursor >
 
template<typename I >
using ranges::v3::move_iterator = basic_iterator< detail::move_cursor< I >, default_end_cursor >
 
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< std::result_of< Sig >>
 
template<typename I >
using ranges::v3::reverse_iterator = basic_iterator< detail::reverse_cursor< I >, detail::reverse_cursor< I >>
 
template<typename T >
using ranges::v3::rvalue_reference_wrapper = reference_wrapper< T, true >
 
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 { infinite = -3, unknown = -2, finite = -1, _max_ = INT_MAX }
 

Functions

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