Arcane  v3.14.10.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-2024 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-2024 */
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;
72
73class StringImpl;
74class String;
75class StringBuilder;
78
79class TraceInfo;
80class StackTrace;
81class Exception;
82class StackFrame;
85template<typename T>
86class CheckedPointer;
87template<class T>
89template<typename T>
98enum class eBasicDataType : unsigned char;
99class IFunctor;
100template<typename ArgType>
102template<typename ReturnType,typename Arg1,typename Arg2>
104template<typename T>
105class FunctorT;
106template<typename ClassType,typename ArgType>
108template<typename ArgType>
110
111/*---------------------------------------------------------------------------*/
112/*---------------------------------------------------------------------------*/
113
114//! Equivalent C d'un tableau à une dimension de pointeurs
116//! Equivalent C d'un tableau à une dimension de caractères
118//! Equivalent C d'un tableau à une dimension de caractères unicode
120//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
122//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
124//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
126//! Equivalent C d'un tableau à une dimension d'entiers
128//! Equivalent C d'un tableau à une dimension de réels
130//! Equivalent C d'un tableau à une dimension de booléens
132//! Equivalent C d'un tableau à une dimension d'entiers
134
135//! Equivalent C d'un tableau à une dimension de pointeurs
137//! Equivalent C d'un tableau à une dimension de caractères
139//! Equivalent C d'un tableau à une dimension de caractères unicode
141//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
143//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
145//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
147//! Equivalent C d'un tableau à une dimension d'entiers
149//! Equivalent C d'un tableau à une dimension de réels
151//! Equivalent C d'un tableau à une dimension de booléens
153//! Equivalent C d'un tableau à une dimension d'entiers
155
156/*---------------------------------------------------------------------------*/
157/*---------------------------------------------------------------------------*/
158
159//! Equivalent C d'un tableau à une dimension de pointeurs
161//! Equivalent C d'un tableau à une dimension de caractères
163//! Equivalent C d'un tableau à une dimension de caractères unicode
165//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
167//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
169//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
171//! Equivalent C d'un tableau à une dimension d'entiers
173//! Equivalent C d'un tableau à une dimension de réels
175//! Equivalent C d'un tableau à une dimension de booléens
177//! Equivalent C d'un tableau à une dimension d'entiers
179
180//! Equivalent C d'un tableau à une dimension de pointeurs
182//! Equivalent C d'un tableau à une dimension de caractères
184//! Equivalent C d'un tableau à une dimension de caractères unicode
186//! Equivalent C d'un tableau à une dimension d'entiers 64 bits
188//! Equivalent C d'un tableau à une dimension d'entiers 32 bits
190//! Equivalent C d'un tableau à une dimension d'entiers 16 bits
192//! Equivalent C d'un tableau à une dimension d'entiers
194//! Equivalent C d'un tableau à une dimension de réels
196//! Equivalent C d'un tableau à une dimension de booléens
198//! Equivalent C d'un tableau à une dimension d'entiers
200
201/*---------------------------------------------------------------------------*/
202/*---------------------------------------------------------------------------*/
203
204} // End namespace Arccore
205
206/*---------------------------------------------------------------------------*/
207/*---------------------------------------------------------------------------*/
208
209#endif
Exception lorsqu'un argument est invalide.
Vue modifiable pour un tableau 2D.
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é.
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.
Espace de nom de Arccore.
Definition ArcaneTypes.h:24
ArrayView< Int32 > Int32ArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:123
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:129
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:140
ArrayView< bool > BoolArrayView
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:131
Span< const Int64 > Int64ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:187
Span< Int32 > Int32Span
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:168
ConstArrayView< Real > RealConstArrayView
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:150
Span< Real > RealSpan
Equivalent C d'un tableau à une dimension de réels.
Definition BaseTypes.h:174
ConstArrayView< Integer > IntegerConstArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:148
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:172
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:197
ArrayView< Int16 > Int16ArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:125
ConstArrayView< bool > BoolConstArrayView
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:152
Span< UChar > UCharSpan
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:164
ArrayView< Byte > ByteArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:117
Span< const std::byte > ByteConstSpan
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:183
Span< const Integer > IntegerConstSpan
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:193
ArrayView< Int64 > Int64ArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:121
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:166
ConstArrayView< Byte > ByteConstArrayView
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:138
ConstArrayView< Pointer > PointerConstArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:136
ConstArrayView< Int64 > Int64ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 64 bits.
Definition BaseTypes.h:142
ArrayView< UChar > UCharArrayView
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:119
ArrayView< Integer > IntegerArrayView
Equivalent C d'un tableau à une dimension d'entiers.
Definition BaseTypes.h:127
ArrayView< Pointer > PointerArrayView
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:115
Span< bool > BoolSpan
Equivalent C d'un tableau à une dimension de booléens.
Definition BaseTypes.h:176
Span< std::byte > ByteSpan
Equivalent C d'un tableau à une dimension de caractères.
Definition BaseTypes.h:162
ConstArrayView< Int16 > Int16ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:146
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:195
Span< const Pointer > PointerConstSpan
Equivalent C d'un tableau à une dimension de pointeurs.
Definition BaseTypes.h:181
Span< const UChar > UCharConstSpan
Equivalent C d'un tableau à une dimension de caractères unicode.
Definition BaseTypes.h:185
Span< const Int32 > Int32ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:189
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:170
Span< const Int16 > Int16ConstSpan
Equivalent C d'un tableau à une dimension d'entiers 16 bits.
Definition BaseTypes.h:191
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:160
ConstArrayView< Int32 > Int32ConstArrayView
Equivalent C d'un tableau à une dimension d'entiers 32 bits.
Definition BaseTypes.h:144
Structure servant à tagger les interfaces/classes qui utilisent un compteur de référence interne.