12#ifndef ARCANE_DATATYPE_DATATYPETRAITS_H
13#define ARCANE_DATATYPE_DATATYPETRAITS_H
17#include "arcane/utils/BasicDataType.h"
18#include "arcane/utils/BFloat16.h"
19#include "arcane/utils/Float16.h"
20#include "arcane/utils/Float128.h"
21#include "arcane/utils/Int128.h"
34class DataTypeScalarReal;
39template<
typename DataType>
45template<
typename Type>
69 static constexpr const char*
name() {
return "Bool"; }
77 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Byte; }
113 static constexpr const char*
name() {
return "Byte"; }
119 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Byte; }
155 static constexpr const char*
name() {
return "Real"; }
162 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Float64; }
195 static constexpr const char*
name() {
return "Float128"; }
202 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Float128; }
235 static constexpr const char*
name() {
return "Float32"; }
242 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Float32; }
275 static constexpr const char*
name() {
return "BFloat16"; }
282 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::BFloat16; }
315 static constexpr const char*
name() {
return "Float16"; }
322 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Float16; }
355 static constexpr const char*
name() {
return "Int8"; }
361 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int8; }
394 static constexpr const char*
name() {
return "Int16"; }
400 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int16; }
433 static constexpr const char*
name() {
return "Int32"; }
439 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int32; }
472 static constexpr const char*
name() {
return "Int64"; }
478 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int64; }
511 static constexpr const char*
name() {
return "Int128"; }
517 static constexpr eBasicDataType
basicDataType() {
return eBasicDataType::Int128; }
550 static constexpr const char*
name() {
return "String"; }
562 static ARCANE_CORE_EXPORT
Type defaultValue();
589 static constexpr const char*
name() {
return "Real2"; }
604 static ARCANE_CORE_EXPORT
Type defaultValue();
608 static constexpr bool HasSubscriptOperator() {
return true; }
609 static constexpr bool HasComponentX() {
return true; }
610 static constexpr bool HasComponentY() {
return true; }
612 using ComponentType =
Real;
639 static constexpr const char*
name() {
return "Real3"; }
654 static ARCANE_CORE_EXPORT
Type defaultValue();
656 static constexpr bool HasSubscriptOperator() {
return true; }
657 static constexpr bool HasComponentX() {
return true; }
658 static constexpr bool HasComponentY() {
return true; }
659 static constexpr bool HasComponentZ() {
return true; }
661 using ComponentType =
Real;
688 static constexpr const char*
name() {
return "Real2x2"; }
703 static ARCANE_CORE_EXPORT
Type defaultValue();
705 static constexpr bool HasSubscriptOperator() {
return true; }
707 static constexpr bool HasComponentXX() {
return true; }
708 static constexpr bool HasComponentYX() {
return true; }
709 static constexpr bool HasComponentXY() {
return true; }
710 static constexpr bool HasComponentYY() {
return true; }
712 static constexpr bool HasComponentX() {
return true; }
713 static constexpr bool HasComponentY() {
return true; }
715 using ComponentType = Real2;
742 static constexpr const char*
name() {
return "Real3x3"; }
757 static ARCANE_CORE_EXPORT
Type defaultValue();
759 static constexpr bool HasSubscriptOperator() {
return true; }
761 static constexpr bool HasComponentXX() {
return true; }
762 static constexpr bool HasComponentYX() {
return true; }
763 static constexpr bool HasComponentZX() {
return true; }
764 static constexpr bool HasComponentXY() {
return true; }
765 static constexpr bool HasComponentYY() {
return true; }
766 static constexpr bool HasComponentZY() {
return true; }
767 static constexpr bool HasComponentXZ() {
return true; }
768 static constexpr bool HasComponentYZ() {
return true; }
769 static constexpr bool HasComponentZZ() {
return true; }
771 static constexpr bool HasComponentX() {
return true; }
772 static constexpr bool HasComponentY() {
return true; }
773 static constexpr bool HasComponentZ() {
return true; }
775 using ComponentType = Real3;
811template<
int RowSize,
int ColumnSize>
Déclarations des types généraux de Arcane.
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.
BFloat16 BasicType
Type de donnée de base de ce type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
BFloat16 Type
Type de donnée.
BuiltInProxy< BFloat16 > ProxyType
Type du proxy associé
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.
Float128 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 eDataType type()
Type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
BuiltInProxy< Float128 > ProxyType
Type du proxy associé
static void fillNan(ArrayView< Type > values)
Remplit les éléments de values avec des Nan.
static constexpr Type defaultValue()
Valeur par défaut.
Float128 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.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eDataType type()
Type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
Float16 Type
Type de donnée.
Float16 BasicType
Type de donnée de base de ce type de donnée.
BuiltInProxy< Float16 > ProxyType
Type du proxy associé
BuiltInProxy< Float32 > ProxyType
Type du proxy associé
Float32 Type
Type de donnée.
Float32 BasicType
Type de donnée de base de ce type de donnée.
static constexpr Type defaultValue()
Valeur par défaut.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr eDataType type()
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 eBasicDataType basicDataType()
Type de donnée de base.
Int128 BasicType
Type de donnée de base de ce type de donnée.
static constexpr eDataType type()
Type de donnée.
Int128 Type
Type de donnée.
static void fillNan(ArrayView< Type > values)
Remplit les éléments de values avec des Nan.
static constexpr const char * name()
Nom du type de donnée.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
BuiltInProxy< Int128 > ProxyType
Type du proxy associé
static constexpr Type defaultValue()
Valeur par défaut.
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 Type defaultValue()
Valeur par défaut.
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
static constexpr int nbBasicType()
Nombre d'éléments du type de base.
static constexpr eDataType type()
Type de donnée.
Int8 BasicType
Type de donnée de base de ce type de donnée.
BuiltInProxy< Int8 > 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.
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()
static constexpr eBasicDataType basicDataType()
Type de donnée de base.
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.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
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.
Type flottant sur 128 bits.
Type flottant demi-précision.
Type entier sur 128 bits.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Arccore::Float128 Float128
Type représentant un floattan sur 128 bits.
Arccore::Int8 Int8
Type représentant un entier sur 8 bits.
eDataType
Type d'une donnée.
@ DT_Float32
Donnée de type 'Float32'.
@ DT_Int128
Donnée de type entier sur 128 bits.
@ DT_Real2x2
Donnée de type tenseur 3x3.
@ DT_Int16
Donnée de type entier 16 bits.
@ DT_Int8
Donnée de type entier sur 8 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_Float16
Donnée de type 'Float16'.
@ DT_Int64
Donnée de type entier 64 bits.
@ DT_String
Donnée de type chaîne de caractère UTF-8.
@ DT_BFloat16
Donnée de type 'BFloat16'.
@ DT_Real2
Donnée de type vecteur 2.
@ DT_Real
Donnée de type réel.
@ DT_Byte
Donnée de type octet.
@ DT_Float128
Donnée de type flottant sur 128 bits.