Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >

Table de hachage pour tableaux associatifs. Plus de détails...

#include <arcane/utils/HashTableMap.h>

+ Graphe d'héritage de Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >:
+ Graphe de collaboration de Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >:

Classes

struct  Data
 

Types publics

typedef KeyTraitsType::KeyTypeConstRef KeyTypeConstRef
 
typedef KeyTraitsType::KeyTypeValue KeyTypeValue
 
typedef KeyTraitsType::Printable Printable
 
typedef KeyTraitsType::HashValueType HashValueType
 
typedef HashTableMapT< KeyType, ValueType, KeyTraitsType > ThatClass
 
typedef HashTableMapEnumeratorT< KeyType, ValueType > Enumerator
 

Fonctions membres publiques

 HashTableMapT (Integer table_size, bool use_prime)
 Crée une table de taille table_size.
 
 HashTableMapT (Integer table_size, bool use_prime, Integer buffer_size)
 Crée une table de taille table_size.
 
ThatClassoperator= (const ThatClass &from)
 Opérateur de recopie.
 
bool hasKey (KeyTypeConstRef id)
 true si une valeur avec la clé id est présente
 
void clear ()
 Supprime tous les éléments de la table.
 
Datalookup (KeyTypeConstRef id)
 Recherche la valeur correspondant à la clé id.
 
const Datalookup (KeyTypeConstRef id) const
 Recherche la valeur correspondant à la clé id.
 
ValueType & lookupValue (KeyTypeConstRef id)
 Recherche la valeur correspondant à la clé id.
 
ValueType & operator[] (KeyTypeConstRef id)
 Recherche la valeur correspondant à la clé id.
 
const ValueType & lookupValue (KeyTypeConstRef id) const
 Recherche la valeur correspondant à la clé id.
 
const ValueType & operator[] (KeyTypeConstRef id) const
 Recherche la valeur correspondant à la clé id.
 
bool add (KeyTypeConstRef id, const ValueType &value)
 Ajoute la valeur value correspondant à la clé id.
 
void remove (KeyTypeConstRef id)
 Supprime la valeur associée à la clé id.
 
DatalookupAdd (KeyTypeConstRef id, const ValueType &value, bool &is_add)
 Recherche ou ajoute la valeur correspondant à la clé id.
 
DatalookupAdd (KeyTypeConstRef id)
 Recherche ou ajoute la valeur correspondant à la clé id.
 
void nocheckAdd (KeyTypeConstRef id, const ValueType &value)
 Ajoute la valeur value correspondant à la clé id.
 
ArrayView< Data * > buckets ()
 
ConstArrayView< Data * > buckets () const
 
void resize (Integer new_size, bool use_prime=false)
 Redimensionne la table de hachage.
 
void rehash ()
 Repositionne les données après changement de valeur des clés.
 
template<class Lambda >
void each (const Lambda &lambda)
 Applique le fonctor f à tous les éléments de la collection.
 
template<class Lambda >
void eachValue (const Lambda &lambda)
 Applique le fonctor f à tous les éléments de la collection et utilise x->value() (de type ValueType) comme argument.
 
- Fonctions membres publiques hérités de Arcane::HashTableBase
 HashTableBase (Integer table_size, bool use_prime)
 Crée une table de taille table_size.
 
Integer nearestPrimeNumber (Integer n)
 Retourne le nombre premier le plus proche de n par excès. Le nombre premier le plus proche et supérieur à n est renvoyé en utilisant une table de nombre premier déterminée à l'avance.
 
Integer count () const
 Nombre d'éléments dans la table.
 

Attributs publics

Int64 m_nb_collision = 0
 
Int64 m_nb_direct = 0
 

Fonctions membres privées

void _rehash (Integer new_size)
 Repositionne les données après changement de valeur des clés.
 
Data_add (Integer bucket, KeyTypeConstRef key, const ValueType &value)
 
HashValueType _applyHash (KeyTypeConstRef id) const
 
Integer _keyToBucket (KeyTypeConstRef id) const
 
Integer _hashValueToBucket (KeyTypeValue id) const
 
Data_baseLookupBucket (Integer bucket, KeyTypeConstRef id) const
 
Data_baseRemoveBucket (Integer bucket, KeyTypeConstRef id)
 
Data_baseLookup (KeyTypeConstRef id) const
 
Data_baseRemove (KeyTypeConstRef id)
 
void _baseAdd (Integer bucket, KeyTypeConstRef id, Data *hd)
 
Data_lookup (KeyTypeConstRef id)
 
const Data_lookup (KeyTypeConstRef id) const
 
Data_lookupBucket (Integer bucket, KeyTypeConstRef id) const
 
Data_removeBucket (Integer bucket, KeyTypeConstRef id)
 
void _checkResize ()
 
void _print (FalseType)
 
void _print (TrueType)
 
void _throwNotFound ARCANE_NORETURN (KeyTypeConstRef, FalseType) const
 
void _throwNotFound ARCANE_NORETURN (KeyTypeConstRef id, TrueType) const
 
void _computeMaxCount ()
 

Attributs privés

MultiBufferT< Data > * m_buffer
 Tampon d'allocation des valeurs.
 
Datam_first_free = nullptr
 Pointeur vers le premier Data utilisable.
 
Integer m_max_count = 0
 Nombre maximal d'élément avant retaillage.
 
UniqueArray< Data * > m_buckets
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::HashTableBase
void _throwNotFound ARCANE_NORETURN () const
 
- Attributs protégés hérités de Arcane::HashTableBase
Integer m_count
 Nombre d'éléments.
 
Integer m_nb_bucket
 Nombre de buckets.
 

Description détaillée

template<typename KeyType, typename ValueType, typename KeyTraitsType = HashTraitsT<KeyType>>
class Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >

Table de hachage pour tableaux associatifs.

Cette table permet de stocker une valeur en fonction d'une clé. La clé est de type KeyType et la valeur ValueType.

Cette table permet pour l'instant uniquement d'ajouter des valeurs. La mémoire associée à chaque entrée du tableau est gérée par un MultiBufferT.

Il est possible de spécifier une fonction de hachage différente de la fonction par défaut en spécifiant le troisième paramètre template KeyTraitsType.

Pour des raisons de performance, il est préférable que la taille de la table (buckets) soit un nombre premier.

Définition à la ligne 52 du fichier HashTableMap.h.

Documentation des définitions de type membres

◆ Enumerator

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef HashTableMapEnumeratorT<KeyType, ValueType> Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::Enumerator

Définition à la ligne 62 du fichier HashTableMap.h.

◆ HashValueType

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef KeyTraitsType::HashValueType Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::HashValueType

Définition à la ligne 60 du fichier HashTableMap.h.

◆ KeyTypeConstRef

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef KeyTraitsType::KeyTypeConstRef Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::KeyTypeConstRef

Définition à la ligne 57 du fichier HashTableMap.h.

◆ KeyTypeValue

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef KeyTraitsType::KeyTypeValue Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::KeyTypeValue

Définition à la ligne 58 du fichier HashTableMap.h.

◆ Printable

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef KeyTraitsType::Printable Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::Printable

Définition à la ligne 59 du fichier HashTableMap.h.

◆ ThatClass

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
typedef HashTableMapT<KeyType, ValueType, KeyTraitsType> Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::ThatClass

Définition à la ligne 61 du fichier HashTableMap.h.

Documentation des constructeurs et destructeur

◆ HashTableMapT() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::HashTableMapT ( Integer  table_size,
bool  use_prime 
)
inline

Crée une table de taille table_size.

Si use_prime est vrai, utilise la fonction nearestPrimeNumber() pour avoir une taille de taille qui est un nombre premier.

Définition à la ligne 108 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_buffer, et Arcane::HashTableBase::m_nb_bucket.

◆ HashTableMapT() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::HashTableMapT ( Integer  table_size,
bool  use_prime,
Integer  buffer_size 
)
inline

Crée une table de taille table_size.

Si use_prime est vrai, utilise la fonction nearestPrimeNumber() pour avoir une taille de taille qui est un nombre premier.

Définition à la ligne 126 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_buffer, et Arcane::HashTableBase::m_nb_bucket.

◆ ~HashTableMapT()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::~HashTableMapT ( )
inline

Définition à la ligne 138 du fichier HashTableMap.h.

Documentation des fonctions membres

◆ _add()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_add ( Integer  bucket,
KeyTypeConstRef  key,
const ValueType &  value 
)
inlineprivate

Définition à la ligne 450 du fichier HashTableMap.h.

◆ _applyHash()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
HashValueType Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_applyHash ( KeyTypeConstRef  id) const
inlineprivate

Définition à la ligne 464 du fichier HashTableMap.h.

◆ _baseAdd()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_baseAdd ( Integer  bucket,
KeyTypeConstRef  id,
Data hd 
)
inlineprivate

Définition à la ligne 525 du fichier HashTableMap.h.

◆ _baseLookup()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_baseLookup ( KeyTypeConstRef  id) const
inlineprivate

Définition à la ligne 515 du fichier HashTableMap.h.

◆ _baseLookupBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_baseLookupBucket ( Integer  bucket,
KeyTypeConstRef  id 
) const
inlineprivate

Définition à la ligne 480 du fichier HashTableMap.h.

◆ _baseRemove()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_baseRemove ( KeyTypeConstRef  id)
inlineprivate

Définition à la ligne 520 du fichier HashTableMap.h.

◆ _baseRemoveBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_baseRemoveBucket ( Integer  bucket,
KeyTypeConstRef  id 
)
inlineprivate

Définition à la ligne 493 du fichier HashTableMap.h.

◆ _checkResize()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_checkResize ( )
inlineprivate

Définition à la ligne 554 du fichier HashTableMap.h.

◆ _computeMaxCount()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_computeMaxCount ( )
inlineprivate

Définition à la ligne 605 du fichier HashTableMap.h.

◆ _hashValueToBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Integer Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_hashValueToBucket ( KeyTypeValue  id) const
inlineprivate

Définition à la ligne 475 du fichier HashTableMap.h.

◆ _keyToBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Integer Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_keyToBucket ( KeyTypeConstRef  id) const
inlineprivate

Définition à la ligne 470 du fichier HashTableMap.h.

◆ _lookup() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_lookup ( KeyTypeConstRef  id)
inlineprivate

Définition à la ligne 534 du fichier HashTableMap.h.

◆ _lookup() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
const Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_lookup ( KeyTypeConstRef  id) const
inlineprivate

Définition à la ligne 539 du fichier HashTableMap.h.

◆ _lookupBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_lookupBucket ( Integer  bucket,
KeyTypeConstRef  id 
) const
inlineprivate

Définition à la ligne 544 du fichier HashTableMap.h.

◆ _print() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_print ( FalseType  )
inlineprivate

Définition à la ligne 580 du fichier HashTableMap.h.

◆ _print() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_print ( TrueType  )
inlineprivate

Définition à la ligne 584 du fichier HashTableMap.h.

◆ _rehash()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_rehash ( Integer  new_size)
inlineprivate

◆ _removeBucket()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_removeBucket ( Integer  bucket,
KeyTypeConstRef  id 
)
inlineprivate

Définition à la ligne 549 du fichier HashTableMap.h.

◆ add()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
bool Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::add ( KeyTypeConstRef  id,
const ValueType &  value 
)
inline

Ajoute la valeur value correspondant à la clé id.

Si une valeur correspondant à id existe déjà, elle est remplacée.

Valeurs retournées
truesi la clé est ajoutée
falsesi la clé existe déjà et est remplacée

Définition à la ligne 262 du fichier HashTableMap.h.

Référencé par Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), Arcane::VariableMng::addVariable(), et Arcane::mesh::ParallelAMRConsistency::makeNewItemsConsistent().

◆ ARCANE_NORETURN() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void _throwNotFound Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::ARCANE_NORETURN ( KeyTypeConstRef  id,
TrueType   
) const
inlineprivate

Définition à la ligne 598 du fichier HashTableMap.h.

◆ ARCANE_NORETURN() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void _throwNotFound Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::ARCANE_NORETURN ( KeyTypeConstRef  ,
FalseType   
) const
inlineprivate

Définition à la ligne 593 du fichier HashTableMap.h.

◆ buckets() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
ArrayView< Data * > Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::buckets ( )
inline

Définition à la ligne 349 du fichier HashTableMap.h.

◆ buckets() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
ConstArrayView< Data * > Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::buckets ( ) const
inline

Définition à la ligne 354 du fichier HashTableMap.h.

◆ clear()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::clear ( )
inline

Supprime tous les éléments de la table.

Définition à la ligne 180 du fichier HashTableMap.h.

Références Arcane::HashTableBase::m_count.

Référencé par Arcane::mesh::ParallelAMRConsistency::makeNewItemsConsistent(), et Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::resize().

◆ each()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
template<class Lambda >
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::each ( const Lambda lambda)
inline

Applique le fonctor f à tous les éléments de la collection.

Définition à la ligne 384 du fichier HashTableMap.h.

◆ eachValue()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
template<class Lambda >
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::eachValue ( const Lambda lambda)
inline

Applique le fonctor f à tous les éléments de la collection et utilise x->value() (de type ValueType) comme argument.

Définition à la ligne 399 du fichier HashTableMap.h.

◆ hasKey()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
bool Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::hasKey ( KeyTypeConstRef  id)
inline

true si une valeur avec la clé id est présente

Définition à la ligne 169 du fichier HashTableMap.h.

◆ lookup() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookup ( KeyTypeConstRef  id)
inline

Recherche la valeur correspondant à la clé id.

Renvoie
la structure associé à la clé id (0 si aucune)

Définition à la ligne 191 du fichier HashTableMap.h.

Référencé par Arcane::mesh::TiedInterfaceBuilder::_computeMasterInterface(), Arcane::mesh::TiedInterfaceBuilder::_gatherAllNodesInfo(), et Arcane::VariableMng::checkVariable().

◆ lookup() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
const Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookup ( KeyTypeConstRef  id) const
inline

Recherche la valeur correspondant à la clé id.

Renvoie
la structure associé à la clé id (0 si aucune)

Définition à la ligne 201 du fichier HashTableMap.h.

◆ lookupAdd() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupAdd ( KeyTypeConstRef  id)
inline

Recherche ou ajoute la valeur correspondant à la clé id.

Si la clé id est déjà dans la table, retourne une référence sur cette valeur et positionne is_add à false. Sinon, ajoute la clé id avec pour valeur ValueType() (qui doit exister).

La structure retournée n'est jamais nul et peut être conservée car elle ne change pas d'adresse tant que cette instance de la table de hachage existe

Définition à la ligne 322 du fichier HashTableMap.h.

◆ lookupAdd() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data * Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupAdd ( KeyTypeConstRef  id,
const ValueType &  value,
bool is_add 
)
inline

Recherche ou ajoute la valeur correspondant à la clé id.

Si la clé id est déjà dans la table, retourne une référence sur cette valeur et positionne is_add à false. Sinon, ajoute la clé id avec pour valeur value et positionne is_add à true.

La structure retournée n'est jamais nul et peut être conservée car elle ne change pas d'adresse tant que cette instance de la table de hachage existe

Définition à la ligne 296 du fichier HashTableMap.h.

◆ lookupValue() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
ValueType & Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupValue ( KeyTypeConstRef  id)
inline

Recherche la valeur correspondant à la clé id.

Une exception est générée si la valeur n'est pas trouvé.

Définition à la ligne 211 du fichier HashTableMap.h.

Référencé par Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::operator[](), et Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::operator[]().

◆ lookupValue() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
const ValueType & Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupValue ( KeyTypeConstRef  id) const
inline

Recherche la valeur correspondant à la clé id.

Une exception est générée si la valeur n'est pas trouvé.

Définition à la ligne 235 du fichier HashTableMap.h.

◆ nocheckAdd()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::nocheckAdd ( KeyTypeConstRef  id,
const ValueType &  value 
)
inline

Ajoute la valeur value correspondant à la clé id.

Si une valeur correspondant à id existe déjà, le résultat est indéfini.

Définition à la ligne 342 du fichier HashTableMap.h.

◆ operator=()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
ThatClass & Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::operator= ( const ThatClass from)
inline

◆ operator[]() [1/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
ValueType & Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::operator[] ( KeyTypeConstRef  id)
inline

Recherche la valeur correspondant à la clé id.

Une exception est générée si la valeur n'est pas trouvé.

Définition à la ligne 225 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupValue().

◆ operator[]() [2/2]

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
const ValueType & Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::operator[] ( KeyTypeConstRef  id) const
inline

Recherche la valeur correspondant à la clé id.

Une exception est générée si la valeur n'est pas trouvé.

Définition à la ligne 249 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookupValue().

◆ rehash()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::rehash ( )
inline

Repositionne les données après changement de valeur des clés.

Définition à la ligne 375 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::_rehash(), et Arcane::HashTableBase::m_nb_bucket.

◆ remove()

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::remove ( KeyTypeConstRef  id)
inline

Supprime la valeur associée à la clé id.

Définition à la ligne 278 du fichier HashTableMap.h.

Références Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_first_free.

Référencé par Arcane::VariableMng::removeVariable().

◆ resize()

Documentation des données membres

◆ m_buckets

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
UniqueArray<Data*> Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_buckets
private

Définition à la ligne 614 du fichier HashTableMap.h.

◆ m_buffer

◆ m_first_free

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Data* Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_first_free = nullptr
private

◆ m_max_count

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Integer Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_max_count = 0
private

Nombre maximal d'élément avant retaillage.

Définition à la ligne 613 du fichier HashTableMap.h.

◆ m_nb_collision

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Int64 Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_nb_collision = 0
mutable

Définition à la ligne 445 du fichier HashTableMap.h.

◆ m_nb_direct

template<typename KeyType , typename ValueType , typename KeyTraitsType = HashTraitsT<KeyType>>
Int64 Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::m_nb_direct = 0
mutable

Définition à la ligne 446 du fichier HashTableMap.h.


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