Arcane  4.1.15.0
User documentation
Loading...
Searching...
No Matches
Arcane::SimpleForLoopRanges< N, IndexType_ > Class Template Reference

Simple iteration range. More...

#include <arccore/base/ForLoopRanges.h>

Public Types

using ArrayBoundsType = ArrayBounds<typename MDDimType<N, IndexType_>::DimType>
using MDIndexType = ArrayBoundsType::MDIndexType
using ArrayIndexType = MDIndexType
using LoopIndexType = ArrayIndexType
using ExtentIndexType = IndexType_

Public Member Functions

 SimpleForLoopRanges (std::array< ExtentIndexType, N > b)
 explicit (false) SimpleForLoopRanges(ArrayBoundsType b)
template<Int32 I>
constexpr ExtentIndexType upperBound () const
template<Int32 I>
constexpr ExtentIndexType extent () const
constexpr Int64 nbElement () const
constexpr MDIndexType getIndices (Int32 i) const

Static Public Member Functions

template<Int32 I>
static constexpr ExtentIndexType lowerBound ()

Friends

class ComplexForLoopRanges< N, IndexType_ >

Detailed Description

template<int N, typename IndexType_>
class Arcane::SimpleForLoopRanges< N, IndexType_ >

Simple iteration range.

The starting indices for each dimension start at 0.

Definition at line 70 of file arccore/src/base/arccore/base/ForLoopRanges.h.

Member Typedef Documentation

◆ ArrayBoundsType

template<int N, typename IndexType_>
using Arcane::SimpleForLoopRanges< N, IndexType_ >::ArrayBoundsType = ArrayBounds<typename MDDimType<N, IndexType_>::DimType>

◆ ArrayIndexType

template<int N, typename IndexType_>
using Arcane::SimpleForLoopRanges< N, IndexType_ >::ArrayIndexType = MDIndexType

◆ ExtentIndexType

template<int N, typename IndexType_>
using Arcane::SimpleForLoopRanges< N, IndexType_ >::ExtentIndexType = IndexType_

◆ LoopIndexType

template<int N, typename IndexType_>
using Arcane::SimpleForLoopRanges< N, IndexType_ >::LoopIndexType = ArrayIndexType

◆ MDIndexType

template<int N, typename IndexType_>
using Arcane::SimpleForLoopRanges< N, IndexType_ >::MDIndexType = ArrayBoundsType::MDIndexType

Constructor & Destructor Documentation

◆ SimpleForLoopRanges()

template<int N, typename IndexType_>
Arcane::SimpleForLoopRanges< N, IndexType_ >::SimpleForLoopRanges ( std::array< ExtentIndexType, N > b)
inlineexplicit

Member Function Documentation

◆ explicit()

template<int N, typename IndexType_>
Arcane::SimpleForLoopRanges< N, IndexType_ >::explicit ( false )
inline

◆ extent()

template<int N, typename IndexType_>
template<Int32 I>
ExtentIndexType Arcane::SimpleForLoopRanges< N, IndexType_ >::extent ( ) const
inlineconstexpr

◆ getIndices()

template<int N, typename IndexType_>
MDIndexType Arcane::SimpleForLoopRanges< N, IndexType_ >::getIndices ( Int32 i) const
inlineconstexpr

◆ lowerBound()

template<int N, typename IndexType_>
template<Int32 I>
constexpr ExtentIndexType Arcane::SimpleForLoopRanges< N, IndexType_ >::lowerBound ( )
inlinestaticconstexpr

◆ nbElement()

template<int N, typename IndexType_>
Int64 Arcane::SimpleForLoopRanges< N, IndexType_ >::nbElement ( ) const
inlineconstexpr

◆ upperBound()

template<int N, typename IndexType_>
template<Int32 I>
ExtentIndexType Arcane::SimpleForLoopRanges< N, IndexType_ >::upperBound ( ) const
inlineconstexpr

◆ ComplexForLoopRanges< N, IndexType_ >

template<int N, typename IndexType_>
friend class ComplexForLoopRanges< N, IndexType_ >
friend

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