Half-open range of indices: [from, to).
|
template<typename Val > |
auto | operator() (Val to) const -> iota_view< Val, Val > requires Integral< Val > |
|
template<typename Val > |
auto | operator() (Val from, Val to) const -> iota_view< Val, Val > requires Integral< Val > |
|
constexpr | iota_view (std::size_t from) |
|
constexpr | iota_view (meta::id_t< std::size_t > from, meta::id_t< To > to) |
|
auto | begin () -> detail::facade_iterator_t< D > requires Same< D, iota_view< std::size_t, To > > |
| 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...
|
|
auto | begin () const -> detail::facade_iterator_t< D const > requires Same< D, iota_view< std::size_t, To > > |
|
auto | end () -> detail::facade_sentinel_t< D > requires Same< D, iota_view< std::size_t, To > > |
| 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...
|
|
auto | end () const -> detail::facade_sentinel_t< D const > requires Same< D, iota_view< std::size_t, To > > |
|
constexpr auto | at (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&RandomAccessRange< D< True >> &&SizedRange< D< True >> |
| Returns a reference to the element at specified location pos, with bounds checking.
|
|
constexpr auto | at (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&RandomAccessRange< D< True > const > &&SizedRange< D< True > const > |
|
constexpr auto | back () -> range_reference_t< D< True >> requires True &&CommonRange< D< True >> &&BidirectionalRange< D< True >> |
| Access the last element in a range:
|
|
constexpr auto | back () const -> range_reference_t< D< True > const > requires True &&CommonRange< D< True > const > &&BidirectionalRange< D< True > const > |
|
constexpr auto | empty () const noexcept -> bool requires(detail::has_fixed_size_(Cardinality)) |
|
constexpr auto | empty () noexcept(noexcept(bool(ranges::size(std::declval< D< True > & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!ForwardRange< D< True >>) &&SizedRange< D< True >> |
|
constexpr auto | empty () const noexcept(noexcept(bool(ranges::size(std::declval< D< True > const & >())==0))) -> bool requires True &&(Cardinality< 0) &&(Cardinality !=infinite) &&(!ForwardRange< D< True > const >) &&SizedRange< D< True > const > |
|
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)) &&ForwardRange< D< 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 &&(not detail::has_fixed_size_(Cardinality)) &&ForwardRange< D< True > const > |
|
requires True && | ForwardRange (InputRange< D< True > & > &&SizedRange< D< True > & >)) const expr auto operator[](detail |
|
requires True && | ForwardRange (InputRange< D< True > const & > &&SizedRange< D< True > const & >)) const expr auto operator[](detail |
|
requires True && | ForwardRange (InputRange< D< True >> &&SizedRange< D< True >>)) const expr auto operator[](detail |
|
requires True && | ForwardRange (InputRange< D< True > & > &&SizedRange< D< True > & >)) const expr auto operator[](detail |
|
requires True && | ForwardRange (InputRange< D< True > const & > &&SizedRange< D< True > const & >)) const expr auto operator[](detail |
|
requires True && | ForwardRange (InputRange< D< True >> &&SizedRange< D< True >>)) const expr auto operator[](detail |
|
constexpr auto | front () -> range_reference_t< D< True >> requires True &&ForwardRange< D< True >> |
| Access the first element in a range:
|
|
constexpr auto | front () const -> range_reference_t< D< True > const > requires True &&ForwardRange< D< True > const > |
|
requires True &&detail::CanEmpty< D< True > > constexpr | operator bool () noexcept(noexcept(ranges::empty(std::declval< D< True > & >()))) |
|
requires True &&detail::CanEmpty< D< True > const > constexpr | operator bool () const noexcept(noexcept(ranges::empty(std::declval< D< True > const & >()))) |
|
requires detail::ConvertibleToContainer< D< True >, Container > constexpr | operator Container () |
| Implicit conversion to something that looks like a container.
|
|
requires detail::ConvertibleToContainer< D< True > const, Container > constexpr | operator Container () const |
|
view_interface & | operator= (view_interface &&)=default |
|
view_interface & | operator= (view_interface const &)=default |
|
constexpr auto | operator[] (range_difference_t< D< True >> n) -> range_reference_t< D< True >> requires True &&RandomAccessRange< D< True >> |
| Simple indexing:
|
|
constexpr auto | operator[] (range_difference_t< D< True >> n) const -> range_reference_t< D< True > const > requires True &&RandomAccessRange< D< True > const > |
|
requires True &&InputRange< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) & |
| Python-ic slicing:
|
|
requires True &&InputRange< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) const & |
|
requires True &&InputRange< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>> offs) && |
|
requires True &&InputRange< D< True > & > &&SizedRange< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) & |
|
requires True &&InputRange< D< True > const & > &&SizedRange< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) const & |
|
requires True &&InputRange< D< True > > &&SizedRange< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, detail::from_end_of_t< D< True >>> offs) && |
|
requires True &&InputRange< D< True > & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) & |
|
requires True &&InputRange< D< True > const & > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) const & |
|
requires True &&InputRange< D< True > > constexpr auto | operator[] (detail::slice_bounds< range_difference_t< D< True >>, end_fn > offs) && |
|
constexpr auto | size () -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&SizedSentinel< sentinel_t< D< True >>, iterator_t< D< True >>> &&ForwardRange< D< True >> |
| If SizedSentinel<sentinel_t<Derived>, iterator_t<Derived>> is satisfied, and if Derived is a ForwardRange , then return end - begin cast to an unsigned integer.
|
|
constexpr auto | size () const -> detail::iter_size_t< iterator_t< D< True >>> requires True &&(Cardinality< 0) &&SizedSentinel< sentinel_t< D< True > const >, iterator_t< D< True > const >> &&ForwardRange< D< True > const > |
|
| view_interface (view_interface &&)=default |
|
| view_interface (view_interface const &)=default |
|