Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >
+ 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.
 
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.
 
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
 

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 >

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::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::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>>
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érences Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::Data::m_value.

◆ 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::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.

◆ 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.

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

◆ 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

Opérateur de recopie.

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

Références Arcane::HashTableBase::m_count, et Arcane::HashTableBase::m_nb_bucket.

◆ 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::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.

◆ 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

Documentation des données membres

◆ 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 :