12#ifndef ARCANE_DATATYPE_DATATYPETRAITS_H
13#define ARCANE_DATATYPE_DATATYPETRAITS_H
17#include "arcane/ArcaneTypes.h"
18#include "arcane/utils/BasicDataType.h"
29class DataTypeScalarReal;
34template<
typename DataType>
40template<
typename Type>
64 static constexpr const char*
name() {
return "Bool"; }
105 static constexpr const char*
name() {
return "Byte"; }
111 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Byte; }
147 static constexpr const char*
name() {
return "Real"; }
154 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Float64; }
187 static constexpr const char*
name() {
return "Int16"; }
193 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int16; }
226 static constexpr const char*
name() {
return "Int32"; }
232 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int32; }
265 static constexpr const char*
name() {
return "Int64"; }
271 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int64; }
304 static constexpr const char*
name() {
return "String"; }
316 static ARCANE_CORE_EXPORT
Type defaultValue();
343 static constexpr const char*
name() {
return "Real2"; }
358 static ARCANE_CORE_EXPORT
Type defaultValue();
362 static constexpr bool HasSubscriptOperator() {
return true; }
363 static constexpr bool HasComponentX() {
return true; }
364 static constexpr bool HasComponentY() {
return true; }
366 using ComponentType =
Real;
393 static constexpr const char*
name() {
return "Real3"; }
408 static ARCANE_CORE_EXPORT
Type defaultValue();
410 static constexpr bool HasSubscriptOperator() {
return true; }
411 static constexpr bool HasComponentX() {
return true; }
412 static constexpr bool HasComponentY() {
return true; }
413 static constexpr bool HasComponentZ() {
return true; }
415 using ComponentType =
Real;
442 static constexpr const char*
name() {
return "Real2x2"; }
457 static ARCANE_CORE_EXPORT
Type defaultValue();
459 static constexpr bool HasSubscriptOperator() {
return true; }
461 static constexpr bool HasComponentXX() {
return true; }
462 static constexpr bool HasComponentYX() {
return true; }
463 static constexpr bool HasComponentXY() {
return true; }
464 static constexpr bool HasComponentYY() {
return true; }
466 static constexpr bool HasComponentX() {
return true; }
467 static constexpr bool HasComponentY() {
return true; }
469 using ComponentType = Real2;
496 static constexpr const char*
name() {
return "Real3x3"; }
511 static ARCANE_CORE_EXPORT
Type defaultValue();
513 static constexpr bool HasSubscriptOperator() {
return true; }
515 static constexpr bool HasComponentXX() {
return true; }
516 static constexpr bool HasComponentYX() {
return true; }
517 static constexpr bool HasComponentZX() {
return true; }
518 static constexpr bool HasComponentXY() {
return true; }
519 static constexpr bool HasComponentYY() {
return true; }
520 static constexpr bool HasComponentZY() {
return true; }
521 static constexpr bool HasComponentXZ() {
return true; }
522 static constexpr bool HasComponentYZ() {
return true; }
523 static constexpr bool HasComponentZZ() {
return true; }
525 static constexpr bool HasComponentX() {
return true; }
526 static constexpr bool HasComponentY() {
return true; }
527 static constexpr bool HasComponentZ() {
return true; }
529 using ComponentType = Real3;
565template<
int RowSize,
int ColumnSize>
580 static constexpr int nbBasicType() {
return RowSize * ColumnSize; }
Proxy d'un type du langage.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr const char * name()
Nom du type de donnée.
static constexpr eDataType type()
Type de donnée.
Byte BasicType
Type de donnée de base de ce type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
static constexpr Type nanValue()
Elément initialisé à NAN.
BuiltInProxy< Byte > ProxyType
Type du proxy associé
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eDataType type()
Type de donnée.
Int16 BasicType
Type de donnée de base de ce type de donnée.
BuiltInProxy< Int32 > ProxyType
Type du proxy associé
Int16 Type
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr Type defaultValue()
Valeur par défaut.
static constexpr const char * name()
Nom du type de donnée.
Int32 Type
Type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
BuiltInProxy< Int32 > ProxyType
Type du proxy associé
static constexpr const char * name()
Nom du type de donnée.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
Int32 BasicType
Type de donnée de base de ce type de donnée.
static constexpr eDataType type()
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr Type defaultValue()
Valeur par défaut.
static constexpr eDataType type()
Type de donnée.
Int64 BasicType
Type de donnée de base de ce type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
BuiltInProxy< Int64 > ProxyType
Type du proxy associé
Int64 Type
Type de donnée.
static constexpr const char * name()
Nom du type de donnée.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
Real BasicType
Type de donnée de base de ce type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
Real FunctionCall2ReturnType
Type de retour de operator()(Int32,Int32) pour ce type.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
Real BasicType
Type de donnée de base de ce type de donnée.
Real FunctionCall1ReturnType
Type de retour de operator()(Int32) pour ce type.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eDataType type()
Type de donnée.
Real BasicType
Type de donnée de base de ce type de donnée.
Real2Proxy ProxyType
Type du proxy associé
static constexpr const char * name()
Nom du type de donnée.
Real2 Type
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
Real SubscriptType
Type de retour de operator[] pour ce type.
Real BasicType
Type de donnée de base de ce type de donnée.
Real2x2Proxy ProxyType
Type du proxy associé
static constexpr eDataType type()
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr const char * name()
Nom du type de donnée.
Real2x2 Type
Type de donnée.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
Real3Proxy ProxyType
Type du proxy associé
Real BasicType
Type de donnée de base de ce type de donnée.
static constexpr const char * name()
Nom du type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
Real SubscriptType
Type de retour de operator[] pour ce type.
static constexpr eDataType type()
Type de donnée.
Real3 Type
Type de donnée.
static constexpr eDataType type()
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
Real3x3Proxy ProxyType
Type du proxy associé
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
Real3x3 Type
Type de donnée.
static constexpr const char * name()
Nom du type de donnée.
Real BasicType
Type de donnée de base de ce type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr const char * name()
Nom du type de donnée.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eDataType type()
Type de donnée.
Real BasicType
Type de donnée de base de ce type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
BuiltInProxy< Real > ProxyType
Type du proxy associé
String Type
Type de donnée.
String BasicType
Type de donnée de base de ce type de donnée.
static constexpr const char * name()
Nom du type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
String ProxyType
Type du proxy associé
static constexpr eDataType type()
Type de donnée.
static constexpr eDataType type()
bool BasicType
Type de donnée de base de ce type de donnée.
static constexpr const char * name()
Nom du type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr Type defaultValue()
Valeur par défaut.
static Type nanValue()
Elément initialisé à NAN.
BuiltInProxy< bool > ProxyType
Type du proxy associé
static void fillNan(ArrayView< Type > values)
Remplit les éléments de values avec des Nan.
Petite matrice de taille fixe contenant RowSize lignes et ColumnSize colonnes.
Petit vecteur de taille fixe de N données numériques.
Classe gérant un vecteur de réel de dimension 2.
Classe gérant un vecteur de réel de dimension 2.
Classe gérant une matrice de réel de dimension 2x2.
Classe gérant un vecteur de réel de dimension 3.
Classe gérant une matrice de réel de dimension 3x3.
Vue modifiable d'un tableau d'un type T.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
unsigned char Byte
Type d'un octet.
eDataType
Type d'une donnée.
@ DT_Real2x2
Donnée de type tenseur 3x3.
@ DT_Int16
Donnée de type entier 16 bits.
@ DT_Real3x3
Donnée de type tenseur 3x3.
@ DT_Int32
Donnée de type entier 32 bits.
@ DT_Real3
Donnée de type vecteur 3.
@ DT_Int64
Donnée de type entier 64 bits.
@ DT_String
Donnée de type chaîne de caractère UTF-8.
@ DT_Real2
Donnée de type vecteur 2.
@ DT_Real
Donnée de type réel.
@ DT_Byte
Donnée de type octet.
double Real
Type représentant un réel.