Arcane  v3.15.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
BaseTypes.h
Aller à la documentation de ce fichier.
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2025 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* BaseTypes.h (C) 2000-2025 */
9/* */
10/* Définition des types de la composante 'base' de Arccore. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_BASE_BASETYPES_H
13#define ARCCORE_BASE_BASETYPES_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/base/ArccoreGlobal.h"
18
19#include <cstddef>
20
21/*---------------------------------------------------------------------------*/
22/*---------------------------------------------------------------------------*/
23
24namespace Arccore
25{
26
27/*---------------------------------------------------------------------------*/
28/*---------------------------------------------------------------------------*/
29
30/*!
31 * \file BaseTypes.h
32 *
33 * \brief Déclarations des types de la composante 'base' de %Arccore.
34 */
35
36template <typename T> class IterT;
37template <typename T> class ConstIterT;
38
39/*---------------------------------------------------------------------------*/
40/*---------------------------------------------------------------------------*/
41
42//! Type d'un octet
43typedef unsigned char Byte;
44//! Type d'un octet
45typedef signed char SByte;
46//! Type d'un caractère unicode
47typedef unsigned short UChar;
48//! Type d'un Int16 non signé
49typedef unsigned short UInt16;
50//! Type d'un réel simple précision
51typedef float Single;
52
53//! Indique que la dimension d'un tableau est dynamique
54inline constexpr Int32 DynExtent = -1;
55
56template <typename T> class ConstArrayView;
57template <typename T> class ArrayView;
58template <typename T> class ConstArray2View;
59template <typename T> class Array2View;
60template <typename T> class ConstArray3View;
61template <typename T> class Array3View;
62template <typename T> class ConstArray4View;
63template <typename T> class Array4View;
64template <class DataType> class CoreArray;
65template <typename T, typename SizeType, SizeType Extent = DynExtent, SizeType MinValue = 0> class SpanImpl;
66template <typename T, Int64 Extent = DynExtent, Int64 MinValue = 0> class Span;
67template <typename T, Int32 Extent = DynExtent, Int32 MinValue = 0> class SmallSpan;
68template <typename T, Int64 Extent = DynExtent, Int64 MinValue = 0> using LargeSpan = Span<T, Extent, MinValue>;
69template <typename T, typename SizeType, SizeType Extent1 = DynExtent, SizeType Extent2 = DynExtent> class Span2Impl;
70template <typename T, Int64 Extent1 = DynExtent, Int64 Extent2 = DynExtent> class Span2;
71template <typename T, Int32 Extent1 = DynExtent, Int32 Extent2 = DynExtent> class SmallSpan2;
72template <typename Iterator_>
73class ArrayIterator;
74
75class StringImpl;
76class String;
77class StringBuilder;
80
81class TraceInfo;
82class StackTrace;
83class Exception;
84class StackFrame;
87template <typename T>
88class CheckedPointer;
89template <class T>
91template <typename T>
100enum class eBasicDataType : unsigned char;
101class IFunctor;
102template <typename ArgType>
104template <typename ReturnType, typename Arg1, typename Arg2>
106template <typename T>
107class FunctorT;
108template <typename ClassType, typename ArgType>
110template <typename ArgType>
113template <typename InstanceType, class T = void>
114struct RefTraits;
116class Ref;
117
118namespace impl
119{
120 template <typename InstanceType>
121 class ReferenceCounterWrapper;
122}
123
124// Ces classes sont internes à Arccore/Arcane
125template <typename T>
126class ArrayRange;
127class BasicTranscoder;
128
129/*---------------------------------------------------------------------------*/
130/*---------------------------------------------------------------------------*/
131
132//! Equivalent C d'un tableau à une dimension de pointeurs
134//! Equivalent C d'un tableau à une dimension de caractères
136//! Equivalent C d'un tableau à une dimension de caractères unicode
138//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
140//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
142//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
144//! Equivalent C d'un tableau à une dimension d'entiers
146//! Equivalent C d'un tableau à une dimension de réels
148//! Equivalent C d'un tableau à une dimension de booléens
150//! Equivalent C d'un tableau à une dimension d'entiers
152
153//! Equivalent C d'un tableau à une dimension de pointeurs
155//! Equivalent C d'un tableau à une dimension de caractères
157//! Equivalent C d'un tableau à une dimension de caractères unicode
159//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
161//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
163//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
165//! Equivalent C d'un tableau à une dimension d'entiers
167//! Equivalent C d'un tableau à une dimension de réels
169//! Equivalent C d'un tableau à une dimension de booléens
171//! Equivalent C d'un tableau à une dimension d'entiers
173
174/*---------------------------------------------------------------------------*/
175/*---------------------------------------------------------------------------*/
176
177//! Equivalent C d'un tableau à une dimension de pointeurs
179//! Equivalent C d'un tableau à une dimension de caractères
181//! Equivalent C d'un tableau à une dimension de caractères unicode
183//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
185//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
187//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
189//! Equivalent C d'un tableau à une dimension d'entiers
191//! Equivalent C d'un tableau à une dimension de réels
193//! Equivalent C d'un tableau à une dimension de booléens
195//! Equivalent C d'un tableau à une dimension d'entiers
197
198//! Equivalent C d'un tableau à une dimension de pointeurs
200//! Equivalent C d'un tableau à une dimension de caractères
202//! Equivalent C d'un tableau à une dimension de caractères unicode
204//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
206//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
208//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
210//! Equivalent C d'un tableau à une dimension d'entiers
212//! Equivalent C d'un tableau à une dimension de réels
214//! Equivalent C d'un tableau à une dimension de booléens
216//! Equivalent C d'un tableau à une dimension d'entiers
218
219/*---------------------------------------------------------------------------*/
220/*---------------------------------------------------------------------------*/
221
222} // End namespace Arccore
223
224/*---------------------------------------------------------------------------*/
225/*---------------------------------------------------------------------------*/
226
227namespace Arcane
228{
241using Arccore::IterT;
244using Arccore::Span;
245using Arccore::Span2;
248using Arccore::StringImpl;
249
260using Arccore::Ref;
267
274
275using Arccore::Byte;
276using Arccore::SByte;
277using Arccore::Single;
278using Arccore::UChar;
279using Arccore::UInt16;
280
281// Ces classes sont internes à Arccore/Arcane
283}
284
285/*---------------------------------------------------------------------------*/
286/*---------------------------------------------------------------------------*/
287
288#endif
Exception lorsqu'un argument est invalide.
Vue modifiable pour un tableau 2D.
Itérateur sur les classes tableau de Arccore.
Vue modifiable d'un tableau d'un type T.
Encapsulation d'un pointeur.
Vue constante d'un tableau de type T.
Classe de base d'une exception.
Exception lorsqu'une erreur fatale est survenue.
Interface d'un fonctor avec 2 arguments et une valeur de retour.
Interface d'un fonctor avec argument mais sans valeur de retour.
Exception lorsqu'une valeur n'est pas dans un intervalle donné.
Référence à une instance.
Accesseur des méthodes de gestion de compteurs de référence.
Implémentation thread-safe d'un compteur de référence.
Encapsulation d'un pointeur avec compteur de référence.
Vue pour un tableau 2D dont la taille est un 'Int32'.
Definition Span2.h:233
Vue d'un tableau d'éléments de type T.
Definition Span.h:670
Vue pour un tableau 2D.
Definition Span2.h:64
Vue pour un tableau 2D dont la taille est un 'Int64'.
Definition Span2.h:301
Vue d'un tableau d'éléments de type T.
Definition Span.h:89
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
Constructeur de chaîne de caractère unicode.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Espace de nom de Arccore.
Definition ArcaneTypes.h:29
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:141
constexpr Int32 DynExtent
Indique que la dimension d'un tableau est dynamique.
Definition BaseTypes.h:54
ArrayView< Real > RealArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:147
float Single
Type d'un réel simple précision.
Definition BaseTypes.h:51
ConstArrayView< UChar > UCharConstArrayView
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:158
ArrayView< bool > BoolArrayView
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:149
Span< const Int64 > Int64ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:205
Span< Int32 > Int32Span
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:186
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:168
Span< Real > RealSpan
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:192
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:166
unsigned short UInt16
Type d'un Int16 non signé
Definition BaseTypes.h:49
Span< Integer > IntegerSpan
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:190
unsigned short UChar
Type d'un caractère unicode.
Definition BaseTypes.h:47
Span< const bool > BoolConstSpan
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:215
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:143
ConstArrayView< bool > BoolConstArrayView
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:170
Span< UChar > UCharSpan
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:182
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:135
Span< const std::byte > ByteConstSpan
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:201
Span< const Integer > IntegerConstSpan
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:211
ArrayView< Int64 > Int64ArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:139
eBasicDataType
Type d'une donnée de base.
Span< Int64 > Int64Span
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:184
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:156
ConstArrayView< Pointer > PointerConstArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:154
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:160
ArrayView< UChar > UCharArrayView
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:137
ArrayView< Integer > IntegerArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:145
ArrayView< Pointer > PointerArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:133
Span< bool > BoolSpan
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:194
Span< std::byte > ByteSpan
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:180
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:164
std::int32_t Int32
Type entier signé sur 32 bits.
Span< const Real > RealConstSpan
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:213
Span< const Pointer > PointerConstSpan
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:199
Span< const UChar > UCharConstSpan
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:203
Span< const Int32 > Int32ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:207
signed char SByte
Type d'un octet.
Definition BaseTypes.h:45
Span< Int16 > Int16Span
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:188
Span< const Int16 > Int16ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:209
unsigned char Byte
Type d'un octet.
Definition BaseTypes.h:43
Span< Pointer > PointerSpan
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:178
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:162
Caractéristiques pour gérer les compteurs de référence.
Structure servant à tagger les interfaces/classes qui utilisent un compteur de référence interne.