|
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 I > |
reverse_iterator< I > | ranges::v3::make_reverse_iterator (I i) |
|
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< S > 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< S > 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< S > 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) |
|