Utility classes.
|
struct | ranges::v3::aux::move_fn |
|
struct | ranges::v3::back_insert_iterator< Container > |
|
struct | ranges::v3::back_inserter_fn |
|
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 > |
|
struct | ranges::v3::basic_mixin< T > |
|
struct | ranges::v3::bind_element< T > |
|
struct | ranges::v3::bind_element< reference_wrapper< T > > |
|
struct | ranges::v3::bind_element< std::reference_wrapper< T > > |
|
struct | ranges::v3::bitwise_or |
|
class | ranges::v3::box< Element, Tag, box_compress > |
|
class | ranges::v3::box< Element, Tag, detail::box_compress::coalesce > |
|
class | ranges::v3::box< Element, Tag, detail::box_compress::ebo > |
|
struct | ranges::v3::coerce< T > |
|
struct | ranges::v3::coerce< T & > |
|
struct | ranges::v3::coerce< T && > |
|
struct | ranges::v3::coerce< T const > |
|
struct | ranges::v3::common_reference< Ts > |
| Users can specialize this to hook the CommonReference concept. More...
|
|
struct | ranges::v3::common_reference< T > |
|
struct | ranges::v3::common_reference< T, U > |
|
struct | ranges::v3::common_reference< T, U, Vs... > |
|
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::common_type< T > |
|
struct | ranges::v3::common_type< T, U > |
|
struct | ranges::v3::common_type< T, U, Vs... > |
|
struct | ranges::v3::compose_fn |
|
struct | ranges::v3::composed< Second, First > |
|
struct | ranges::v3::constant< T, v > |
|
struct | ranges::v3::convert_to< T > |
|
struct | ranges::v3::dereference_fn |
|
struct | ranges::v3::equal_to |
|
struct | ranges::v3::front_insert_iterator< Container > |
|
struct | ranges::v3::front_inserter_fn |
|
struct | ranges::v3::get_cursor_fn |
| Get a cursor from a basic_iterator. More...
|
|
struct | ranges::v3::ident |
|
struct | ranges::v3::in_place_t |
|
struct | ranges::v3::indirect_fn |
|
struct | ranges::v3::indirected< Fn > |
|
struct | ranges::v3::insert_iterator< Container > |
|
struct | ranges::v3::inserter_fn |
|
struct | ranges::v3::invoke_fn |
|
struct | ranges::v3::invoke_result< Fun, Args > |
|
struct | ranges::v3::is_indirectly_swappable< T, U > |
|
struct | ranges::v3::is_nothrow_indirectly_swappable< T, U > |
|
struct | ranges::v3::is_nothrow_swappable< T > |
|
struct | ranges::v3::is_nothrow_swappable_with< T, U > |
|
struct | ranges::v3::is_pipeable< T > |
|
struct | ranges::v3::is_pipeable< T & > |
|
struct | ranges::v3::is_reference_wrapper< T > |
|
struct | ranges::v3::is_reference_wrapper< reference_wrapper< T > > |
|
struct | ranges::v3::is_reference_wrapper< std::reference_wrapper< T > > |
|
struct | ranges::v3::is_swappable< T > |
|
struct | ranges::v3::is_swappable_with< T, U > |
|
struct | ranges::v3::iter_distance_compare_fn |
|
struct | ranges::v3::iter_distance_fn |
|
struct | ranges::v3::iter_enumerate_fn |
|
struct | ranges::v3::iter_size_fn |
|
struct | ranges::v3::iterator_category< iterator_wrapper< I > > |
|
struct | ranges::v3::iterator_wrapper< I > |
|
struct | ranges::v3::less |
|
struct | ranges::v3::logical_negate_< FD > |
|
struct | ranges::v3::make_move_iterator_fn |
|
struct | ranges::v3::make_move_sentinel_fn |
|
struct | ranges::v3::make_ostream_joiner_fn |
|
struct | ranges::v3::make_pipeable_fn |
|
struct | ranges::v3::make_reverse_iterator_fn |
|
struct | ranges::v3::make_tuple_fn |
|
struct | ranges::v3::minus |
|
struct | ranges::v3::move_into_fn |
|
struct | ranges::v3::move_iterator< I > |
|
struct | ranges::v3::move_sentinel< S > |
|
struct | ranges::v3::multiplies |
|
struct | ranges::v3::mutable_< T > |
|
struct | ranges::v3::next_fn |
|
struct | ranges::v3::not_equal_to |
|
struct | ranges::v3::not_fn_fn |
|
struct | ranges::v3::on_fn |
|
struct | ranges::v3::ordered_less |
|
struct | ranges::v3::ostream_iterator< T, Char, Traits > |
|
struct | ranges::v3::ostream_joiner< Delim, Char, Traits > |
|
struct | ranges::v3::ostreambuf_iterator< Char, Traits > |
|
struct | ranges::v3::overload_fn |
|
struct | ranges::v3::overloaded< First, Rest... > |
|
struct | ranges::v3::overloaded<> |
|
struct | ranges::v3::pipeable< Derived > |
|
struct | ranges::v3::pipeable_access |
|
struct | ranges::v3::pipeable_base |
|
struct | ranges::v3::plus |
|
struct | ranges::v3::prev_fn |
|
struct | ranges::v3::protect_fn |
|
struct | ranges::v3::raw_buffer< Val > |
|
struct | ranges::v3::raw_storage_iterator< O, Val > |
|
struct | ranges::v3::ref_fn |
|
struct | ranges::v3::reference_wrapper< T > |
|
struct | ranges::v3::result_of< Sig > |
|
struct | ranges::v3::result_of< Fun(Args...)> |
|
struct | ranges::v3::semiregular< T > |
|
struct | ranges::v3::semiregular< T & > |
|
struct | ranges::v3::semiregular< T && > |
|
struct | ranges::v3::static_const< T > |
|
struct | ranges::v3::transformed< Fn1, Fn2 > |
|
struct | ranges::v3::tuple_apply_fn |
|
struct | ranges::v3::tuple_foldl_fn |
|
struct | ranges::v3::tuple_for_each_fn |
|
struct | ranges::v3::tuple_transform_fn |
|
struct | ranges::v3::unreachable |
|
struct | ranges::v3::unwrap_reference_fn |
|
struct | ranges::v3::value_type< iterator_wrapper< I > > |
|
struct | ranges::v3::with_braced_init_args< ImplFn > |
|
|
template<typename T > |
constexpr T * | ranges::v3::_nullptr_v () |
|
template<typename T , typename U = meta::if_< std::is_lvalue_reference<T>, std::reference_wrapper<meta::_t<std::remove_reference<T>>>, T &&>> |
U | ranges::v3::bind_forward (meta::_t< std::remove_reference< T >> &t) noexcept |
|
template<typename T > |
T && | ranges::v3::bind_forward (meta::_t< std::remove_reference< T >> &&t) noexcept |
|
template<typename T > |
T & | ranges::v3::get (meta::id_t< T > &value) |
|
template<typename T > |
T const & | ranges::v3::get (meta::id_t< T > const &value) |
|
template<typename T > |
T && | ranges::v3::get (meta::id_t< T > &&value) |
|
template<typename T > |
auto | ranges::v3::get (meta::id_t< semiregular< T >> &t) noexcept(noexcept(decltype(t.get())(t.get()))) -> decltype(t.get()) |
|
template<typename T > |
auto | ranges::v3::get (meta::id_t< semiregular< T >> const &t) noexcept(noexcept(decltype(t.get())(t.get()))) -> decltype(t.get()) |
|
template<typename T > |
auto | ranges::v3::get (meta::id_t< semiregular< T >> &&t) noexcept(noexcept(decltype(detail::move(t).get())(detail::move(t).get()))) -> decltype(detail::move(t).get()) |
|
template<typename Tag , typename Element , detail::box_compress BC> |
Element & | ranges::v3::get (box< Element, Tag, BC > &b) noexcept |
|
template<typename Tag , typename Element , detail::box_compress BC> |
constexpr Element const & | ranges::v3::get (box< Element, Tag, BC > const &b) noexcept |
|
template<typename Tag , typename Element , detail::box_compress BC> |
Element && | ranges::v3::get (box< Element, Tag, BC > &&b) noexcept |
|
template<std::size_t I, typename Element , detail::box_compress BC> |
Element & | ranges::v3::get (box< Element, meta::size_t< I >, BC > &b) noexcept |
|
template<std::size_t I, typename Element , detail::box_compress BC> |
constexpr Element const & | ranges::v3::get (box< Element, meta::size_t< I >, BC > const &b) noexcept |
|
template<std::size_t I, typename Element , detail::box_compress BC> |
Element && | ranges::v3::get (box< Element, meta::size_t< I >, BC > &&b) noexcept |
|
template<typename I , requires = (Iterator<I>())> |
iterator_wrapper< I > | ranges::v3::iter_ref (I &i) |
|
template<typename Val > |
raw_buffer< Val > | ranges::v3::make_raw_buffer (Val *val) |
|
template<typename I1 , typename I2 , requires = (EqualityComparable<I1, I2>())> |
bool | ranges::v3::operator!= (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I , typename S , requires = (Sentinel<S, I>())> |
bool | ranges::v3::operator!= (move_iterator< I > const &i, move_sentinel< S > const &s) |
|
template<typename I , typename S , requires = (Sentinel<S, I>())> |
bool | ranges::v3::operator!= (move_sentinel< S > const &s, move_iterator< I > const &i) |
|
template<typename F , typename Obj , typename First , typename... Rest, meta::if_c< detail::is_function< F >::value, int > = 0> |
constexpr auto | ranges::v3::invoke_fn::operator() (F Obj::*ptr, First &&first, Rest &&... rest) const noexcept(noexcept(decltype(invoke_member_fn(std::is_base_of< Obj, detail::decay_t< First >>{}, is_reference_wrapper_t< detail::decay_t< First >>{}, ptr, static_cast< First &&>(first), static_cast< Rest &&>(rest)...))(invoke_member_fn(std::is_base_of< Obj, detail::decay_t< First >>{}, is_reference_wrapper_t< detail::decay_t< First >>{}, ptr, static_cast< First &&>(first), static_cast< Rest &&>(rest)...)))) -> decltype(invoke_member_fn(std::is_base_of< Obj, detail::decay_t< First >> |
|
template<typename Data , typename Obj , typename First , meta::if_c<!detail::is_function< Data >::value, int > = 0> |
constexpr auto | ranges::v3::invoke_fn::operator() (Data Obj::*ptr, First &&first) const noexcept(noexcept(decltype(invoke_member_data(std::is_base_of< Obj, detail::decay_t< First >>{}, is_reference_wrapper_t< detail::decay_t< First >>{}, ptr, static_cast< First &&>(first)))(invoke_member_data(std::is_base_of< Obj, detail::decay_t< First >>{}, is_reference_wrapper_t< detail::decay_t< First >>{}, ptr, static_cast< First &&>(first))))) -> decltype(invoke_member_data(std::is_base_of< Obj, detail::decay_t< First >> |
|
template<typename F , typename... Args, meta::if_c<!std::is_member_pointer< uncvref_t< F >>::value, int > = 0> |
constexpr auto | ranges::v3::invoke_fn::operator() (F &&fn, Args &&... args) const noexcept(noexcept(decltype(static_cast< F &&>(fn)(static_cast< Args &&>(args)...))(static_cast< F &&>(fn)(static_cast< Args &&>(args)...)))) -> decltype(static_cast< F &&>(fn)(static_cast< Args &&>(args)...)) |
|
template<typename I , requires = (RandomAccessIterator<I>())> |
move_iterator< I > | ranges::v3::operator+ (difference_type_t< I > n, move_iterator< I > const &x) |
|
template<typename I1 , typename I2 , requires = (SizedSentinel<I1, I2>())> |
difference_type_t< I2 > | ranges::v3::operator- (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I1 , typename I2 , requires = (TotallyOrdered<I1, I2>())> |
bool | ranges::v3::operator< (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I1 , typename I2 , requires = (TotallyOrdered<I1, I2>())> |
bool | ranges::v3::operator<= (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I1 , typename I2 , requires = (EqualityComparable<I1, I2>())> |
bool | ranges::v3::operator== (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I , typename S , requires = (Sentinel<S, I>())> |
bool | ranges::v3::operator== (move_iterator< I > const &i, move_sentinel< S > const &s) |
|
template<typename I , typename S , requires = (Sentinel<S, I>())> |
bool | ranges::v3::operator== (move_sentinel< S > const &s, move_iterator< I > const &i) |
|
template<typename I1 , typename I2 , requires = (TotallyOrdered<I1, I2>())> |
bool | ranges::v3::operator> (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename I1 , typename I2 , requires = (TotallyOrdered<I1, I2>())> |
bool | ranges::v3::operator>= (move_iterator< I1 > const &x, move_iterator< I2 > const &y) |
|
template<typename T , requires = (Constructible<detail::decay_t<T>, T>())> |
detail::decay_t< T > | ranges::v3::aux::operator| (T &&t, copy_fn) |
|
template<typename T > |
meta::_t< std::remove_reference< T > > && | ranges::v3::aux::operator| (T &&t, move_fn move) noexcept |
|
template<typename Arg , typename Pipe , requires = (!is_pipeable<Arg>() && is_pipeable<Pipe>())> |
auto | ranges::v3::operator| (Arg &&arg, Pipe pipe) -> decltype(pipeable_access::impl< Pipe >::pipe(static_cast< Arg &&>(arg), pipe)) |
|
template<typename Pipe0 , typename Pipe1 , requires = (is_pipeable<Pipe0>() && is_pipeable<Pipe1>())> |
auto | ranges::v3::operator| (Pipe0 pipe0, Pipe1 pipe1) -> decltype(make_pipeable(detail::composed_pipe< Pipe0, Pipe1 > |
|
template<typename U , requires = (Constructible<base_, U>() && !Same<uncvref_t<U>, reference_wrapper>())> |
constexpr | ranges::v3::reference_wrapper< T >::reference_wrapper (U &&u) noexcept(std::is_nothrow_constructible< base_, U >::value) |
|
| ranges::v3::invoke_fn::static_cast (rest)...)) |
|
| ranges::v3::invoke_fn::static_cast (first) |
|