xtensor
Loading...
Searching...
No Matches
xt::xcontiguous_iterable< D > Class Template Reference

Base class for multidimensional iterable expressions with contiguous storage. More...

#include <xiterable.hpp>

Inheritance diagram for xt::xcontiguous_iterable< D >:
xt::xiterable< D > xt::xcontainer< xarray_adaptor< EC, L, SC, Tag > > xt::xcontainer< xarray_container< EC, L, SC, Tag > > xt::xcontainer< xfixed_adaptor< EC, S, L, SH, Tag > > xt::xcontainer< xfixed_container< ET, S, L, SH, Tag > > xt::xcontainer< xtensor_adaptor< EC, N, L, Tag > > xt::xcontainer< xtensor_container< EC, N, L, Tag > > xt::xcontainer< xtensor_view< EC, N, L, Tag > > xt::xcontainer< D >

Public Types

using derived_type = D
 
using inner_types = xcontainer_inner_types<D>
 
using iterable_base = xiterable<D>
 
using stepper = typename iterable_base::stepper
 
using const_stepper = typename iterable_base::const_stepper
 
template<layout_type L>
using layout_iterator = typename iterable_base::template layout_iterator<L>
 
template<layout_type L>
using const_layout_iterator = typename iterable_base::template const_layout_iterator<L>
 
template<layout_type L>
using reverse_layout_iterator = typename iterable_base::template reverse_layout_iterator<L>
 
template<layout_type L>
using const_reverse_layout_iterator = typename iterable_base::template const_reverse_layout_iterator<L>
 
template<class S , layout_type L>
using broadcast_iterator = typename iterable_base::template broadcast_iterator<S, L>
 
template<class S , layout_type L>
using const_broadcast_iterator = typename iterable_base::template const_broadcast_iterator<S, L>
 
template<class S , layout_type L>
using reverse_broadcast_iterator = typename iterable_base::template reverse_broadcast_iterator<S, L>
 
template<class S , layout_type L>
using const_reverse_broadcast_iterator = typename iterable_base::template const_reverse_broadcast_iterator<S, L>
 
using linear_traits = detail::linear_iterator_traits<D>
 
using linear_iterator = typename linear_traits::linear_iterator
 
using const_linear_iterator = typename linear_traits::const_linear_iterator
 
using reverse_linear_iterator = typename linear_traits::reverse_linear_iterator
 
using const_reverse_linear_iterator = typename linear_traits::const_reverse_linear_iterator
 
template<layout_type L, class It1 , class It2 >
using select_iterator_impl = std::conditional_t<L == static_layout, It1, It2>
 
template<layout_type L>
using select_iterator = select_iterator_impl<L, linear_iterator, layout_iterator<L>>
 
template<layout_type L>
using select_const_iterator = select_iterator_impl<L, const_linear_iterator, const_layout_iterator<L>>
 
template<layout_type L>
using select_reverse_iterator = select_iterator_impl<L, reverse_linear_iterator, reverse_layout_iterator<L>>
 
template<layout_type L>
using select_const_reverse_iterator
 
using iterator = select_iterator< ::xt::layout_type::row_major >
 
using const_iterator = select_const_iterator< ::xt::layout_type::row_major >
 
using reverse_iterator = select_reverse_iterator< ::xt::layout_type::row_major >
 
using const_reverse_iterator = select_const_reverse_iterator< ::xt::layout_type::row_major >
 

Public Member Functions

template<layout_type L = ::xt::layout_type::row_major>
select_iterator< Lbegin () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_iterator< Lend () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< Lbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< Lend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< Lcbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< Lcend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_reverse_iterator< Lrbegin () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_reverse_iterator< Lrend () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< Lrbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< Lrend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< Lcrbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< Lcrend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
broadcast_iterator< S, Lbegin (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
broadcast_iterator< S, Lend (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lcbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_broadcast_iterator< S, Lcend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
reverse_broadcast_iterator< S, Lrbegin (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
reverse_broadcast_iterator< S, Lrend (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lrbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lrend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lcrbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S >
const_reverse_broadcast_iterator< S, Lcrend (const S &shape) const noexcept
 
Iterators
template<layout_type L>
auto begin () noexcept -> select_iterator< L >
 Returns an iterator to the first element of the expression.
 
template<layout_type L>
auto end () noexcept -> select_iterator< L >
 Returns an iterator to the element following the last element of the expression.
 
template<layout_type L>
auto begin () const noexcept -> select_const_iterator< L >
 Returns a constant iterator to the first element of the expression.
 
template<layout_type L>
auto end () const noexcept -> select_const_iterator< L >
 Returns a constant iterator to the element following the last element of the expression.
 
template<layout_type L>
auto cbegin () const noexcept -> select_const_iterator< L >
 Returns a constant iterator to the first element of the expression.
 
template<layout_type L>
auto cend () const noexcept -> select_const_iterator< L >
 Returns a constant iterator to the element following the last element of the expression.
 
Reverse iterators
template<layout_type L>
auto rbegin () noexcept -> select_reverse_iterator< L >
 Returns an iterator to the first element of the reversed expression.
 
template<layout_type L>
auto rend () noexcept -> select_reverse_iterator< L >
 Returns an iterator to the element following the last element of the reversed expression.
 
template<layout_type L>
auto rbegin () const noexcept -> select_const_reverse_iterator< L >
 Returns a constant iterator to the first element of the reversed expression.
 
template<layout_type L>
auto rend () const noexcept -> select_const_reverse_iterator< L >
 Returns a constant iterator to the element following the last element of the reversed expression.
 
template<layout_type L>
auto crbegin () const noexcept -> select_const_reverse_iterator< L >
 Returns a constant iterator to the first element of the reversed expression.
 
template<layout_type L>
auto crend () const noexcept -> select_const_reverse_iterator< L >
 Returns a constant iterator to the element following the last element of the reversed expression.
 
Broadcast iterators
template<layout_type L, class S >
auto begin (const S &shape) noexcept -> broadcast_iterator< S, L >
 Returns an iterator to the first element of the expression.
 
template<layout_type L, class S >
auto end (const S &shape) noexcept -> broadcast_iterator< S, L >
 Returns an iterator to the element following the last element of the expression.
 
template<layout_type L, class S >
auto begin (const S &shape) const noexcept -> const_broadcast_iterator< S, L >
 Returns a constant iterator to the first element of the expression.
 
template<layout_type L, class S >
auto end (const S &shape) const noexcept -> const_broadcast_iterator< S, L >
 Returns a constant iterator to the element following the last element of the expression.
 
template<layout_type L, class S >
auto cbegin (const S &shape) const noexcept -> const_broadcast_iterator< S, L >
 Returns a constant iterator to the first element of the expression.
 
template<layout_type L, class S >
auto cend (const S &shape) const noexcept -> const_broadcast_iterator< S, L >
 Returns a constant iterator to the element following the last element of the expression.
 

Static Public Attributes

static constexpr layout_type static_layout = inner_types::layout
 

Friends

class xiterable< D >
 
class xconst_iterable< D >
 

Reverse broadcast iterators

template<layout_type L, class S >
auto rbegin (const S &shape) noexcept -> reverse_broadcast_iterator< S, L >
 Returns an iterator to the first element of the reversed expression.
 
template<layout_type L, class S >
auto rend (const S &shape) noexcept -> reverse_broadcast_iterator< S, L >
 Returns an iterator to the element following the last element of the reversed expression.
 
template<layout_type L, class S >
auto rbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L >
 Returns a constant iterator to the first element of the reversed expression.
 
template<layout_type L, class S >
auto rend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L >
 Returns a constant iterator to the element following the last element of the reversed expression.
 
template<layout_type L, class S >
auto crbegin (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L >
 Returns a constant iterator to the first element of the reversed expression.
 
template<layout_type L, class S >
auto crend (const S &shape) const noexcept -> const_reverse_broadcast_iterator< S, L >
 Returns a constant iterator to the element following the last element of the reversed expression.
 

Detailed Description

template<class D>
class xt::xcontiguous_iterable< D >

Base class for multidimensional iterable expressions with contiguous storage.

The xcontiguous_iterable class defines the interface for multidimensional expressions with contiguous that can be iterated.

Template Parameters
DThe derived type, i.e. the inheriting class for which xcontiguous_iterable provides the interface.

Definition at line 311 of file xiterable.hpp.

Member Typedef Documentation

◆ broadcast_iterator

template<class D >
template<class S , layout_type L>
using xt::xcontiguous_iterable< D >::broadcast_iterator = typename iterable_base::template broadcast_iterator<S, L>

Definition at line 351 of file xiterable.hpp.

◆ const_broadcast_iterator

template<class D >
template<class S , layout_type L>
using xt::xcontiguous_iterable< D >::const_broadcast_iterator = typename iterable_base::template const_broadcast_iterator<S, L>

Definition at line 353 of file xiterable.hpp.

◆ const_iterator

Definition at line 381 of file xiterable.hpp.

◆ const_layout_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::const_layout_iterator = typename iterable_base::template const_layout_iterator<L>

Definition at line 343 of file xiterable.hpp.

◆ const_linear_iterator

template<class D >
using xt::xcontiguous_iterable< D >::const_linear_iterator = typename linear_traits::const_linear_iterator

Definition at line 361 of file xiterable.hpp.

◆ const_reverse_broadcast_iterator

template<class D >
template<class S , layout_type L>
using xt::xcontiguous_iterable< D >::const_reverse_broadcast_iterator = typename iterable_base::template const_reverse_broadcast_iterator<S, L>

Definition at line 357 of file xiterable.hpp.

◆ const_reverse_iterator

Definition at line 383 of file xiterable.hpp.

◆ const_reverse_layout_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::const_reverse_layout_iterator = typename iterable_base::template const_reverse_layout_iterator<L>

Definition at line 347 of file xiterable.hpp.

◆ const_reverse_linear_iterator

template<class D >
using xt::xcontiguous_iterable< D >::const_reverse_linear_iterator = typename linear_traits::const_reverse_linear_iterator

Definition at line 363 of file xiterable.hpp.

◆ const_stepper

template<class D >
using xt::xcontiguous_iterable< D >::const_stepper = typename iterable_base::const_stepper

Definition at line 321 of file xiterable.hpp.

◆ derived_type

template<class D >
using xt::xcontiguous_iterable< D >::derived_type = D

Definition at line 315 of file xiterable.hpp.

◆ inner_types

Definition at line 317 of file xiterable.hpp.

◆ iterable_base

template<class D >
using xt::xcontiguous_iterable< D >::iterable_base = xiterable<D>

Definition at line 319 of file xiterable.hpp.

◆ iterator

Definition at line 380 of file xiterable.hpp.

◆ layout_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::layout_iterator = typename iterable_base::template layout_iterator<L>

Definition at line 341 of file xiterable.hpp.

◆ linear_iterator

template<class D >
using xt::xcontiguous_iterable< D >::linear_iterator = typename linear_traits::linear_iterator

Definition at line 360 of file xiterable.hpp.

◆ linear_traits

Definition at line 359 of file xiterable.hpp.

◆ reverse_broadcast_iterator

template<class D >
template<class S , layout_type L>
using xt::xcontiguous_iterable< D >::reverse_broadcast_iterator = typename iterable_base::template reverse_broadcast_iterator<S, L>

Definition at line 355 of file xiterable.hpp.

◆ reverse_iterator

Definition at line 382 of file xiterable.hpp.

◆ reverse_layout_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::reverse_layout_iterator = typename iterable_base::template reverse_layout_iterator<L>

Definition at line 345 of file xiterable.hpp.

◆ reverse_linear_iterator

template<class D >
using xt::xcontiguous_iterable< D >::reverse_linear_iterator = typename linear_traits::reverse_linear_iterator

Definition at line 362 of file xiterable.hpp.

◆ select_const_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::select_const_iterator = select_iterator_impl<L, const_linear_iterator, const_layout_iterator<L>>

Definition at line 371 of file xiterable.hpp.

◆ select_const_reverse_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::select_const_reverse_iterator
Initial value:
select_iterator_impl<
L,
const_reverse_linear_iterator,
const_reverse_layout_iterator<L>>

Definition at line 375 of file xiterable.hpp.

◆ select_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::select_iterator = select_iterator_impl<L, linear_iterator, layout_iterator<L>>

Definition at line 369 of file xiterable.hpp.

◆ select_iterator_impl

template<class D >
template<layout_type L, class It1 , class It2 >
using xt::xcontiguous_iterable< D >::select_iterator_impl = std::conditional_t<L == static_layout, It1, It2>

Definition at line 366 of file xiterable.hpp.

◆ select_reverse_iterator

template<class D >
template<layout_type L>
using xt::xcontiguous_iterable< D >::select_reverse_iterator = select_iterator_impl<L, reverse_linear_iterator, reverse_layout_iterator<L>>

Definition at line 373 of file xiterable.hpp.

◆ stepper

template<class D >
using xt::xcontiguous_iterable< D >::stepper = typename iterable_base::stepper

Definition at line 320 of file xiterable.hpp.

Member Function Documentation

◆ begin() [1/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::begin ( ) const -> select_const_iterator<L>
inlinenoexcept

Returns a constant iterator to the first element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 992 of file xiterable.hpp.

◆ begin() [2/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::begin ( ) -> select_iterator<L>
inlinenoexcept

Returns an iterator to the first element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 949 of file xiterable.hpp.

◆ begin() [3/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::begin ( const S & shape) const -> const_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the first element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1211 of file xiterable.hpp.

◆ begin() [4/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::begin ( const S & shape) -> broadcast_iterator<S, L>
inlinenoexcept

Returns an iterator to the first element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1183 of file xiterable.hpp.

◆ cbegin() [1/2]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::cbegin ( ) const -> select_const_iterator<L>
inlinenoexcept

Returns a constant iterator to the first element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1015 of file xiterable.hpp.

◆ cbegin() [2/2]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::cbegin ( const S & shape) const -> const_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the first element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1239 of file xiterable.hpp.

◆ cend() [1/2]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::cend ( ) const -> select_const_iterator<L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1037 of file xiterable.hpp.

◆ cend() [2/2]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::cend ( const S & shape) const -> const_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1254 of file xiterable.hpp.

◆ crbegin() [1/2]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::crbegin ( ) const -> select_const_reverse_iterator<L>
inlinenoexcept

Returns a constant iterator to the first element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1130 of file xiterable.hpp.

◆ crbegin() [2/2]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::crbegin ( const S & shape) const -> const_reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the first element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1332 of file xiterable.hpp.

◆ crend() [1/2]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::crend ( ) const -> select_const_reverse_iterator<L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1152 of file xiterable.hpp.

◆ crend() [2/2]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::crend ( const S & shape) const -> const_reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1347 of file xiterable.hpp.

◆ end() [1/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::end ( ) const -> select_const_iterator<L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1004 of file xiterable.hpp.

◆ end() [2/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::end ( ) -> select_iterator<L>
inlinenoexcept

Returns an iterator to the element following the last element of the expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 971 of file xiterable.hpp.

◆ end() [3/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::end ( const S & shape) const -> const_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1225 of file xiterable.hpp.

◆ end() [4/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::end ( const S & shape) -> broadcast_iterator<S, L>
inlinenoexcept

Returns an iterator to the element following the last element of the expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1197 of file xiterable.hpp.

◆ rbegin() [1/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::rbegin ( ) const -> select_const_reverse_iterator<L>
inlinenoexcept

Returns a constant iterator to the first element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1107 of file xiterable.hpp.

◆ rbegin() [2/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::rbegin ( ) -> select_reverse_iterator<L>
inlinenoexcept

Returns an iterator to the first element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1064 of file xiterable.hpp.

◆ rbegin() [3/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::rbegin ( const S & shape) const -> const_reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the first element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1302 of file xiterable.hpp.

◆ rbegin() [4/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::rbegin ( const S & shape) -> reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns an iterator to the first element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1274 of file xiterable.hpp.

◆ rend() [1/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::rend ( ) const -> select_const_reverse_iterator<L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1119 of file xiterable.hpp.

◆ rend() [2/4]

template<class D >
template<layout_type L>
auto xt::xcontiguous_iterable< D >::rend ( ) -> select_reverse_iterator<L>
inlinenoexcept

Returns an iterator to the element following the last element of the reversed expression.

Template Parameters
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1086 of file xiterable.hpp.

◆ rend() [3/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::rend ( const S & shape) const -> const_reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns a constant iterator to the element following the last element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1317 of file xiterable.hpp.

◆ rend() [4/4]

template<class D >
template<layout_type L, class S >
auto xt::xcontiguous_iterable< D >::rend ( const S & shape) -> reverse_broadcast_iterator<S, L>
inlinenoexcept

Returns an iterator to the element following the last element of the reversed expression.

The iteration is broadcasted to the specified shape.

Parameters
shapethe shape used for broadcasting
Template Parameters
Stype of the shape parameter.
Lorder used for the traversal. Default value is XTENSOR_DEFAULT_TRAVERSAL.

Definition at line 1288 of file xiterable.hpp.

Friends And Related Symbol Documentation

◆ xconst_iterable< D >

template<class D >
friend class xconst_iterable< D >
friend

Definition at line 444 of file xiterable.hpp.

◆ xiterable< D >

template<class D >
friend class xiterable< D >
friend

Definition at line 444 of file xiterable.hpp.

Member Data Documentation

◆ static_layout

template<class D >
constexpr layout_type xt::xcontiguous_iterable< D >::static_layout = inner_types::layout
staticconstexpr

Definition at line 323 of file xiterable.hpp.


The documentation for this class was generated from the following file: