Arcane  4.2.1.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, ValueTypeEnumerator

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.
ThatClass & operator= (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.
ValueTypelookupValue (KeyTypeConstRef id)
 Recherche la valeur correspondant à la clé id.
ValueTypeoperator[] (KeyTypeConstRef id)
 Recherche la valeur correspondant à la clé id.
const ValueTypelookupValue (KeyTypeConstRef id) const
 Recherche la valeur correspondant à la clé id.
const ValueTypeoperator[] (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 = nullptr
 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 54 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 64 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 62 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 59 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 60 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 61 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 63 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 110 du fichier HashTableMap.h.

◆ 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 128 du fichier HashTableMap.h.

◆ ~HashTableMapT()

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

Définition à la ligne 140 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 452 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 466 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 527 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 517 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 482 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 522 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 495 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 556 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 607 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 477 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 472 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 536 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 541 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 546 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 582 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 586 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

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

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

Référencé par Arcane::HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >::rehash(), et Arcane::HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >::resize().

Voici le graphe des appelants de cette fonction :

◆ _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 551 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 264 du fichier HashTableMap.h.

Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::mesh::ItemFamily::checkUniqueIds(), et Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute().

Voici le graphe des appelants de cette fonction :

◆ 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 600 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 595 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 351 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 356 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 182 du fichier HashTableMap.h.

Référencé par Arcane::HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >::resize().

Voici le graphe des appelants de cette fonction :

◆ 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 386 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 401 du fichier HashTableMap.h.

Référencé par Arcane::mesh::Parallel3EdgeUniqueIdBuilder::compute().

Voici le graphe des appelants de cette fonction :

◆ 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 171 du fichier HashTableMap.h.

Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV1(), Arcane::mesh::ParallelAMRConsistency::_gatherFaces(), Arcane::mesh::TiedInterfaceBuilder::_gatherFaces(), et Arcane::mesh::ParallelAMRConsistency::_gatherItems().

Voici le graphe des appelants de cette fonction :

◆ 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 193 du fichier HashTableMap.h.

Référencé par Arcane::ItemFamilyVariableSerializer::_serializePartialVariable(), et Arcane::mesh::ItemFamily::checkUniqueIds().

Voici le graphe des appelants de cette fonction :

◆ 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 203 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 324 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 298 du fichier HashTableMap.h.

Référencé par Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), et Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent().

Voici le graphe des appelants de cette fonction :

◆ 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 213 du fichier HashTableMap.h.

Référencé par Arcane::LimaMalippReaderT< ReaderWrapper >::_readMeshPart(), Arcane::HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >::operator[](), et Arcane::HashTableMapT< VariableNameInfo, IVariable *, VNIComparer >::operator[]().

Voici le graphe des appelants de cette fonction :

◆ 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 237 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 344 du fichier HashTableMap.h.

Référencé par Arcane::ItemFamilyVariableSerializer::_serializePartialVariable(), et Arcane::XmfMeshReader::readMeshFromFile().

Voici le graphe des appelants de cette fonction :

◆ operator=()

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

Opérateur de recopie.

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

◆ 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 227 du fichier HashTableMap.h.

◆ 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 251 du fichier HashTableMap.h.

◆ 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 377 du fichier HashTableMap.h.

◆ 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 280 du fichier HashTableMap.h.

◆ resize()

template<typename KeyType, typename ValueType, typename KeyTraitsType = HashTraitsT<KeyType>>
void Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::resize ( Integer new_size,
bool use_prime = false )
inline

Redimensionne la table de hachage.

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

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 616 du fichier HashTableMap.h.

◆ m_buffer

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

Tampon d'allocation des valeurs.

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

◆ m_first_free

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

Pointeur vers le premier Data utilisable.

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

◆ 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 615 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 447 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 448 du fichier HashTableMap.h.


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