Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
VariableTypeInfo.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* VariableTypeInfo.h (C) 2000-2020 */
9/* */
10/* Informations caractérisants le type d'une variable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_VARIABLETYPEINFO_H
13#define ARCANE_VARIABLETYPEINFO_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Informations caractérisant le type d'une variable.
29 *
30 * Les instances de cette classes peuvent être utilisées dans les
31 * constructeurs statiques. Pour éviter tout problème cette classe ne doit
32 * pas utiliser d'allocation dynamique.
33 */
34class ARCANE_CORE_EXPORT VariableTypeInfo
35{
36 public:
37
38 constexpr VariableTypeInfo(eItemKind item_kind,eDataType data_type,Integer dimension,
39 Integer multi_tag,bool is_partial)
40 : m_item_kind(item_kind), m_data_type(data_type), m_dimension(dimension),
41 m_multi_tag(multi_tag), m_is_partial(is_partial){}
42
43 public:
44
45 //! Type d'entité de maillage
46 constexpr eItemKind itemKind() const { return m_item_kind; }
47 //! Dimension
48 constexpr Integer dimension() const { return m_dimension; }
49 //! Multi-tag
50 constexpr Integer multiTag() const { return m_multi_tag; }
51 //! Type des données de la variable
52 constexpr eDataType dataType() const { return m_data_type; }
53 //! Indique si la variable est partielle
54 constexpr bool isPartial() const { return m_is_partial; }
55
56 //! Nom complet du type de la variable
57 String fullName() const;
58
59 public:
60
61 //! Conteneur de donnée par défaut associé à ce type de variable
62 DataStorageTypeInfo _internalDefaultDataStorage() const;
63
64 private:
65
66 //! Genre des entités de maillage (peut être nul)
67 eItemKind m_item_kind;
68
69 //! Type des données de la variable
70 eDataType m_data_type;
71
72 //! Dimension de la variable
73 Integer m_dimension;
74
75 //! Tag indiquant si on utilise des tableaux de taille variables.
76 Integer m_multi_tag;
77
78 //! Indique si la variable est partielle.
79 bool m_is_partial;
80
81 private:
82
83 String _buildFullTypeName() const;
84};
85
86/*---------------------------------------------------------------------------*/
87/*---------------------------------------------------------------------------*/
88
89} // End namespace Arcane
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94#endif
95
Informations de type pour un conteneur de données.
Chaîne de caractères unicode.
constexpr bool isPartial() const
Indique si la variable est partielle.
constexpr Integer multiTag() const
Multi-tag.
constexpr Integer dimension() const
Dimension.
constexpr eItemKind itemKind() const
Type d'entité de maillage.
constexpr eDataType dataType() const
Type des données de la variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
eItemKind
Genre d'entité de maillage.
eDataType
Type d'une donnée.
Definition DataTypes.h:39