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

Public Member Functions

constexpr intersperse_view (Rng rng, range_value_t< Rng > val)
 
constexpr auto size () const requires sized_range< Rng const >
 
constexpr auto size () requires sized_range< Rng >
 
- Public Member Functions inherited from ranges::view_adaptor< Derived, BaseRng, Cardinality >
constexpr base_range_t & base () noexcept
 
constexpr base_range_t const & base () const noexcept
 
view_adaptoroperator= (view_adaptor &&)=default
 
view_adaptoroperator= (view_adaptor const &)=default
 
 view_adaptor (view_adaptor &&)=default
 
 view_adaptor (view_adaptor const &)=default
 
constexpr view_adaptor (BaseRng &&rng)
 
- Public Member Functions inherited from ranges::view_facade< Derived, Cardinality >
template<typename D = Derived>
constexpr auto begin () -> detail::facade_iterator_t< D > requires same_as< D, Derived >
 Let d be static_cast<Derived &>(*this). Let b be std::as_const(d).begin_cursor() if that expression is well-formed; otherwise, let b be d.begin_cursor(). Let B be the type of b. More...
 
template<typename D = Derived>
constexpr auto begin () const -> detail::facade_iterator_t< D const > requires same_as< D, Derived >
 
template<typename D = Derived>
constexpr auto end () -> detail::facade_sentinel_t< D > requires same_as< D, Derived >
 Let d be static_cast<Derived &>(*this). Let e be std::as_const(d).end_cursor() if that expression is well-formed; otherwise, let e be d.end_cursor(). Let E be the type of e. More...
 
template<typename D = Derived>
constexpr auto end () const -> detail::facade_sentinel_t< D const > requires same_as< D, Derived >
 
- Public Member Functions inherited from ranges::view_interface< Derived, Cardinality >
template<bool True = true>
constexpr auto at (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >> &&sized_range< D< True >>
 Returns a reference to the element at specified location pos, with bounds checking.
 
template<bool True = true>
constexpr auto at (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const > &&sized_range< D< True > const >
 
template<bool True = true>
constexpr auto back () -> range_reference_t< D< True >> requires True &&common_range< D< True >> &&bidirectional_range< D< True >>
 Access the last element in a range:
 
template<bool True = true>
constexpr auto back () const -> range_reference_t< D< True > const > requires True &&common_range< D< True > const > &&bidirectional_range< D< True > const >
 
constexpr auto empty () const noexcept -> bool requires(detail::has_fixed_size_(Cardinality))
 
template<bool True = true>
constexpr auto empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True >>)&&sized_range< D< True >>
 
template<bool True = true>
constexpr auto empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!forward_range< D< True > const >)&&sized_range< D< True > const >
 
template<bool True = true>
constexpr auto empty () noexcept(noexcept(bool(ranges::begin(std::declval< D< True > & >())==ranges::end(std::declval< D< True > & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True >>
 
template<bool True = true>
constexpr auto empty () const noexcept(noexcept(bool(ranges::begin(std::declval< D< True > const & >())==ranges::end(std::declval< D< True > const & >())))) -> bool requires True &&(!detail::has_fixed_size_(Cardinality)) &&forward_range< D< True > const >
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True > & > &&sized_range< D< True > & >)) const expr auto operator[](detail
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True > const & > &&sized_range< D< True > const & >)) const expr auto operator[](detail
 
template<bool True = true, typename Slice = views::slice_fn>
requires True && forward_range (input_range< D< True >> &&sized_range< D< True >>)) const expr auto operator[](detail
 
template<bool True = true>
constexpr auto front () -> range_reference_t< D< True >> requires True &&forward_range< D< True >>
 Access the first element in a range:
 
template<bool True = true>
constexpr auto front () const -> range_reference_t< D< True > const > requires True &&forward_range< D< True > const >
 
template<bool True = true>
requires True &&detail::can_empty_< D< True > > constexpr operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >())))
 
template<bool True = true>
requires True &&detail::can_empty_< D< True > const > constexpr operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >())))
 
view_interfaceoperator= (view_interface &&)=default
 
view_interfaceoperator= (view_interface const &)=default
 
template<bool True = true>
constexpr auto operator[] (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&random_access_range< D< True >>
 Simple indexing:
 
template<bool True = true>
constexpr auto operator[] (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&random_access_range< D< True > const >
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &
 Python-ic slicing:
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > const & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) const &
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) &&
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > & > &&sized_range< D< True > & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > const & > &&sized_range< D< True > const & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const &
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > > &&sized_range< D< True > > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) &&
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > const & > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) const &
 
template<bool True = true, typename Slice = views::slice_fn>
requires True &&input_range< D< True > > constexpr auto operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) &&
 
template<bool True = true>
constexpr auto size () -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True >>, iterator_t< D< True >>> &&forward_range< D< True >>
 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.
 
template<bool True = true>
constexpr auto size () const -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&sized_sentinel_for< sentinel_t< D< True > const >, iterator_t< D< True > const >> &&forward_range< D< True > const >
 
 view_interface (view_interface &&)=default
 
 view_interface (view_interface const &)=default
 

Additional Inherited Members

- Protected Types inherited from ranges::view_interface< Derived, Cardinality >
template<bool B>
using D = meta::invoke< detail::dependent_< B >, Derived >
 
- Protected Member Functions inherited from ranges::view_facade< Derived, Cardinality >
constexpr view_as_cursor begin_cursor () const
 
constexpr default_sentinel_t end_cursor () const
 
- Protected Member Functions inherited from ranges::view_interface< Derived, Cardinality >
constexpr Derivedderived () noexcept
 
constexpr Derived const & derived () const noexcept
 
- Protected Attributes inherited from ranges::view_facade< Derived, Cardinality >
friend range_access