Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence du modèle de la classe Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >

Implementation of std::unordered_map. Plus de détails...

#include <arcane/utils/HashTableMap2.h>

+ Graphe d'héritage de Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >:
+ Graphe de collaboration de Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >:

Classes

class  const_iterator
 
class  iterator
 

Types publics

using htype = HashTableMap2< KeyT, ValueT, HashT, EqT >
 
using value_type = std::pair< KeyT, ValueT >
 
using key_type = KeyT
 
using mapped_type = ValueT
 
using hasher = HashT
 
using key_equal = EqT
 
- Types publics hérités de Arcane::impl::HashTableMap2Base
using size_type = uint32_t
 

Fonctions membres publiques

void init (size_type bucket, float mlf=EMH_DEFAULT_LOAD_FACTOR)
 
 HashTableMap2 (size_type bucket=2, float mlf=EMH_DEFAULT_LOAD_FACTOR)
 
 HashTableMap2 (const HashTableMap2 &rhs)
 
 HashTableMap2 (HashTableMap2 &&rhs) noexcept
 
 HashTableMap2 (std::initializer_list< value_type > ilist)
 
template<class InputIt >
 HashTableMap2 (InputIt first, InputIt last, size_type bucket_count=4)
 
HashTableMap2operator= (const HashTableMap2 &rhs)
 
HashTableMap2operator= (HashTableMap2 &&rhs) noexcept
 
template<typename Con >
bool operator== (const Con &rhs) const
 
template<typename Con >
bool operator!= (const Con &rhs) const
 
void clone (const HashTableMap2 &rhs)
 
void swap (HashTableMap2 &rhs)
 
iterator first () const
 
iterator last () const
 
value_type & front ()
 
const value_type & front () const
 
value_type & back ()
 
const value_type & back () const
 
void pop_front ()
 
void pop_back ()
 
iterator begin ()
 
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator end ()
 
const_iterator cend () const
 
const_iterator end () const
 
const value_type * values () const
 
const Indexindex () const
 
size_type size () const
 
bool empty () const
 
size_type bucket_count () const
 
double load_factor () const
 Returns average number of elements per bucket.
 
HashT & hash_function () const
 
EqT & key_eq () const
 
void max_load_factor (double mlf)
 
constexpr double max_load_factor () const
 
constexpr size_type max_size () const
 
constexpr size_type max_bucket_count () const
 
template<typename K = KeyT>
iterator find (const K &key) noexcept
 
template<typename K = KeyT>
const_iterator find (const K &key) const noexcept
 
template<typename K = KeyT>
ValueT & at (const K &key)
 
template<typename K = KeyT>
const ValueT & at (const K &key) const
 
const ValueT & index (const uint32_t index) const
 
ValueT & index (const uint32_t index)
 
template<typename K = KeyT>
bool contains (const K &key) const noexcept
 
template<typename K = KeyT>
size_type count (const K &key) const noexcept
 
template<typename K = KeyT>
std::pair< iterator, iteratorequal_range (const K &key)
 
void merge (HashTableMap2 &rhs)
 
std::pair< iterator, bool > add (const KeyT &key, const ValueT &value)
 
std::pair< iterator, bool > insert (const value_type &p)
 
std::pair< iterator, bool > insert (value_type &&p)
 
void insert (std::initializer_list< value_type > ilist)
 
template<typename Iter >
void insert (Iter first, Iter last)
 
template<class... Args>
std::pair< iterator, bool > emplace (Args &&... args) noexcept
 
template<class... Args>
iterator emplace_hint (const_iterator hint, Args &&... args)
 
template<class... Args>
std::pair< iterator, bool > try_emplace (const KeyT &k, Args &&... args)
 
template<class... Args>
std::pair< iterator, bool > try_emplace (KeyT &&k, Args &&... args)
 
template<class... Args>
size_type emplace_unique (Args &&... args)
 
std::pair< iterator, bool > insert_or_assign (const KeyT &key, ValueT &&val)
 
std::pair< iterator, bool > insert_or_assign (KeyT &&key, ValueT &&val)
 
ValueT set_get (const KeyT &key, const ValueT &val)
 Return the old value or ValueT() if it didn't exist.
 
ValueT & operator[] (const KeyT &key) noexcept
 Like std::map<KeyT, ValueT>::operator[].
 
ValueT & operator[] (KeyT &&key) noexcept
 
size_type erase (const KeyT &key) noexcept
 
iterator erase (const const_iterator &cit) noexcept
 
iterator erase (const_iterator first, const_iterator last) noexcept
 
template<typename Pred >
size_type erase_if (Pred pred)
 
void clear () noexcept
 Remove all elements, keeping full capacity.
 
void shrink_to_fit (const float min_factor=EMH_DEFAULT_LOAD_FACTOR/4)
 
bool reserve (uint64_t num_elems, bool force)
 Make room for this many elements.
 
bool reserve (size_type required_buckets) noexcept
 
void rehash (uint64_t required_buckets)
 

Fonctions membres publiques statiques

static constexpr bool is_triviall_destructable ()
 
static constexpr bool is_copy_trivially ()
 

Attributs publics statiques

static constexpr size_type INACTIVE = 0xFFFFFFFF
 
static constexpr size_type END = 0xFFFFFFFF
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::impl::HashTableMap2Base
void _allocIndex (size_type num_buckets)
 
void _freeIndex ()
 
void _doSwap (HashTableMap2Base &rhs)
 
void _doClone (const HashTableMap2Base &rhs)
 
- Attributs protégés hérités de Arcane::impl::HashTableMap2Base
Indexm_index = nullptr
 
uint32_t m_mlf = 0
 
size_type m_mask = 0
 
size_type m_num_buckets = 0
 
size_type m_num_filled = 0
 
size_type m_last = 0
 
size_type m_etail = 0
 
IMemoryAllocatorm_memory_allocator = _defaultAllocator()
 
- Attributs protégés statiques hérités de Arcane::impl::HashTableMap2Base
static constexpr size_type EAD = 2
 

Description détaillée

template<typename KeyT, typename ValueT, typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
class Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >

Implementation of std::unordered_map.

Avertissement
This class is experimental and internal to Arcane.

Définition à la ligne 165 du fichier HashTableMap2.h.

Documentation des définitions de type membres

◆ hasher

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::hasher = HashT

Définition à la ligne 178 du fichier HashTableMap2.h.

◆ htype

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::htype = HashTableMap2<KeyT, ValueT, HashT, EqT>

Définition à la ligne 174 du fichier HashTableMap2.h.

◆ key_equal

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::key_equal = EqT

Définition à la ligne 179 du fichier HashTableMap2.h.

◆ key_type

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::key_type = KeyT

Définition à la ligne 176 du fichier HashTableMap2.h.

◆ mapped_type

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::mapped_type = ValueT

Définition à la ligne 177 du fichier HashTableMap2.h.

◆ value_type

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
using Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::value_type = std::pair<KeyT, ValueT>

Définition à la ligne 175 du fichier HashTableMap2.h.

Documentation des constructeurs et destructeur

◆ HashTableMap2() [1/5]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::HashTableMap2 ( size_type  bucket = 2,
float  mlf = EMH_DEFAULT_LOAD_FACTOR 
)
inline

Définition à la ligne 321 du fichier HashTableMap2.h.

◆ HashTableMap2() [2/5]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::HashTableMap2 ( const HashTableMap2< KeyT, ValueT, HashT, EqT > &  rhs)
inline

Définition à la ligne 326 du fichier HashTableMap2.h.

◆ HashTableMap2() [3/5]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::HashTableMap2 ( HashTableMap2< KeyT, ValueT, HashT, EqT > &&  rhs)
inlinenoexcept

Définition à la ligne 340 du fichier HashTableMap2.h.

◆ HashTableMap2() [4/5]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::HashTableMap2 ( std::initializer_list< value_type >  ilist)
inline

Définition à la ligne 346 du fichier HashTableMap2.h.

◆ HashTableMap2() [5/5]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class InputIt >
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::HashTableMap2 ( InputIt  first,
InputIt  last,
size_type  bucket_count = 4 
)
inline

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

◆ ~HashTableMap2()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::~HashTableMap2 ( )
inlinenoexcept

Définition à la ligne 417 du fichier HashTableMap2.h.

Documentation des fonctions membres

◆ add()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::add ( const KeyT &  key,
const ValueT &  value 
)
inline

Définition à la ligne 651 du fichier HashTableMap2.h.

◆ at() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::at ( const K &  key)
inline

Définition à la ligne 585 du fichier HashTableMap2.h.

◆ at() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
const ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::at ( const K &  key) const
inline

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

◆ back() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
value_type & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::back ( )
inline

Définition à la ligne 468 du fichier HashTableMap2.h.

◆ back() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const value_type & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::back ( ) const
inline

Définition à la ligne 472 du fichier HashTableMap2.h.

◆ begin() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::begin ( )
inline

Définition à la ligne 486 du fichier HashTableMap2.h.

◆ begin() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const_iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::begin ( ) const
inline

Définition à la ligne 494 du fichier HashTableMap2.h.

◆ bucket_count()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::bucket_count ( ) const
inline

Définition à la ligne 529 du fichier HashTableMap2.h.

◆ cbegin()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const_iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::cbegin ( ) const
inline

Définition à la ligne 490 du fichier HashTableMap2.h.

◆ cend()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const_iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::cend ( ) const
inline

Définition à la ligne 503 du fichier HashTableMap2.h.

◆ clear()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::clear ( )
inlinenoexcept

Remove all elements, keeping full capacity.

Définition à la ligne 850 du fichier HashTableMap2.h.

◆ clone()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::clone ( const HashTableMap2< KeyT, ValueT, HashT, EqT > &  rhs)
inline

Définition à la ligne 424 du fichier HashTableMap2.h.

◆ contains()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::contains ( const K &  key) const
inlinenoexcept

Définition à la ligne 611 du fichier HashTableMap2.h.

◆ count()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::count ( const K &  key) const
inlinenoexcept

Définition à la ligne 617 du fichier HashTableMap2.h.

◆ emplace()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class... Args>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::emplace ( Args &&...  args)
inlinenoexcept

Définition à la ligne 684 du fichier HashTableMap2.h.

◆ emplace_hint()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class... Args>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::emplace_hint ( const_iterator  hint,
Args &&...  args 
)
inline

Définition à la ligne 692 du fichier HashTableMap2.h.

◆ emplace_unique()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class... Args>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::emplace_unique ( Args &&...  args)
inline

Définition à la ligne 714 du fichier HashTableMap2.h.

◆ empty()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::empty ( ) const
inline

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

◆ end() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::end ( )
inline

Définition à la ligne 499 du fichier HashTableMap2.h.

◆ end() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const_iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::end ( ) const
inline

Définition à la ligne 507 du fichier HashTableMap2.h.

◆ equal_range()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
std::pair< iterator, iterator > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::equal_range ( const K &  key)
inline

Définition à la ligne 623 du fichier HashTableMap2.h.

◆ erase() [1/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::erase ( const const_iterator cit)
inlinenoexcept

Définition à la ligne 789 du fichier HashTableMap2.h.

◆ erase() [2/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::erase ( const KeyT &  key)
inlinenoexcept

Erase an element from the hash table. return 0 if element was not found

Définition à la ligne 776 du fichier HashTableMap2.h.

◆ erase() [3/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::erase ( const_iterator  first,
const_iterator  last 
)
inlinenoexcept

Définition à la ligne 799 du fichier HashTableMap2.h.

◆ erase_if()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename Pred >
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::erase_if ( Pred  pred)
inline

Définition à la ligne 819 du fichier HashTableMap2.h.

◆ find() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
const_iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::find ( const K &  key) const
inlinenoexcept

Définition à la ligne 579 du fichier HashTableMap2.h.

◆ find() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename K = KeyT>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::find ( const K &  key)
inlinenoexcept

Définition à la ligne 573 du fichier HashTableMap2.h.

◆ first()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::first ( ) const
inline

Définition à la ligne 451 du fichier HashTableMap2.h.

◆ front() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
value_type & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::front ( )
inline

Définition à la ligne 460 du fichier HashTableMap2.h.

◆ front() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const value_type & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::front ( ) const
inline

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

◆ hash_function()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
HashT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::hash_function ( ) const
inline

Définition à la ligne 540 du fichier HashTableMap2.h.

◆ index() [1/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const Index * Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::index ( ) const
inline

Définition à la ligne 516 du fichier HashTableMap2.h.

◆ index() [2/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::index ( const uint32_t  index)
inline

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

◆ index() [3/3]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::index ( const uint32_t  index) const
inline

Définition à la ligne 600 du fichier HashTableMap2.h.

◆ init()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::init ( size_type  bucket,
float  mlf = EMH_DEFAULT_LOAD_FACTOR 
)
inline

Définition à la ligne 310 du fichier HashTableMap2.h.

◆ insert() [1/4]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert ( const value_type &  p)
inline

Définition à la ligne 656 du fichier HashTableMap2.h.

◆ insert() [2/4]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename Iter >
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert ( Iter  first,
Iter  last 
)
inline

Définition à la ligne 676 du fichier HashTableMap2.h.

◆ insert() [3/4]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert ( std::initializer_list< value_type >  ilist)
inline

Définition à la ligne 668 du fichier HashTableMap2.h.

◆ insert() [4/4]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert ( value_type &&  p)
inline

Définition à la ligne 662 du fichier HashTableMap2.h.

◆ insert_or_assign() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert_or_assign ( const KeyT &  key,
ValueT &&  val 
)
inline

Définition à la ligne 719 du fichier HashTableMap2.h.

◆ insert_or_assign() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::insert_or_assign ( KeyT &&  key,
ValueT &&  val 
)
inline

Définition à la ligne 723 du fichier HashTableMap2.h.

◆ is_copy_trivially()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
static constexpr bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::is_copy_trivially ( )
inlinestaticconstexpr

Définition à la ligne 840 du fichier HashTableMap2.h.

◆ is_triviall_destructable()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
static constexpr bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::is_triviall_destructable ( )
inlinestaticconstexpr

Définition à la ligne 831 du fichier HashTableMap2.h.

◆ key_eq()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
EqT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::key_eq ( ) const
inline

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

◆ last()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
iterator Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::last ( ) const
inline

Définition à la ligne 455 du fichier HashTableMap2.h.

◆ load_factor()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
double Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::load_factor ( ) const
inline

Returns average number of elements per bucket.

Définition à la ligne 535 du fichier HashTableMap2.h.

◆ max_bucket_count()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
constexpr size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::max_bucket_count ( ) const
inlineconstexpr

Définition à la ligne 566 du fichier HashTableMap2.h.

◆ max_load_factor() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
constexpr double Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::max_load_factor ( ) const
inlineconstexpr

Définition à la ligne 558 du fichier HashTableMap2.h.

◆ max_load_factor() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::max_load_factor ( double  mlf)
inline

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

◆ max_size()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
constexpr size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::max_size ( ) const
inlineconstexpr

Définition à la ligne 562 du fichier HashTableMap2.h.

◆ merge()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::merge ( HashTableMap2< KeyT, ValueT, HashT, EqT > &  rhs)
inline

Définition à la ligne 632 du fichier HashTableMap2.h.

◆ operator!=()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename Con >
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator!= ( const Con &  rhs) const
inline

Définition à la ligne 412 du fichier HashTableMap2.h.

◆ operator=() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
HashTableMap2 & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator= ( const HashTableMap2< KeyT, ValueT, HashT, EqT > &  rhs)
inline

Définition à la ligne 361 du fichier HashTableMap2.h.

◆ operator=() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
HashTableMap2 & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator= ( HashTableMap2< KeyT, ValueT, HashT, EqT > &&  rhs)
inlinenoexcept

Définition à la ligne 388 du fichier HashTableMap2.h.

◆ operator==()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<typename Con >
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator== ( const Con &  rhs) const
inline

Définition à la ligne 398 du fichier HashTableMap2.h.

◆ operator[]() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator[] ( const KeyT &  key)
inlinenoexcept

Like std::map<KeyT, ValueT>::operator[].

Définition à la ligne 747 du fichier HashTableMap2.h.

◆ operator[]() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
ValueT & Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::operator[] ( KeyT &&  key)
inlinenoexcept

Définition à la ligne 761 du fichier HashTableMap2.h.

◆ pop_back()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::pop_back ( )
inline

Définition à la ligne 481 du fichier HashTableMap2.h.

◆ pop_front()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::pop_front ( )
inline

Définition à la ligne 477 du fichier HashTableMap2.h.

◆ rehash()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::rehash ( uint64_t  required_buckets)
inline

Définition à la ligne 905 du fichier HashTableMap2.h.

◆ reserve() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::reserve ( size_type  required_buckets)
inlinenoexcept

Définition à la ligne 882 du fichier HashTableMap2.h.

◆ reserve() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
bool Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::reserve ( uint64_t  num_elems,
bool  force 
)
inline

Make room for this many elements.

Définition à la ligne 870 du fichier HashTableMap2.h.

◆ set_get()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
ValueT Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::set_get ( const KeyT &  key,
const ValueT &  val 
)
inline

Return the old value or ValueT() if it didn't exist.

Définition à la ligne 729 du fichier HashTableMap2.h.

◆ shrink_to_fit()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::shrink_to_fit ( const float  min_factor = EMH_DEFAULT_LOAD_FACTOR / 4)
inline

Définition à la ligne 862 du fichier HashTableMap2.h.

◆ size()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::size ( ) const
inline

Définition à la ligne 521 du fichier HashTableMap2.h.

◆ swap()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
void Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::swap ( HashTableMap2< KeyT, ValueT, HashT, EqT > &  rhs)
inline

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

◆ try_emplace() [1/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class... Args>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::try_emplace ( const KeyT &  k,
Args &&...  args 
)
inline

Définition à la ligne 700 du fichier HashTableMap2.h.

◆ try_emplace() [2/2]

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
template<class... Args>
std::pair< iterator, bool > Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::try_emplace ( KeyT &&  k,
Args &&...  args 
)
inline

Définition à la ligne 707 du fichier HashTableMap2.h.

◆ values()

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
const value_type * Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::values ( ) const
inline

Définition à la ligne 512 du fichier HashTableMap2.h.

Documentation des données membres

◆ END

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
constexpr size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::END = 0xFFFFFFFF
staticconstexpr

Définition à la ligne 182 du fichier HashTableMap2.h.

◆ INACTIVE

template<typename KeyT , typename ValueT , typename HashT = std::hash<KeyT>, typename EqT = std::equal_to<KeyT>>
constexpr size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::INACTIVE = 0xFFFFFFFF
staticconstexpr

Définition à la ligne 181 du fichier HashTableMap2.h.


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