12#ifndef ARCANE_UTILS_UTILSTYPES_H
13#define ARCANE_UTILS_UTILSTYPES_H
20#include "arccore/collections/CollectionsGlobal.h"
21#include "arccore/concurrency/ConcurrencyGlobal.h"
22#include "arccore/trace/TraceGlobal.h"
42template<
typename T>
class MultiArray2View;
43template<
typename T>
class ConstMultiArray2View;
44template<
typename T>
class MultiArray2;
45template<
typename DataType>
class UniqueMultiArray2;
46template<
typename DataType>
class SharedMultiArray2;
48template<
typename T>
class EnumeratorT;
49template<
typename T>
class ListEnumeratorT;
51template<
typename T>
class Collection;
52template<
typename T>
class List;
54template<
typename... Args>
class EventObservable;
55template<
typename... Args>
class EventObserver;
64template <
typename T>
class Vector2;
65template <
typename T>
class Vector3;
66using Int64x3 = Vector3<Int64>;
67using Int32x3 = Vector3<Int32>;
68using Int64x2 = Vector2<Int64>;
69using Int32x2 = Vector2<Int32>;
70template<
typename T,
int Size>
class NumVector;
71template<
typename T,
int RowSize,
int ColumnSize = RowSize>
class NumMatrix;
72using RealN2 = NumVector<Real,2>;
73using RealN3 = NumVector<Real,3>;
74using RealN2x2 = NumMatrix<Real,2>;
75using RealN3x3 = NumMatrix<Real,3>;
85class CommandLineArguments;
96using MemoryView ARCANE_DEPRECATED_REASON(
"Use 'ConstMemoryView' instead") = ConstMemoryView;
97class MutableMemoryView;
102class IPerformanceCounterService;
103class ForLoopTraceInfo;
104class ForLoopOneExecStat;
107class ForLoopStatInfoList;
108class ForLoopStatInfoListImpl;
109class ForLoopCumulativeStat;
116class ParallelLoopOptions;
117class ParallelFor1DLoopInfo;
120template<
typename InstanceType>
122template<
typename InstanceType>
123class TaskFunctorWithContext;
125class ITaskImplementation;
138using Accelerator::Runner;
139using Accelerator::RunQueue;
157template<
class DataType,
typename Extents,
typename LayoutPolicy = DefaultLayout >
159template<
typename DataType,
typename Extents,
typename LayoutPolicy = DefaultLayout >
161template<
class DataType,
typename Extents,
typename LayoutType = DefaultLayout >
163template<
typename DataType,
typename Extents,
typename LayoutPolicy = DefaultLayout >
166template<
int RankValue,
typename IndexType_ = Int32>
class MDIndexBase;
167template<
int RankValue,
typename IndexType_ = Int32>
class MDIndex;
Fichier de configuration d'Arcane.
Déclarations des types de la composante 'base' de Arccore.
File d'exécution pour un accélérateur.
Classe pour conserver le nombre d'éléments dans chaque dimension.
Classe pour conserver le pas dans chaque dimension.
Le layout par défaut est toujours RightLayout.
Intervalle d'itération pour une boucle.
Interface d'un fonctor sur un interval d'itération multi-dimensionnel de dimension RankValue.
Classe de base de la gestion des indices d'un tableau N-dimension.
Classe de base des vues multi-dimensionnelles.
Tableaux multi-dimensionnels pour les types numériques accessibles sur accélérateurs.
Interval d'itération simple.
Référence à une instance.
Vue d'un tableau d'éléments de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
UniqueArray2< Real3 > Real3UniqueArray2
Tableau dynamique 2D de vecteurs de rang 3.
ConstArray2View< Int32 > Int32ConstArray2View
Tableau dynamique 2D d'entiers 32 bits.
Array2< Real > RealArray2
Tableau dynamique 2D de réels.
ConstArray2View< Real > RealConstArray2View
Tableau dynamique 2D de réels.
SharedArray< Int64 > Int64SharedArray
Tableau dynamique à une dimension d'entiers 64 bits.
Array2< Integer > IntegerArray2
Tableau dynamique 2D d'entiers.
Span< Int32 > Int32Span
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
UniqueArray2< Integer > IntegerUniqueArray2
Tableau dynamique 2D d'entiers.
Array< Real2 > Real2Array
Tableau dynamique à une dimension de vecteurs de rang 2.
SharedArray2< Real2x2 > Real2x2SharedArray2
Tableau dynamique 2D de tenseurs de rang 2.
SharedArray< Pointer > PointerSharedArray
Tableau dynamique à une dimension de pointeurs.
Span< Int64 > Int64Span
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Span< std::byte > ByteSpan
Equivalent C d'un tableau à une dimension de caractères.
Array2View< Real > RealArray2View
Tableau dynamique 2D de réels.
SharedArray2< Int8 > Int8SharedArray2
Tableau dynamique 2D d'entiers 8 bits.
UniqueArray< Real2x2 > Real2x2UniqueArray
Tableau dynamique à une dimension de tenseurs de rang 2.
Array2View< Int32 > Int32Array2View
Tableau dynamique 2D d'entiers 32 bits.
Array< Int64 > Int64Array
Tableau dynamique à une dimension d'entiers 64 bits.
ArrayView< Pointer > PointerArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Array2< bool > BoolArray2
Tableau dynamique 2D de booléens.
SharedArray2< Float16 > Float16SharedArray2
Tableau dynamique 2D de 'float16'.
Span< Real > RealSpan
Equivalent C d'un tableau à une dimension de réels.
SharedArray2< String > StringSharedArray2
Tableau dynamique 2D de chaînes de caractères.
ConstArray2View< Real3x3 > Real3x3ConstArray2View
Tableau dynamique 2D de tenseurs de rang 3.
Span< const Real2 > Real2ConstSpan
Vue en lecture seule d'un tableau à une dimension de Real2.
ConstArrayView< UChar > UCharConstArrayView
Equivalent C d'un tableau à une dimension de caractères unicode.
SharedArray2< Real3x3 > Real3x3SharedArray2
Tableau dynamique 2D de tenseurs de rang 3.
ConstArrayView< Real3 > Real3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3.
Span< const Real3x3 > Real3x3ConstSpan
Vue en lecture seule d'un tableau à une dimension de Real3x3.
SharedArray< Real > RealSharedArray
Tableau dynamique à une dimension de réels.
ArrayView< UChar > UCharArrayView
Equivalent C d'un tableau à une dimension de caractères unicode.
SharedArray2< Int16 > Int16SharedArray2
Tableau dynamique 2D d'entiers 16 bits.
Span< const bool > BoolConstSpan
Vue en lecture seule d'un tableau à une dimension de booléens.
UniqueArray< Real3x3 > Real3x3UniqueArray
Tableau dynamique à une dimension de tenseurs de rang 3.
Array2View< Integer > IntegerArray2View
Tableau dynamique 2D d'entiers.
UniqueArray2< bool > BoolUniqueArray2
Tableau dynamique 2D de booléens.
SharedArray< Float32 > Float32SharedArray
Tableau dynamique à une dimension de 'float'.
UniqueArray< Float32 > Float32UniqueArray
Tableau dynamique à une dimension de 'float'.
SharedArray2< Int32 > Int32SharedArray2
Tableau dynamique 2D d'entiers 32 bits.
UniqueArray2< Real2 > Real2UniqueArray2
Tableau dynamique 2D de vecteurs de rang 2.
Array2View< Real3 > Real3Array2View
Tableau dynamique 2D de vecteurs de rang 3.
MultiArray2< Real > RealMultiArray2
Tableau 2D a taille variable de réels.
ArrayView< String > StringArrayView
Equivalent C d'un tableau à une dimension de chaînes de caractères.
UniqueArray< Int64 > Int64UniqueArray
Tableau dynamique à une dimension d'entiers 64 bits.
UniqueArray< BFloat16 > BFloat16UniqueArray
Tableau dynamique à une dimension de 'bfloat16'.
ConstArrayView< String > StringConstArrayView
Equivalent C d'un tableau à une dimension de chaînes de caractères.
Array< String > StringArray
Tableau dynamique à une dimension de chaînes de caractères.
ArrayView< Integer > IntegerArrayView
Equivalent C d'un tableau à une dimension d'entiers.
ConstArray2View< Int16 > Int16ConstArray2View
Tableau dynamique 2D d'entiers 16 bits.
Array2View< Int16 > Int16Array2View
Tableau dynamique 2D d'entiers 16 bits.
UniqueArray< Float16 > Float16UniqueArray
Tableau dynamique à une dimension de 'float16'.
SharedArray< Float16 > Float16SharedArray
Tableau dynamique à une dimension de 'float16'.
Span< UChar > UCharSpan
Equivalent C d'un tableau à une dimension de caractères unicode.
Array< bool > BoolArray
Tableau dynamique à une dimension de booléens.
Array< UChar > UCharArray
Tableau dynamique à une dimension de caractères unicode.
Array2< Real3x3 > Real3x3Array2
Tableau dynamique 2D de tenseurs de rang 3.
Array2< Byte > ByteArray2
Tableau dynamique 2D de caractères.
Span< const Int64 > Int64ConstSpan
Vue en lecture seule d'un tableau à une dimension d'entiers 64 bits.
ArrayView< Real2x2 > Real2x2ArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
SharedArray< Int8 > Int8SharedArray
Tableau dynamique à une dimension d'entiers 16 bits.
ConstArray2View< bool > BoolConstArray2View
Tableau dynamique 2D de booléens.
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
ArrayView< Real3 > Real3ArrayView
Equivalent C d'un tableau à une dimension de Real3.
Array< Real3x3 > Real3x3Array
Tableau dynamique à une dimension de tenseurs de rang 3.
MultiArray2< Real2 > Real2MultiArray2
Tableau 2D a taille variable de vecteurs de rang 2.
Array< Int16 > Int16Array
Tableau dynamique à une dimension d'entiers 16 bits.
ConstArray2View< Integer > IntegerConstArray2View
Tableau dynamique 2D d'entiers.
SharedArray2< Int64 > Int64SharedArray2
Tableau dynamique 2D d'entiers 64 bits.
Array< Float16 > Float16Array
Tableau dynamique à une dimension de 'float16'.
constexpr Int32 DynExtent
Constante pour indiquer que la dimension d'un tableau est dynamique.
Array< Byte > ByteArray
Tableau dynamique à une dimension de caractères.
Array2< Int64 > Int64Array2
Tableau dynamique 2D d'entiers 64 bits.
ConstArray2View< Int64 > Int64ConstArray2View
Tableau dynamique 2D d'entiers 64 bits.
Array< BFloat16 > BFloat16Array
Tableau dynamique à une dimension de 'bfloat16'.
UniqueArray< Real3 > Real3UniqueArray
Tableau dynamique à une dimension de vecteurs de rang 3.
Array2< Int16 > Int16Array2
Tableau dynamique 2D d'entiers 16 bits.
SharedArray< Real3 > Real3SharedArray
Tableau dynamique à une dimension de vecteurs de rang 3.
Array2View< Int64 > Int64Array2View
Tableau dynamique 2D d'entiers 64 bits.
UniqueArray< Int16 > Int16UniqueArray
Tableau dynamique à une dimension d'entiers 16 bits.
UniqueArray2< String > StringUniqueArray2
Tableau dynamique 2D de chaînes de caractères.
Collection< String > StringCollection
Collection de chaînes de caractères.
Array2< Real2 > Real2Array2
Tableau dynamique 2D de vecteurs de rang 2.
Array2< UChar > UCharArray2
Tableau dynamique 2D de caractères unicode.
ArrayView< Real3x3 > Real3x3ArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
UniqueArray< bool > BoolUniqueArray
Tableau dynamique à une dimension de booléens.
Span< Real3x3 > Real3x3Span
Equivalent C d'un tableau à une dimension de Real3x3.
SharedArray2< Integer > IntegerSharedArray2
Tableau dynamique 2D d'entiers.
Array2< Pointer > PointerArray2
Tableau dynamique 2D de pointeurs.
Array< Int8 > Int8Array
Tableau dynamique à une dimension d'entiers 8 bits.
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
UniqueArray< UChar > UCharUniqueArray
Tableau dynamique à une dimension de caractères unicode.
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
MultiArray2< Pointer > PointerMultiArray2
Tableau 2D a taille variable de pointeurs.
MultiArray2< Real2x2 > Real2x2MultiArray2
Tableau 2D a taille variable de tenseurs de rang 2.
Array2< Float16 > Float16Array2
Tableau dynamique 2D de 'float16'.
ConstArray2View< Pointer > PointerConstArray2View
Tableau dynamique 2D de pointeurs.
Array< Integer > IntegerArray
Tableau dynamique à une dimension d'entiers.
ConstArrayView< Pointer > PointerConstArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Span< Real2x2 > Real2x2Span
Equivalent C d'un tableau à une dimension de Real2x2.
Span< const std::byte > ByteConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères.
ArrayView< Int64 > Int64ArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
MultiArray2< Integer > IntegerMultiArray2
Tableau 2D a taille variable d'entiers.
UniqueArray2< Byte > ByteUniqueArray2
Tableau dynamique 2D de caractères.
Span< const Int16 > Int16ConstSpan
Vue en lecture seule d'un tableau à une dimension d'entiers 16 bits.
MultiArray2< Int64 > Int64MultiArray2
Tableau 2D a taille variable d'entiers 64 bits.
Array2View< String > StringArray2View
Tableau dynamique 2D de chaînes de caractères.
ConstArray2View< String > StringConstArray2View
Tableau dynamique 2D de chaînes de caractères.
Span< Int16 > Int16Span
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
UniqueArray2< Int64 > Int64UniqueArray2
Tableau dynamique 2D d'entiers 64 bits.
UniqueArray< Byte > ByteUniqueArray
Tableau dynamique à une dimension de caractères.
Array2View< Byte > ByteArray2View
Tableau dynamique 2D de caractères.
Span< Integer > IntegerSpan
Equivalent C d'un tableau à une dimension d'entiers.
SharedArray2< Pointer > PointerSharedArray2
Tableau dynamique 2D de pointeurs.
ConstArrayView< bool > BoolConstArrayView
Equivalent C d'un tableau à une dimension de booléens.
SharedArray< String > StringSharedArray
Tableau dynamique à une dimension de chaînes de caractères.
Array2< String > StringArray2
Tableau dynamique 2D de chaînes de caractères.
Array2< Float32 > Float32Array2
Tableau dynamique 2D de 'float'.
SharedArray< BFloat16 > BFloat16SharedArray
Tableau dynamique à une dimension de 'bfloat16'.
MultiArray2< Int32 > Int32MultiArray2
Tableau 2D a taille variable d'entiers 32 bits.
SharedArray< Int32 > Int32SharedArray
Tableau dynamique à une dimension d'entiers 32 bits.
SharedArray2< Byte > ByteSharedArray2
Tableau dynamique 2D de caractères.
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
UniqueArray< Int32 > Int32UniqueArray
Tableau dynamique à une dimension d'entiers 32 bits.
ConstArray2View< Real2x2 > Real2x2ConstArray2View
Tableau dynamique 2D de tenseurs de rang 2.
List< String > StringList
Tableau de chaînes de caractères unicode.
SharedArray< Real3x3 > Real3x3SharedArray
Tableau dynamique à une dimension de tenseurs de rang 3.
MultiArray2< String > StringMultiArray2
Tableau 2D a taille variable de chaînes de caractères.
SharedArray2< Real > RealSharedArray2
Tableau dynamique 2D de réels.
MultiArray2< Real3 > Real3MultiArray2
Tableau 2D a taille variable de vecteurs de rang 3.
Span< bool > BoolSpan
Equivalent C d'un tableau à une dimension de booléens.
Array2View< Real2 > Real2Array2View
Tableau dynamique 2D de vecteurs de rang 2.
Span< const Pointer > PointerConstSpan
Vue en lecture seule d'un tableau à une dimension de pointeurs.
Span< const Integer > IntegerConstSpan
Vue en lecture seule d'un tableau à une dimension d'entiers.
MultiArray2< Real3x3 > Real3x3MultiArray2
Tableau 2D a taille variable de tenseurs de rang 3.
SharedArray< bool > BoolSharedArray
Tableau dynamique à une dimension de booléens.
UniqueArray< Pointer > PointerUniqueArray
Tableau dynamique à une dimension de pointeurs.
UniqueArray< Real > RealUniqueArray
Tableau dynamique à une dimension de réels.
UniqueArray2< Real > RealUniqueArray2
Tableau dynamique 2D de réels.
Array2< Int8 > Int8Array2
Tableau dynamique 2D d'entiers 8 bits.
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
SharedArray2< BFloat16 > BFloat16SharedArray2
Tableau dynamique 2D de 'bfloat16'.
SharedArray2< Float32 > Float32SharedArray2
Tableau dynamique 2D de 'float'.
UniqueArray2< UChar > UCharUniqueArray2
Tableau dynamique 2D de caractères unicode.
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Array< Real2x2 > Real2x2Array
Tableau dynamique à une dimension de tenseurs de rang 2.
ArrayView< bool > BoolArrayView
Equivalent C d'un tableau à une dimension de booléens.
Array< Int32 > Int32Array
Tableau dynamique à une dimension d'entiers 32 bits.
Array< Real > RealArray
Tableau dynamique à une dimension de réels.
ConstArrayView< Real2 > Real2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2.
UniqueArray< String > StringUniqueArray
Tableau dynamique à une dimension de chaînes de caractères.
Array2< Real3 > Real3Array2
Tableau dynamique 2D de vecteurs de rang 3.
SharedArray< Integer > IntegerSharedArray
Tableau dynamique à une dimension d'entiers.
SharedArray2< bool > BoolSharedArray2
Tableau dynamique 2D de booléens.
Array2View< Pointer > PointerArray2View
Tableau dynamique 2D de pointeurs.
SharedArray< Int16 > Int16SharedArray
Tableau dynamique à une dimension d'entiers 16 bits.
ConstArray2View< UChar > UCharConstArray2View
Tableau dynamique 2D de caractères unicode.
SharedArray2< Real2 > Real2SharedArray2
Tableau dynamique 2D de vecteurs de rang 2.
ConstArray2View< Real2 > Real2ConstArray2View
Tableau dynamique 2D de vecteurs de rang 2.
SharedArray< Real2x2 > Real2x2SharedArray
Tableau dynamique à une dimension de tenseurs de rang 2.
Array2View< bool > BoolArray2View
Tableau dynamique 2D de booléens.
SharedArray< UChar > UCharSharedArray
Tableau dynamique à une dimension de caractères unicode.
Span< const Int32 > Int32ConstSpan
Vue en lecture seule d'un tableau à une dimension d'entiers 32 bits.
Array2View< Real3x3 > Real3x3Array2View
Tableau dynamique 2D de tenseurs de rang 3.
UniqueArray2< Int32 > Int32UniqueArray2
Tableau dynamique 2D d'entiers 32 bits.
ArrayView< Real2 > Real2ArrayView
Equivalent C d'un tableau à une dimension de Real2.
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
UniqueArray< Real2 > Real2UniqueArray
Tableau dynamique à une dimension de vecteurs de rang 2.
SharedArray< Real2 > Real2SharedArray
Tableau dynamique à une dimension de vecteurs de rang 2.
ConstArray2View< Real3 > Real3ConstArray2View
Tableau dynamique 2D de vecteurs de rang 3.
UniqueArray< Integer > IntegerUniqueArray
Tableau dynamique à une dimension d'entiers.
Span< const UChar > UCharConstSpan
Vue en lecture seule d'un tableau à une dimension de caractères unicode.
MultiArray2< bool > BoolMultiArray2
Tableau 2D a taille variable de booléens.
Array2View< UChar > UCharArray2View
Tableau dynamique 2D de caractères unicode.
UniqueArray2< Real2x2 > Real2x2UniqueArray2
Tableau dynamique 2D de tenseurs de rang 2.
Array2View< Real2x2 > Real2x2Array2View
Tableau dynamique 2D de tenseurs de rang 2.
SharedArray2< Real3 > Real3SharedArray2
Tableau dynamique 2D de vecteurs de rang 3.
UniqueArray2< Real3x3 > Real3x3UniqueArray2
Tableau dynamique 2D de tenseurs de rang 3.
Array2< Int32 > Int32Array2
Tableau dynamique 2D d'entiers 32 bits.
Span< Real3 > Real3Span
Equivalent C d'un tableau à une dimension de Real3.
Array< Float32 > Float32Array
Tableau dynamique à une dimension de 'float'.
UniqueArray< Int8 > Int8UniqueArray
Tableau dynamique à une dimension d'entiers 16 bits.
Array2< BFloat16 > BFloat16Array2
Tableau dynamique 2D de 'bfloat16'.
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
ConstArray2View< Byte > ByteConstArray2View
Tableau dynamique 2D de caractères.
ConstArrayView< Real3x3 > Real3x3ConstArrayView
Equivalent C d'un tableau à une dimension de Real3x3.
SharedArray2< UChar > UCharSharedArray2
Tableau dynamique 2D de caractères unicode.
Span< const Real2x2 > Real2x2ConstSpan
Vue en lecture seule d'un tableau à une dimension de Real2x2.
MultiArray2< Byte > ByteMultiArray2
Tableau 2D a taille variable de caractères.
Span< const Real > RealConstSpan
Vue en lecture seule d'un tableau à une dimension de réels.
ConstArrayView< Real2x2 > Real2x2ConstArrayView
Equivalent C d'un tableau à une dimension de Real2x2.
Span< const Real3 > Real3ConstSpan
Vue en lecture seule d'un tableau à une dimension de Real3.
Array2< Real2x2 > Real2x2Array2
Tableau dynamique 2D de tenseurs de rang 2.
Span< Real2 > Real2Span
Equivalent C d'un tableau à une dimension de Real2.
MultiArray2< Int16 > Int16MultiArray2
Tableau 2D a taille variable d'entiers 16 bits.
UniqueArray2< Pointer > PointerUniqueArray2
Tableau dynamique 2D de pointeurs.
MultiArray2< UChar > UCharMultiArray2
Tableau 2D a taille variable de caractères unicode.
SharedArray< Byte > ByteSharedArray
Tableau dynamique à une dimension de caractères.
Array< Real3 > Real3Array
Tableau dynamique à une dimension de vecteurs de rang 3.
Array< Pointer > PointerArray
Tableau dynamique à une dimension de pointeurs.
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.