Arcane  v3.14.10.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
Meta-données sur une variable.
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.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Int32 Integer
Type représentant un entier.