Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::split_view< V, Pattern > Struct Template Reference
+ Inheritance diagram for ranges::split_view< V, Pattern >:

Friends

template<typename , bool >
struct detail::split_inner_iterator
 
template<typename , bool >
struct detail::split_outer_iterator
 

Public Member Functions

constexpr V base () const
 
constexpr outer_iterator< forward_range< V > &&simple_view< V >)> begin ()
 
constexpr auto begin () const -> outer_iterator< true >
 
constexpr auto end () -> outer_iterator< simple_view< V >()>
 
constexpr auto end () const
 
constexpr split_view (V base, Pattern pattern)
 
constexpr split_view (V base, range_value_t< V > e)
 
- Public Member Functions inherited from ranges::view_interface< split_view< V, Pattern >, is_finite< V >::value ? finite :unknown >
constexpr range_reference_t< D< True > > at (range_difference_t< D< True >> n)
 Returns a reference to the element at specified location pos, with bounds checking. More...
 
constexpr range_reference_t< D< True > const > at (range_difference_t< D< True >> n) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr range_reference_t< D< True > > back ()
 Access the last element in a range: More...
 
constexpr range_reference_t< D< True > const > back () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr std::add_pointer_t< range_reference_t< D< True > > > data ()
 Returns a pointer to the block of memory containing the elements of a contiguous range: More...
 
constexpr std::add_pointer_t< range_reference_t< D< True > const > > data () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto empty () const noexcept -> bool
 Test whether a range can be empty:
 
constexpr bool empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D< True > const & >())==ranges::end(std::declval< D< True > const & >()))))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr bool empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0)))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr bool empty () noexcept(noexcept(bool(ranges::begin(std::declval< D< True > & >())==ranges::end(std::declval< D< True > & >()))))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr bool empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0)))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr range_reference_t< D< True > > front ()
 Access the first element in a range: More...
 
constexpr range_reference_t< D< True > const > front () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >())))
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >())))
 
view_interfaceoperator= (view_interface &&)=default
 
view_interfaceoperator= (view_interface const &)=default
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) &&
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< detail::from_end_of_t< D< True >>, end_fn > offs) const &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &&
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) const &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &
 Python-ic slicing: More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &&
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) const &
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr range_reference_t< D< True > > operator[] (range_difference_t< D< True >> n)
 Simple indexing: More...
 
constexpr range_reference_t< D< True > const > operator[] (range_difference_t< D< True >> n) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
constexpr detail::iter_size_t< iterator_t< D< True > > > size ()
 If sized_sentinel_for<sentinel_t<Derived>, iterator_t<Derived>> is satisfied, and if Derived is a forward_range, then return end - begin cast to an unsigned integer. More...
 
constexpr detail::iter_size_t< iterator_t< D< True > > > size () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
 view_interface (view_interface &&)=default
 
 view_interface (view_interface const &)=default
 

Additional Inherited Members

- Static Public Member Functions inherited from ranges::view_interface< split_view< V, Pattern >, is_finite< V >::value ? finite :unknown >
static constexpr std::size_t size () noexcept
 If the size of the range is known at compile-time and finite, return it. More...
 
- Protected Types inherited from ranges::view_interface< split_view< V, Pattern >, is_finite< V >::value ? finite :unknown >
using D = meta::invoke< detail::dependent_< B >, split_view< V, Pattern > >
 
- Protected Member Functions inherited from ranges::view_interface< split_view< V, Pattern >, is_finite< V >::value ? finite :unknown >
constexpr split_view< V, Pattern > const & derived () const noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
constexpr split_view< V, Pattern > & derived () noexcept
 

Constructor & Destructor Documentation

◆ split_view()

template<typename V , typename Pattern >
constexpr ranges::split_view< V, Pattern >::split_view ( base,
range_value_t< V >  e 
)
constexpr
Precondition
requires constructible_from<Pattern, range_value_t<V>>