Implémentation d'une variable sur un tableau 1D. Plus de détails...
#include <arcane/core/VariableArray.h>
Types publics | |
typedef Array< T > | ValueType |
typedef IArrayDataT< T > | ValueDataType |
typedef VariableArrayT< T > | ThatClass |
typedef Variable | BaseClass |
Types publics hérités de Arcane::IVariable | |
enum | eDependType { DPT_PreviousTime , DPT_CurrentTime } |
Type des dépendances. Plus de détails... | |
enum | { PNoDump = (1 << 0) , PNoNeedSync = (1 << 1) , PHasTrace = (1 << 2) , PSubDomainDepend = (1 << 3) , PSubDomainPrivate = (1 << 4) , PExecutionDepend = (1 << 5) , PPrivate = (1 << 6) , PTemporary = (1 << 7) , PNoRestore = (1 << 8) , PNoExchange = (1 << 9) , PPersistant = (1 << 10) , PNoReplicaSync = (1 << 11) } |
Propriétés d'une variable. Plus de détails... | |
Fonctions membres publiques | |
Integer | checkIfSame (IDataReader *reader, int max_print, bool compare_ghost) override |
void | synchronize () override |
Synchronise la variable. | |
void | synchronize (Int32ConstArrayView local_ids) override |
Synchronise la variable sur une liste d'entités. | |
virtual void | resizeWithReserve (Integer n, Integer nb_additional) |
Real | allocatedMemory () const override |
Taille mémoire (en Koctet) utilisée par la variable. | |
Integer | checkIfSync (int max_print) override |
bool | initialize (const ItemGroup &group, const String &value) override |
Initialise la variable. | |
Integer | nbElement () const override |
Nombre d'éléments de la variable. | |
ValueType & | value () |
ConstArrayView< T > | constValueView () const |
ConstArrayView< T > | valueView () const |
ArrayView< T > | valueView () |
void | shrinkMemory () override |
Libère l'éventuelle mémoire supplémentaire allouée pour les données. | |
Integer | capacity () |
void | copyItemsValues (Int32ConstArrayView source, Int32ConstArrayView destination) override |
Copie les valeurs des entités numéros source dans les entités numéro destination. | |
void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) override |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination. | |
void | compact (Int32ConstArrayView old_to_new_ids) override |
Compacte les valeurs de la variable. | |
void | print (std::ostream &o) const override |
Imprime les valeurs de la variable sur le flot o. | |
void | setIsSynchronized () override |
Indique que la variable est synchronisée. | |
void | setIsSynchronized (const ItemGroup &item_group) override |
Indique que la variable est synchronisée sur le group item_group. | |
IData * | data () override |
Données associées à la variable. | |
const IData * | data () const override |
Données associées à la variable. | |
virtual void | fill (const T &v) |
virtual void | fill (const T &v, const ItemGroup &item_group) |
void | swapValues (ThatClass &rhs) |
ValueDataType * | trueData () |
void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination. | |
void | copyItemsMeanValues (Int32ConstArrayView first_source, Int32ConstArrayView second_source, Int32ConstArrayView destination) |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination. | |
Fonctions membres publiques hérités de Arcane::Variable | |
~Variable () override | |
Libère les ressources. | |
ISubDomain * | subDomain () override |
Sous-domaine associé à la variable (TODO rendre obsolète fin 2023) | |
IVariableMng * | variableMng () const override |
Gestionnaire de variable associé à la variable. | |
String | fullName () const final |
Nom complet de la variable (avec le préfixe de la famille) | |
String | name () const final |
Nom de la variable. | |
String | itemFamilyName () const final |
Nom de la famille associée (nul si aucune). | |
String | meshName () const final |
Nom du maillage associé (nul si aucun). | |
String | itemGroupName () const final |
Nom du groupe d'entité associée. | |
int | property () const override |
void | notifyReferencePropertyChanged () override |
Indique que les propriétés d'une des références à cette variable ont changé (interne) | |
void | setUsed (bool v) override |
Positionne l'état d'utilisation de la variable. | |
bool | isUsed () const override |
Etat d'utilisation de la variable. | |
bool | isPartial () const override |
Indique si la variable est partielle. | |
void | setTraceInfo (Integer, eTraceType) override |
void | read (IDataReader *d) override |
void | write (IDataWriter *d) override |
Sauve la variable. | |
void | notifyEndRead () override |
Notifie de la modification externe de data(). | |
void | notifyBeginWrite () override |
Notifie du début d'écriture de data(). | |
void | addVariableRef (VariableRef *ref) override |
Ajoute une référence à cette variable. | |
void | removeVariableRef (VariableRef *ref) override |
Supprime une référence à cette variable. | |
VariableRef * | firstReference () const override |
Première réference (ou null) sur cette variable. | |
Integer | nbReference () const override |
Nombre de références sur cette variable. | |
VariableMetaData * | createMetaData () const override |
Créé une instance contenant les meta-données de la variable. | |
Ref< VariableMetaData > | createMetaDataRef () const override |
Créé une instance contenant les meta-données de la variable. | |
void | syncReferences () override |
Synchronise les références. | |
IMesh * | mesh () const final |
Maillage auquel est associé la variable. | |
MeshHandle | meshHandle () const final |
Maillage auquel est associé la variable. | |
ItemGroup | itemGroup () const final |
Groupe du maillage associé. | |
IItemFamily * | itemFamily () const final |
Famille d'entité associée. | |
eItemKind | itemKind () const override |
Type des entités du maillage sur lequel repose la variable. | |
Integer | dimension () const override |
Dimension de la variable. | |
Integer | multiTag () const override |
Indique si la variable est un tableau à taille multiple. | |
Integer | checkIfSync (Integer max_print) override |
Vérifie si la variable est bien synchronisée. | |
Integer | checkIfSameOnAllReplica (Integer max_print) override |
Vérifie si la variable a les mêmes valeurs sur tous les réplicas. | |
eDataType | dataType () const override |
Type de la donnée gérée par la variable (Real, Integer, ...) | |
IDataFactoryMng * | dataFactoryMng () const final |
Fabrique de données associées à la variable. | |
void | serialize (ISerializer *sbuffer, IDataOperation *operation) override |
void | serialize (ISerializer *sbuffer, Int32ConstArrayView ids, IDataOperation *operation) override |
Sérialize la variable pour les identifiants ids. | |
void | resize (Integer n) override |
Positionne le nombre d'éléments pour une variable tableau. | |
void | resizeFromGroup () override |
Positionne le nombre d'éléments pour une variable du maillage. | |
void | setAllocationInfo (const DataAllocationInfo &v) override |
Positionne les informations sur l'allocation. | |
DataAllocationInfo | allocationInfo () const override |
Informations sur l'allocation. | |
IObservable * | writeObservable () override |
Observable en écriture. | |
IObservable * | readObservable () override |
Observable en lecture. | |
IObservable * | onSizeChangedObservable () override |
Observable en redimensionnement. | |
void | addTag (const String &tagname, const String &tagvalue) override |
Ajoute le tag tagname avev la valeur tagvalue. | |
void | removeTag (const String &tagname) override |
Supprime le tag tagname. | |
bool | hasTag (const String &tagname) override |
true si la variable possède le tag tagname | |
String | tagValue (const String &tagname) override |
Valeur du tag tagname. La chaîne est nulle si le tag n'existe pas. | |
void | update () override |
Recalcule la variable si nécessaire. | |
void | setUpToDate () override |
Indique que la variable vient d'être mise à jour. | |
Int64 | modifiedTime () override |
Temps auquel la variable a été mise à jour. | |
void | addDepend (IVariable *var, eDependType dt) override |
Ajoute var à la liste des dépendances. | |
void | addDepend (IVariable *var, eDependType dt, const TraceInfo &tinfo) override |
Ajoute var à la liste des dépendances avec les infos de trace tinfo. | |
void | removeDepend (IVariable *var) override |
Supprime var de la liste des dépendances. | |
void | setComputeFunction (IVariableComputeFunction *v) override |
Positionne la fonction de recalcul de la variable. | |
IVariableComputeFunction * | computeFunction () override |
Fonction utilisée pour mettre à jour la variable. | |
void | dependInfos (Array< VariableDependInfo > &infos) override |
Infos de dépendances. | |
void | update (Real wanted_time) override |
void | changeGroupIds (Int32ConstArrayView old_to_new_ids) override |
pH : EXPERIMENTAL | |
IVariableInternal * | _internalApi () override |
API interne à Arcane. | |
IMemoryAccessTrace * | memoryAccessTrace () const override |
Fonctions membres publiques hérités de Arccore::TraceAccessor | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres publiques hérités de Arcane::IVariable | |
virtual | ~IVariable ()=default |
Libère les ressources. | |
virtual Integer | checkIfSame (IDataReader *reader, Integer max_print, bool compare_ghost)=0 |
Vérifie que la variable est identique à une valeur de référence. | |
Fonctions membres publiques statiques | |
static ThatClass * | getReference (IVariable *var) |
static ThatClass * | getReference (const VariableBuildInfo &v, const VariableInfo &vi) |
Fonctions membres publiques statiques hérités de Arcane::IVariable | |
static Int64 | incrementModifiedTime () |
Incrémente le compteur de modification et retourne sa valeur avant modification. | |
Fonctions membres protégées | |
VariableArrayT (const VariableBuildInfo &v, const VariableInfo &vi) | |
Construit une variable basée sur la référence v. | |
void | _internalResize (Integer new_size, Integer nb_additional_element) override |
Integer | _checkIfSameOnAllReplica (IParallelMng *replica_pm, int max_print) override |
Fonctions membres protégées hérités de Arcane::Variable | |
Variable (const VariableBuildInfo &v, const VariableInfo &vi) | |
Créé une variable lié à la référence v. | |
void | _setProperty (int property) |
void | _setData (const Ref< IData > &data) |
Positionne la donnée. | |
void | _setValidData (bool valid_data) |
Indique si les données de la variable sont valides. | |
bool | _hasValidData () const |
Indique si les données de la variable sont valides. | |
void | _checkSwapIsValid (Variable *rhs) |
Vérifie qu'il est possible d'échanger les valeurs de l'instance avec celle de rhs. | |
bool | _wantShrink () const |
void | _resizeWithReserve (Int32 new_size, Int32 additional_capacity) |
Fonctions membres protégées hérités de Arccore::TraceAccessor | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Attributs privés | |
ValueDataType * | m_value |
Implémentation d'une variable sur un tableau 1D.
Les méthodes de cette classe sont internes à Arcane.
Définition à la ligne 34 du fichier VariableArray.h.
typedef Variable Arcane::VariableArrayT< T >::BaseClass |
Définition à la ligne 42 du fichier VariableArray.h.
typedef VariableArrayT<T> Arcane::VariableArrayT< T >::ThatClass |
Définition à la ligne 41 du fichier VariableArray.h.
typedef IArrayDataT<T> Arcane::VariableArrayT< T >::ValueDataType |
Définition à la ligne 40 du fichier VariableArray.h.
typedef Array<T> Arcane::VariableArrayT< T >::ValueType |
Définition à la ligne 39 du fichier VariableArray.h.
|
protected |
Construit une variable basée sur la référence v.
Définition à la ligne 223 du fichier VariableArray.cc.
Références Arcane::Variable::_setData(), ARCANE_CHECK_POINTER, Arcane::VariableArrayT< T >::data(), Arccore::TraceAccessor::info(), et Arccore::TraceAccessor::traceMng().
|
override |
Définition à la ligne 240 du fichier VariableArray.cc.
|
overrideprotectedvirtual |
Implémente Arcane::Variable.
Définition à la ligne 407 du fichier VariableArray.cc.
|
overrideprotectedvirtual |
Implémente Arcane::Variable.
Définition à la ligne 557 du fichier VariableArray.cc.
|
overridevirtual |
Taille mémoire (en Koctet) utilisée par la variable.
Implémente Arcane::IVariable.
Définition à la ligne 333 du fichier VariableArray.cc.
Integer Arcane::VariableArrayT< DataType >::capacity | ( | ) |
Définition à la ligne 634 du fichier VariableArray.cc.
|
override |
Définition à la ligne 364 du fichier VariableArray.cc.
|
override |
Définition à la ligne 344 du fichier VariableArray.cc.
|
overridevirtual |
Compacte les valeurs de la variable.
Cette opération est interne à Arcane et doit se faire en conjonction avec la famille d'entité correspondant à cette variable.
Implémente Arcane::IVariable.
Définition à la ligne 513 du fichier VariableArray.cc.
Références Arcane::arcaneIsCheck(), Arccore::TraceAccessor::debug(), et Arccore::Trace::High.
|
inline |
Définition à la ligne 70 du fichier VariableArray.h.
|
virtual |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination.
first_source | liste des localId de la 1ère source |
second_source | liste des localId de la 2ème source |
destination | liste des localId destination |
Implémente Arcane::IVariable.
|
virtual |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination.
first_source | liste des localId de la 1ère source |
second_source | liste des localId de la 2ème source |
destination | liste des localId destination |
Implémente Arcane::IVariable.
Définition à la ligne 679 du fichier VariableArray.cc.
Références ARCANE_FATAL, et Arccore::ConstArrayView< T >::size().
|
overridevirtual |
Copie les moyennes des valeurs des entités numéros first_source et second_source dans les entités numéros destination.
first_source | liste des localId de la 1ère source |
second_source | liste des localId de la 2ème source |
destination | liste des localId destination |
Implémente Arcane::IVariable.
Définition à la ligne 487 du fichier VariableArray.cc.
Références Arccore::ConstArrayView< T >::size().
|
overridevirtual |
Copie les valeurs des entités numéros source dans les entités numéro destination.
source | liste des localId source |
destination | liste des localId destination |
Implémente Arcane::IVariable.
Définition à la ligne 472 du fichier VariableArray.cc.
Références Arccore::ConstArrayView< T >::size().
|
inlineoverridevirtual |
Données associées à la variable.
Implémente Arcane::IVariable.
Définition à la ligne 84 du fichier VariableArray.h.
|
inlineoverridevirtual |
Données associées à la variable.
Implémente Arcane::IVariable.
Définition à la ligne 83 du fichier VariableArray.h.
Référencé par Arcane::VariableArrayT< T >::VariableArrayT().
|
static |
Définition à la ligne 248 du fichier VariableArray.cc.
|
static |
Définition à la ligne 269 du fichier VariableArray.cc.
|
overridevirtual |
Initialise la variable.
Initialise la variable avec la valeur value sur le groupe group.
La valeur étant passée sous forme d'une chaine de caractère, vérifie que la conversion en le type de la variable est possible. De même vérifie que le groupe group est du type #GroupType. Si l'un de ces deux points n'est pas respecté, l'initialisation échoue.
true | en cas d'erreur, |
false | en cas de succés. |
Réimplémentée à partir de Arcane::Variable.
Définition à la ligne 428 du fichier VariableArray.cc.
Références ENUMERATE_ITEM, Arccore::TraceAccessor::error(), Arcane::ItemGroup::itemFamily(), Arcane::ItemGroup::itemKind(), Arcane::itemKindName(), et Arcane::ItemGroup::name().
|
inlineoverridevirtual |
Nombre d'éléments de la variable.
Les valeurs retournées dépendent de la dimension de la variable:
Implémente Arcane::IVariable.
Définition à la ligne 67 du fichier VariableArray.h.
|
overridevirtual |
Imprime les valeurs de la variable sur le flot o.
Implémente Arcane::IVariable.
Définition à la ligne 283 du fichier VariableArray.cc.
|
virtual |
Définition à la ligne 615 du fichier VariableArray.cc.
|
overridevirtual |
Indique que la variable est synchronisée.
Cette opération est collective.
Implémente Arcane::IVariable.
Définition à la ligne 539 du fichier VariableArray.cc.
|
overridevirtual |
Indique que la variable est synchronisée sur le group item_group.
Cette opération est collective.
Implémente Arcane::IVariable.
Définition à la ligne 548 du fichier VariableArray.cc.
|
overridevirtual |
Libère l'éventuelle mémoire supplémentaire allouée pour les données.
Cette méthode n'est utilie que pour les variables non scalaires
Implémente Arcane::IVariable.
Définition à la ligne 624 du fichier VariableArray.cc.
void Arcane::VariableArrayT< DataType >::swapValues | ( | ThatClass & | rhs | ) |
Définition à la ligne 663 du fichier VariableArray.cc.
|
overridevirtual |
Synchronise la variable.
La synchronisation ne peut se faire que sur les variables du maillage.
Implémente Arcane::IVariable.
Définition à la ligne 299 du fichier VariableArray.cc.
Références Arcane::IItemFamily::allItemsSynchronizer(), ARCANE_FATAL, ARCANE_THROW, et Arcane::IK_Unknown.
|
overridevirtual |
Synchronise la variable sur une liste d'entités.
La synchronisation ne peut se faire que sur les variables du maillage. Seules les entités listées dans local_ids seront synchronisées. Attention : une entité présente dans cette liste sur un sous-domaine doit être présente dans cette liste pour tout autre sous-domaine qui possède cette entité.
Réimplémentée à partir de Arcane::IVariable.
Définition à la ligne 316 du fichier VariableArray.cc.
Références Arcane::IItemFamily::allItemsSynchronizer(), ARCANE_FATAL, ARCANE_THROW, et Arcane::IK_Unknown.
|
inline |
Définition à la ligne 92 du fichier VariableArray.h.
auto Arcane::VariableArrayT< DataType >::value | ( | ) |
Définition à la ligne 699 du fichier VariableArray.cc.
|
inline |
Définition à la ligne 72 du fichier VariableArray.h.
|
inline |
Définition à la ligne 71 du fichier VariableArray.h.
|
private |
Définition à la ligne 101 du fichier VariableArray.h.