12#ifndef ARCANE_HDF5_HDF5UTILS_H
13#define ARCANE_HDF5_HDF5UTILS_H
18#include "arcane/utils/String.h"
19#include "arcane/utils/Array.h"
20#include "arcane/utils/NumericTypes.h"
22#include "arcane/datatype/DataTypes.h"
24#include "arcane/hdf5/ArcaneHdf5Global.h"
35#if (H5_VERS_MAJOR<2) && (H5_VERS_MAJOR==1 && H5_VERS_MINOR<10)
36#error "This version of HDF5 is too old. Version 1.10+ is required"
40#define ARCANE_HDF5_1_6_AND_AFTER
41#define ARCANE_HDF5_1_8_AND_AFTER
63 ARCANE_HDF5_EXPORT herr_t _ArcaneHdf5UtilsGroupIterateMe(hid_t,
const char*,
void*);
82 static bool hasParallelHdf5();
92class ARCANE_HDF5_EXPORT
Hid
108 void _setId(
hid_t id) { m_id = id; }
109 void _setNullId() { m_id = -1; }
117 hid_t id()
const {
return m_id; }
118 bool isBad()
const {
return m_id < 0; }
198 void createDatasetTransfertCollectiveMPIIO();
228 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
299 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
360 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
400 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
469 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
534 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
573 ARCANE_DEPRECATED_REASON(
"Y2023: Copy constructor is deprecated. This class has unique ownership")
589 hid_t nativeType(
Real2)
const {
return m_real2_id.id(); }
590 hid_t nativeType(
Real3)
const {
return m_real3_id.id(); }
591 hid_t nativeType(
Real2x2)
const {
return m_real2x2_id.id(); }
592 hid_t nativeType(
Real3x3)
const {
return m_real3x3_id.id(); }
605#ifdef ARCANE_REAL_NOT_BUILTIN
606 hid_t nativeType(Real)
const;
609 hid_t nativeType(
BFloat16)
const {
return m_bfloat16_id.id(); }
610 hid_t nativeType(
Float16)
const {
return m_float16_id.id(); }
614 hid_t saveType(
float)
const
616 return m_float32_id.id();
618 hid_t saveType(
double)
const
620 return m_real_id.id();
624 return m_real2_id.id();
628 return m_real3_id.id();
632 return m_real2x2_id.id();
636 return m_real3x3_id.id();
638 hid_t saveType(
long double)
const
640 return m_real_id.id();
642 hid_t saveType(
short)
const
644 return m_short_id.id();
646 hid_t saveType(
unsigned short)
const
648 return m_ushort_id.id();
650 hid_t saveType(
unsigned int)
const
652 return m_uint_id.id();
654 hid_t saveType(
unsigned long)
const
656 return m_ulong_id.id();
658 hid_t saveType(
unsigned long long)
const
660 return m_ulong_id.id();
662 hid_t saveType(
int)
const
664 return m_int_id.id();
666 hid_t saveType(
long)
const
668 return m_long_id.id();
670 hid_t saveType(
long long)
const
672 return m_long_id.id();
674 hid_t saveType(
char)
const
676 return m_char_id.id();
678 hid_t saveType(
unsigned char)
const
680 return m_uchar_id.id();
682 hid_t saveType(
signed char)
const
684 return m_schar_id.id();
688 return m_bfloat16_id.id();
692 return m_float16_id.id();
694#ifdef ARCANE_REAL_NOT_BUILTIN
695 hid_t saveType(Real)
const
697 return m_real_id.id();
762 virtual bool exists()
const;
785template<
typename DataType>
798 return m_uid <
rhs.m_uid;
832template<
typename DataType>
Déclarations des types utilisés dans Arcane.
Tableau d'items de types quelconques.
Encapsule un hid_t pour un attribute.
Encapsule un hid_t pour un dataset.
Encapsule un hid_t pour un fichier.
Classe d'aide pour rechercher un groupe.
Encapsule un hid_t pour un groupe.
Classe servant d'initialiseur pour HDF.
Encapsule un hid_t pour une propriété (H5P*).
Encapsule un hid_t pour un dataspace.
Encapsule un hid_t pour un type.
Encapsule un dataset simple d'un fichier HDF5 qui représente un tableau.
Encapsule un dataset simple d'un fichier HDF5 qui représente un tableau.
Encapsule un dataset simple d'un fichier HDF5 qui représente un scalaire (éventuellement String).
StandardScalarT(hid_t hfile, const String &hpath)
Constructeur.
Définition des types standards Arcane pour hdf5.
HType m_bfloat16_id
Identifiant HDF pour les BFloat16.
HType m_real2x2_id
Identifiant HDF pour les Real2x2.
HType m_long_id
Identifiant HDF des entiers long signés.
HType m_int_id
Identifiant HDF des entiers signés.
HType m_short_id
Identifiant HDF des entiers signés.
HType m_real3x3_id
Identifiant HDF pour les Real3x3.
HType m_real_id
Identifiant HDF des réels.
HType m_ushort_id
Identifiant HDF des entiers long signés.
HType m_ulong_id
Identifiant HDF des entiers long non signés.
HType m_schar_id
Identifiant HDF des caractères signés.
HType m_uchar_id
Identifiant HDF des caractères non-signés.
HType m_real2_id
Identifiant HDF pour les Real2.
HType m_float32_id
Identifiant HDF pour les Float16.
HType m_float16_id
Identifiant HDF pour les Float16.
HType m_char_id
Identifiant HDF des charactères.
HType m_uint_id
Identifiant HDF des entiers non signés.
HInit m_init
Classe initialisant HDF.
HType m_real3_id
Identifiant HDF pour les Real3.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
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 constante d'un tableau de type T.
Type flottant demi-précision.
Interface du gestionnaire de traces.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
eDataType
Type d'une donnée.