Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
VariableMetaData.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2023 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/* VariableMetaData.h C) 2000-2023 */
9/* */
10/* Meta-données sur une variable. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_VARIABLEMETADATA_H
13#define ARCANE_CORE_VARIABLEMETADATA_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22namespace Arcane
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27/*!
28 * \brief Meta-données sur une variable.
29 *
30 * Les informations de cette classe permettent de reconstruire une
31 * variable.
32 *
33 * Si hash2() est non nul, on l'utilise. Sinon on utilise hash().
34 */
35class ARCANE_CORE_EXPORT VariableMetaData
36{
37 public:
38 /*!
39 * \brief Constructeur.
40 *
41 * Contruit l'instance pour une variable de nom \a base_name,
42 * de la famille \a item_family_name et de groupe \a item_group_name.
43 * Si la variable n'est pas sur un maillage, alors \a mesh_name,
44 * \a item_family_name et \a item_group_name sont nuls.
45 */
46 VariableMetaData(const String& base_name,const String& mesh_name,
47 const String& item_family_name,const String& item_group_name,
48 bool is_partial);
49
50 public:
51
52 //! Nom complet de la variable
53 String fullName() const { return m_full_name; }
54 //! Nom de base de la variable
55 String baseName() const { return m_base_name; }
56 String meshName() const { return m_mesh_name; }
57 String itemFamilyName() const { return m_item_family_name; }
58 String itemGroupName() const { return m_item_group_name; }
59 bool isPartial() const { return m_is_partial; }
60
61 String fullType() const { return m_full_type; }
62 void setFullType(const String& v) { m_full_type = v; }
63
64 //! Hash de la variable sous forme de hexadécimale
65 String hash() const { return m_hash_str; }
66 void setHash(const String& v) { m_hash_str = v; }
67
68 //! Hash de la variable sous forme de hexadécimale
69 String hash2() const { return m_hash2_str; }
70 void setHash2(const String& v) { m_hash2_str = v; }
71
72 //! Version du hash (associé à hash2())
73 Int32 hashVersion() const { return m_hash_version; }
74 void setHashVersion(Int32 v) { m_hash_version = v; }
75
76 Integer property() const { return m_property; }
77 void setProperty(Integer v) { m_property = v; }
78
79 String multiTag() const { return m_multi_tag; }
80 void setMultiTag(const String& v) { m_multi_tag = v; }
81
82
83 private:
84
85 String m_base_name;
86 String m_mesh_name;
87 String m_item_family_name;
88 String m_item_group_name;
89 String m_full_type;
90 String m_hash_str;
91 Integer m_property;
92 String m_multi_tag;
93 String m_full_name;
94 bool m_is_partial;
95 String m_hash2_str;
96 Int32 m_hash_version = 0;
97
98 private:
99
100 void _buildFullName();
101};
102
103/*---------------------------------------------------------------------------*/
104/*---------------------------------------------------------------------------*/
105
106} // End namespace Arcane
107
108/*---------------------------------------------------------------------------*/
109/*---------------------------------------------------------------------------*/
110
111#endif
112
Chaîne de caractères unicode.
VariableMetaData(const String &base_name, const String &mesh_name, const String &item_family_name, const String &item_group_name, bool is_partial)
Constructeur.
String hash() const
Hash de la variable sous forme de hexadécimale.
String hash2() const
Hash de la variable sous forme de hexadécimale.
Int32 hashVersion() const
Version du hash (associé à hash2())
String fullName() const
Nom complet de la variable.
String baseName() const
Nom de base de la variable.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.
std::int32_t Int32
Type entier signé sur 32 bits.