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

Public Member Functions

iterator_t< Rng > begin () const
 
sentinel_t< Rng > end () const
 
 shared_view (Rng rng)
 
auto size () const
 
- Public Member Functions inherited from ranges::view_interface< shared_view< Rng >, range_cardinality< Rng >::value >
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< shared_view< Rng >, range_cardinality< Rng >::value >
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< shared_view< Rng >, range_cardinality< Rng >::value >
using D = meta::invoke< detail::dependent_< B >, shared_view< Rng > >
 
- Protected Member Functions inherited from ranges::view_interface< shared_view< Rng >, range_cardinality< Rng >::value >
constexpr shared_view< Rng > 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 shared_view< Rng > & derived () noexcept
 

Member Function Documentation

◆ size()

template<typename Rng >
auto ranges::experimental::shared_view< Rng >::size ( ) const
Precondition
requires sized_range<Rng>

References ranges::end.