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< self_type > xt::xcontainer< D > xt::xstrided_container< self_type > xt::xfixed_container< typename storage_type::value_type, S, L, SH, Tag > xt::xfixed_container< T, FSH, L, Sharable > xt::xstrided_container< D > xt::xarray_adaptor< value_container &, L, SC > xt::xarray_adaptor< flag_container &, L, SC > xt::xarray_adaptor< const value_container &, L, SC > xt::xarray_adaptor< const flag_container &, L, SC > xt::xarray_adaptor< EC, L, SC, xoptional_expression_tag > xt::xarray_container< temporary_container_t< storage_type >, L, SC, Tag > xt::xarray_container< uvector< T, A >, L, xt::svector< typename uvector< T, A >::size_type, 4, SA, true > > xt::xarray_container< xtl::xoptional_vector< T, A, BC >, L, xt::svector< typename uvector< T, A >::size_type, 4, SA, true >, xoptional_expression_tag > xt::xarray_container< EC, L, SC, xoptional_expression_tag > xt::xtensor_adaptor< value_container &, N, L > xt::xtensor_adaptor< flag_container &, N, L > xt::xtensor_adaptor< const value_container &, N, L > xt::xtensor_adaptor< const flag_container &, N, L > xt::xtensor_adaptor< EC, N, L, xoptional_expression_tag > xt::xtensor_container< temporary_container_t< storage_type >, N, L, Tag > xt::xtensor_container< uvector< T, A >, N, L > xt::xtensor_container< xtl::xoptional_vector< T, A, BC >, N, L, xoptional_expression_tag > xt::xtensor_container< std::vector< T, A >, 2, layout_type::row_major > xt::xtensor_container< EC, N, L, xoptional_expression_tag > xt::xtensor_view< EC, N, L, xoptional_expression_tag >

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< L > begin () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_iterator< L > end () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< L > begin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< L > end () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< L > cbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_iterator< L > cend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_reverse_iterator< L > rbegin () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_reverse_iterator< L > rend () noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< L > rbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< L > rend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< L > crbegin () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major>
select_const_reverse_iterator< L > crend () const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
broadcast_iterator< S, L > begin (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
broadcast_iterator< S, L > end (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_broadcast_iterator< S, L > begin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_broadcast_iterator< S, L > end (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_broadcast_iterator< S, L > cbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_broadcast_iterator< S, L > cend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
reverse_broadcast_iterator< S, L > rbegin (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
reverse_broadcast_iterator< S, L > rend (const S &shape) noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_reverse_broadcast_iterator< S, L > rbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_reverse_broadcast_iterator< S, L > rend (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_reverse_broadcast_iterator< S, L > crbegin (const S &shape) const noexcept
 
template<layout_type L = ::xt::layout_type::row_major, class S>
const_reverse_broadcast_iterator< S, L > crend (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 335 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 337 of file xiterable.hpp.

◆ const_iterator

template<class D>
using xt::xcontiguous_iterable< D >::const_iterator = select_const_iterator< ::xt::layout_type::row_major >

Definition at line 365 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 328 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 345 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 341 of file xiterable.hpp.

◆ const_reverse_iterator

template<class D>
using xt::xcontiguous_iterable< D >::const_reverse_iterator = select_const_reverse_iterator< ::xt::layout_type::row_major >

Definition at line 367 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 332 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 347 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

template<class D>
using xt::xcontiguous_iterable< D >::inner_types = xcontainer_inner_types<D>

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

template<class D>
using xt::xcontiguous_iterable< D >::iterator = select_iterator< ::xt::layout_type::row_major >

Definition at line 364 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 326 of file xiterable.hpp.

◆ linear_iterator

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

Definition at line 344 of file xiterable.hpp.

◆ linear_traits

template<class D>
using xt::xcontiguous_iterable< D >::linear_traits = detail::linear_iterator_traits<D>

Definition at line 343 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 339 of file xiterable.hpp.

◆ reverse_iterator

template<class D>
using xt::xcontiguous_iterable< D >::reverse_iterator = select_reverse_iterator< ::xt::layout_type::row_major >

Definition at line 366 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 330 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 346 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 355 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 359 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 353 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 350 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 357 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 970 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 933 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 1171 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 1143 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 993 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 1199 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 1012 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 1214 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 1096 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 1292 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 1115 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 1307 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 982 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 952 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 1185 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 1157 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 1073 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 1036 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 1262 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 1234 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 1085 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 1055 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 1277 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 1248 of file xiterable.hpp.

Friends And Related Symbol Documentation

◆ xconst_iterable< D >

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

Definition at line 428 of file xiterable.hpp.

◆ xiterable< D >

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

Definition at line 428 of file xiterable.hpp.

Member Data Documentation

◆ static_layout

template<class D>
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: