Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::GroupIndexTable

Classe de base d'une table de hachage entre les items d'un groupe et leurs positions dans la table. Plus de détails...

#include <arcane/core/GroupIndexTable.h>

+ Graphe d'héritage de Arcane::GroupIndexTable:
+ Graphe de collaboration de Arcane::GroupIndexTable:

Types publics

typedef Int32 KeyTypeValue
 
typedef Int32 ValueType
 
typedef HashTraitsT< KeyTypeValue > KeyTraitsType
 
typedef KeyTraitsType::KeyTypeConstRef KeyTypeConstRef
 

Fonctions membres publiques

 GroupIndexTable (ItemGroupImpl *group_impl)
 
void update ()
 
void clear ()
 
void compact (const Int32ConstArrayView *info)
 
ValueType operator[] (Int32 i) const
 
KeyTypeValue keyLocalId (Int32 i) const
 
Int32 size () const
 
GroupIndexTableView view () const
 
- 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.
 

Fonctions membres privées

Int32 _hash (KeyTypeConstRef id) const
 Fonction de hachage.
 
bool _hasKey (KeyTypeConstRef id) const
 true si une valeur avec la clé id est présente
 
Int32 _lookupBucket (Int32 bucket, KeyTypeConstRef id) const
 Recherche d'une clef dans un bucket.
 
Int32 _lookup (KeyTypeConstRef id) const
 Recherche d'une clef dans toute la table.
 
bool _initialized () const
 Teste l'initialisation de l'objet.
 
bool _checkIntegrity (bool full=true) const
 Test l'intégrité de la table relativement à son groupe.
 
void _updateSpan ()
 

Attributs privés

ItemGroupImplm_group_impl = nullptr
 
UniqueArray< KeyTypeValue > m_key_buffer
 
UniqueArray< Int32 > m_next_buffer
 Table des clés associées.
 
UniqueArray< Int32 > m_buckets
 Table des index suivant associés.
 
bool m_disable_check_integrity = false
 Tableau des buckets.
 
GroupIndexTableView m_view
 

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

Classe de base d'une table de hachage entre les items d'un groupe et leurs positions dans la table.

Cette table est utilisée pour les variables partielles : la position des données d'une entité n'est pas son localId() mais sa position dans l'énumerateur du groupe (i.e: dans la table).

Définition à la ligne 82 du fichier GroupIndexTable.h.

Documentation des définitions de type membres

◆ KeyTraitsType

Définition à la ligne 89 du fichier GroupIndexTable.h.

◆ KeyTypeConstRef

◆ KeyTypeValue

typedef Int32 Arcane::GroupIndexTable::KeyTypeValue

Définition à la ligne 87 du fichier GroupIndexTable.h.

◆ ValueType

typedef Int32 Arcane::GroupIndexTable::ValueType

Définition à la ligne 88 du fichier GroupIndexTable.h.

Documentation des constructeurs et destructeur

◆ GroupIndexTable()

Arcane::GroupIndexTable::GroupIndexTable ( ItemGroupImpl group_impl)
explicit

Définition à la ligne 35 du fichier GroupIndexTable.cc.

Documentation des fonctions membres

◆ _checkIntegrity()

bool Arcane::GroupIndexTable::_checkIntegrity ( bool  full = true) const
private

Test l'intégrité de la table relativement à son groupe.

Définition à la ligne 152 du fichier GroupIndexTable.cc.

Références ENUMERATE_ITEM.

◆ _hash()

Int32 Arcane::GroupIndexTable::_hash ( KeyTypeConstRef  id) const
inlineprivate

Fonction de hachage.

Utilise la fonction de hachage de Arcane même si quelques collisions sont constatées avec les petites valeurs

Définition à la ligne 125 du fichier GroupIndexTable.h.

◆ _hasKey()

bool Arcane::GroupIndexTable::_hasKey ( KeyTypeConstRef  id) const
private

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

Définition à la ligne 129 du fichier GroupIndexTable.cc.

◆ _initialized()

bool Arcane::GroupIndexTable::_initialized ( ) const
private

Teste l'initialisation de l'objet.

Définition à la ligne 143 du fichier GroupIndexTable.cc.

◆ _lookup()

Int32 Arcane::GroupIndexTable::_lookup ( KeyTypeConstRef  id) const
inlineprivate

Recherche d'une clef dans toute la table.

Définition à la ligne 141 du fichier GroupIndexTable.h.

◆ _lookupBucket()

Int32 Arcane::GroupIndexTable::_lookupBucket ( Int32  bucket,
KeyTypeConstRef  id 
) const
inlineprivate

Recherche d'une clef dans un bucket.

Définition à la ligne 134 du fichier GroupIndexTable.h.

◆ _updateSpan()

void Arcane::GroupIndexTable::_updateSpan ( )
private

Définition à la ligne 53 du fichier GroupIndexTable.cc.

◆ compact()

void Arcane::GroupIndexTable::compact ( const Int32ConstArrayView info)

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

◆ keyLocalId()

KeyTypeValue Arcane::GroupIndexTable::keyLocalId ( Int32  i) const
inline

Définition à la ligne 106 du fichier GroupIndexTable.h.

◆ operator[]()

ValueType Arcane::GroupIndexTable::operator[] ( Int32  i) const
inline

Définition à la ligne 104 du fichier GroupIndexTable.h.

◆ size()

Int32 Arcane::GroupIndexTable::size ( ) const
inline

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

◆ update()

void Arcane::GroupIndexTable::update ( )

Définition à la ligne 65 du fichier GroupIndexTable.cc.

◆ view()

GroupIndexTableView Arcane::GroupIndexTable::view ( ) const
inline

Définition à la ligne 110 du fichier GroupIndexTable.h.

Documentation des données membres

◆ m_buckets

UniqueArray<Int32> Arcane::GroupIndexTable::m_buckets
private

Table des index suivant associés.

Définition à la ligne 158 du fichier GroupIndexTable.h.

◆ m_disable_check_integrity

bool Arcane::GroupIndexTable::m_disable_check_integrity = false
private

Tableau des buckets.

Définition à la ligne 159 du fichier GroupIndexTable.h.

◆ m_group_impl

ItemGroupImpl* Arcane::GroupIndexTable::m_group_impl = nullptr
private

Définition à la ligne 155 du fichier GroupIndexTable.h.

◆ m_key_buffer

UniqueArray<KeyTypeValue> Arcane::GroupIndexTable::m_key_buffer
private

Définition à la ligne 156 du fichier GroupIndexTable.h.

◆ m_next_buffer

UniqueArray<Int32> Arcane::GroupIndexTable::m_next_buffer
private

Table des clés associées.

Définition à la ligne 157 du fichier GroupIndexTable.h.

◆ m_view

GroupIndexTableView Arcane::GroupIndexTable::m_view
private

Définition à la ligne 160 du fichier GroupIndexTable.h.


La documentation de cette classe a été générée à partir des fichiers suivants :