Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::VariablePrivate
+ Graphe d'héritage de Arcane::VariablePrivate:
+ Graphe de collaboration de Arcane::VariablePrivate:

Fonctions membres publiques

 VariablePrivate (const VariableBuildInfo &v, const VariableInfo &vi, Variable *var)
 
void serializeHashId (ISerializer *sbuf)
 Sérialise le hashid.
 
Implémentation de IVariableInternal
String computeComparisonHashCollective (IHashAlgorithm *hash_algo, IData *sorted_data) override
 Calcule de Hash de comparaison pour la variable.
 
void changeAllocator (const MemoryAllocationOptions &alloc_info) override
 Change l'allocateur de la variable.
 
void resizeWithReserve (Int32 new_size, Int32 additional_capacity) override
 Redimensionne la variable en ajoutant une capacité additionnelle.
 

Attributs publics

ISubDomainm_sub_domain = nullptr
 
IDataFactoryMngm_data_factory_mng = nullptr
 
MeshHandle m_mesh_handle
 Maillage (peut être nul)
 
Ref< IDatam_data
 Données de la variable.
 
ItemGroup m_item_group
 Groupe d'entité sur lequel est associé la variable.
 
IItemFamilym_item_family = nullptr
 Familly d'entité (peut être nul)
 
VariableInfo m_infos
 Infos caractéristiques de la variable.
 
int m_property = 0
 Propriétés de la variable.
 
bool m_is_partial = false
 Vrai si la variable est partielle.
 
bool m_need_property_update = false
 
bool m_is_used = false
 Etat d'utilisation de la variable.
 
bool m_has_valid_data = false
 Vrai si les données sont valide.
 
Real m_last_update_time = 0.0
 Temps physique de la dernière mise à jour.
 
VariableRefm_first_reference = nullptr
 
Integer m_nb_reference = 0
 Première référence sur la variable.
 
UniqueArray< VariableDependInfom_depends
 Liste des dépendances de cette variable.
 
Int64 m_modified_time = 0
 Tag de la dernière modification.
 
ScopedPtrT< IVariableComputeFunctionm_compute_function
 Fonction de calcul.
 
AutoDetachObservable m_write_observable
 Observable en écriture.
 
AutoDetachObservable m_read_observable
 Observable en lecture.
 
AutoDetachObservable m_on_size_changed_observable
 Observable en redimensionnement.
 
std::map< String, Stringm_tags
 Liste des tags.
 
bool m_has_recursive_depend = true
 Vrai si les dépendances sont récursives.
 
bool m_want_shrink = false
 
Variablem_variable = nullptr
 Variable associée.
 

Attributs publics statiques

static std::atomic< Int64 > modified_time_global_value = 1
 

Fonctions membres privées

void _setHashId ()
 

Attributs privés

Byte m_hash_id [HASHID_SIZE]
 hash de la variable pour vérifier la cohérence de la sérialisation.
 

Attributs privés statiques

static const int HASHID_SIZE = 64
 

Description détaillée

Définition à la ligne 77 du fichier Variable.cc.

Documentation des constructeurs et destructeur

◆ VariablePrivate()

Arcane::VariablePrivate::VariablePrivate ( const VariableBuildInfo v,
const VariableInfo vi,
Variable var 
)

Définition à la ligne 207 du fichier Variable.cc.

Documentation des fonctions membres

◆ _setHashId()

void Arcane::VariablePrivate::_setHashId ( )
inlineprivate

Définition à la ligne 171 du fichier Variable.cc.

◆ changeAllocator()

void Arcane::VariablePrivate::changeAllocator ( const MemoryAllocationOptions alloc_info)
overridevirtual

Change l'allocateur de la variable.

Actuellemt valide uniquement pour les variables 1D. Ne fait rien pour les autres.

Avertissement
For experimental use only.

Implémente Arcane::IVariableInternal.

Définition à la ligne 1431 du fichier Variable.cc.

Références m_data, m_variable, et Arcane::Variable::syncReferences().

◆ computeComparisonHashCollective()

String Arcane::VariablePrivate::computeComparisonHashCollective ( IHashAlgorithm hash_algo,
IData sorted_data 
)
overridevirtual

Calcule de Hash de comparaison pour la variable.

sorted_data doit être trié en fonction des uniqueId() et aussi par rang du IParallelMng associé à la variable.

Cette méthode est collective mais seul le rang maitre (celui pour lequel IParallelMng::isMasterIO() est vrai) retourne un hash valide. Les autres retournent une chaîne nulle.

Retourn aussi une chaîne nulle si la donnée n'est pas numérique (si sorted_data->_commonInternal()->numericData()==nullptr) ou si la variable n'est pas associée à une entité du maillage.

Implémente Arcane::IVariableInternal.

Définition à la ligne 1397 du fichier Variable.cc.

Références ARCANE_CHECK_POINTER, Arcane::IParallelMng::commRank(), Arcane::IParallelMng::gatherVariable(), m_item_family, Arcane::IParallelMng::masterIORank(), Arcane::IItemFamily::parallelMng(), et Arcane::Convert::toHexaString().

◆ resizeWithReserve()

void Arcane::VariablePrivate::resizeWithReserve ( Int32  new_size,
Int32  additional_capacity 
)
overridevirtual

Redimensionne la variable en ajoutant une capacité additionnelle.

Implémente Arcane::IVariableInternal.

Définition à la ligne 1444 du fichier Variable.cc.

Références m_variable.

◆ serializeHashId()

void Arcane::VariablePrivate::serializeHashId ( ISerializer sbuf)
inline

Sérialise le hashid.

Lors de la désérialisation, vérifie que le hashid est correctement et si ce n'est pas le cas renvoie une exception.

Définition à la ligne 124 du fichier Variable.cc.

Références ARCANE_FATAL, Arcane::DT_Byte, Arcane::VariableInfo::fullName(), m_hash_id, m_infos, Arccore::ISerializer::ModeGet, et Arccore::ISerializer::ModePut.

Référencé par Arcane::Variable::serialize(), et Arcane::Variable::serialize().

Documentation des données membres

◆ HASHID_SIZE

const int Arcane::VariablePrivate::HASHID_SIZE = 64
staticprivate

Définition à la ligne 161 du fichier Variable.cc.

◆ m_compute_function

ScopedPtrT<IVariableComputeFunction> Arcane::VariablePrivate::m_compute_function

Fonction de calcul.

Définition à la ligne 107 du fichier Variable.cc.

Référencé par Arcane::Variable::computeFunction(), et Arcane::Variable::setComputeFunction().

◆ m_data

Ref<IData> Arcane::VariablePrivate::m_data

◆ m_data_factory_mng

IDataFactoryMng* Arcane::VariablePrivate::m_data_factory_mng = nullptr

Définition à la ligne 91 du fichier Variable.cc.

◆ m_depends

UniqueArray<VariableDependInfo> Arcane::VariablePrivate::m_depends

Liste des dépendances de cette variable.

Définition à la ligne 105 du fichier Variable.cc.

Référencé par Arcane::Variable::addDepend(), Arcane::Variable::addDepend(), et Arcane::Variable::dependInfos().

◆ m_first_reference

VariableRef* Arcane::VariablePrivate::m_first_reference = nullptr

Définition à la ligne 103 du fichier Variable.cc.

◆ m_has_recursive_depend

bool Arcane::VariablePrivate::m_has_recursive_depend = true

Vrai si les dépendances sont récursives.

Définition à la ligne 112 du fichier Variable.cc.

◆ m_has_valid_data

bool Arcane::VariablePrivate::m_has_valid_data = false

Vrai si les données sont valide.

Définition à la ligne 101 du fichier Variable.cc.

Référencé par Arcane::Variable::_hasValidData(), Arcane::Variable::_setValidData(), et Arcane::Variable::setUsed().

◆ m_hash_id

Byte Arcane::VariablePrivate::m_hash_id[HASHID_SIZE]
private

hash de la variable pour vérifier la cohérence de la sérialisation.

Les 16 premiers octets sont le hash du nom au format hexadécimal (issu d'un Int64) et les suivants sont le nom complet (fullName()), éventuellement tronqué, de la variable. Les éventuels caractères restants sont des '~'.

Définition à la ligne 169 du fichier Variable.cc.

Référencé par serializeHashId().

◆ m_infos

◆ m_is_partial

bool Arcane::VariablePrivate::m_is_partial = false

Vrai si la variable est partielle.

Définition à la ligne 98 du fichier Variable.cc.

Référencé par Arcane::Variable::isPartial().

◆ m_is_used

bool Arcane::VariablePrivate::m_is_used = false

Etat d'utilisation de la variable.

Définition à la ligne 100 du fichier Variable.cc.

Référencé par Arcane::Variable::_checkSwapIsValid(), Arcane::Variable::isUsed(), et Arcane::Variable::setUsed().

◆ m_item_family

IItemFamily* Arcane::VariablePrivate::m_item_family = nullptr

Familly d'entité (peut être nul)

Définition à la ligne 95 du fichier Variable.cc.

Référencé par computeComparisonHashCollective(), Arcane::Variable::itemFamily(), et Arcane::Variable::resizeFromGroup().

◆ m_item_group

ItemGroup Arcane::VariablePrivate::m_item_group

Groupe d'entité sur lequel est associé la variable.

Définition à la ligne 94 du fichier Variable.cc.

Référencé par Arcane::Variable::itemGroup(), Arcane::Variable::resizeFromGroup(), et Arcane::Variable::setUsed().

◆ m_last_update_time

Real Arcane::VariablePrivate::m_last_update_time = 0.0

Temps physique de la dernière mise à jour.

Définition à la ligne 102 du fichier Variable.cc.

Référencé par Arcane::Variable::setUpToDate().

◆ m_mesh_handle

MeshHandle Arcane::VariablePrivate::m_mesh_handle

Maillage (peut être nul)

Définition à la ligne 92 du fichier Variable.cc.

Référencé par Arcane::Variable::mesh(), et Arcane::Variable::meshHandle().

◆ m_modified_time

Int64 Arcane::VariablePrivate::m_modified_time = 0

Tag de la dernière modification.

Définition à la ligne 106 du fichier Variable.cc.

Référencé par Arcane::Variable::modifiedTime(), et Arcane::Variable::setUpToDate().

◆ m_nb_reference

Integer Arcane::VariablePrivate::m_nb_reference = 0

Première référence sur la variable.

Définition à la ligne 104 du fichier Variable.cc.

Référencé par Arcane::Variable::addVariableRef(), Arcane::Variable::nbReference(), et Arcane::Variable::removeVariableRef().

◆ m_need_property_update

bool Arcane::VariablePrivate::m_need_property_update = false

Définition à la ligne 99 du fichier Variable.cc.

◆ m_on_size_changed_observable

AutoDetachObservable Arcane::VariablePrivate::m_on_size_changed_observable

Observable en redimensionnement.

Définition à la ligne 110 du fichier Variable.cc.

Référencé par Arcane::Variable::onSizeChangedObservable().

◆ m_property

int Arcane::VariablePrivate::m_property = 0

Propriétés de la variable.

Définition à la ligne 97 du fichier Variable.cc.

Référencé par Arcane::Variable::property().

◆ m_read_observable

AutoDetachObservable Arcane::VariablePrivate::m_read_observable

Observable en lecture.

Définition à la ligne 109 du fichier Variable.cc.

Référencé par Arcane::Variable::readObservable().

◆ m_sub_domain

ISubDomain* Arcane::VariablePrivate::m_sub_domain = nullptr

Définition à la ligne 90 du fichier Variable.cc.

◆ m_tags

std::map<String,String> Arcane::VariablePrivate::m_tags

Liste des tags.

Définition à la ligne 111 du fichier Variable.cc.

Référencé par Arcane::Variable::addTag(), Arcane::Variable::hasTag(), Arcane::Variable::removeTag(), et Arcane::Variable::tagValue().

◆ m_variable

Variable* Arcane::VariablePrivate::m_variable = nullptr

Variable associée.

Définition à la ligne 114 du fichier Variable.cc.

Référencé par changeAllocator(), et resizeWithReserve().

◆ m_want_shrink

bool Arcane::VariablePrivate::m_want_shrink = false

Définition à la ligne 113 du fichier Variable.cc.

◆ m_write_observable

AutoDetachObservable Arcane::VariablePrivate::m_write_observable

Observable en écriture.

Définition à la ligne 108 du fichier Variable.cc.

Référencé par Arcane::Variable::writeObservable().

◆ modified_time_global_value

std::atomic< Int64 > Arcane::VariablePrivate::modified_time_global_value = 1
static

Définition à la ligne 86 du fichier Variable.cc.


La documentation de cette classe a été générée à partir du fichier suivant :