Arcane  v4.1.0.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>

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
 
IMemoryAllocator * m_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 166 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 179 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 175 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 180 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 177 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 178 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 176 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 322 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 327 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 341 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 347 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 355 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 418 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 652 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 586 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 594 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 469 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 473 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 487 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 495 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 530 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 491 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 504 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 851 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 425 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 612 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 618 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 685 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 693 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 715 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 526 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 500 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 508 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 624 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 790 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 777 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 800 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 820 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 580 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 574 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 452 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 461 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 465 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 541 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 517 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 606 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 601 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 311 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 657 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 677 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 669 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 663 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 720 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 724 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 841 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 832 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 545 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 456 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 536 du fichier HashTableMap2.h.

◆ max_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 >::max_bucket_count ( ) const
inlineconstexpr

Définition à la ligne 567 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>>
double Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::max_load_factor ( ) const
inlineconstexpr

Définition à la ligne 559 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 550 du fichier HashTableMap2.h.

◆ max_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 >::max_size ( ) const
inlineconstexpr

Définition à la ligne 563 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 633 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 413 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 362 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 389 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 399 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 748 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 762 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 482 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 478 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 906 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 883 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 871 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 730 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 863 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 522 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 443 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 701 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 708 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 513 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>>
size_type Arcane::impl::HashTableMap2< KeyT, ValueT, HashT, EqT >::END = 0xFFFFFFFF
staticconstexpr

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

◆ INACTIVE

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 >::INACTIVE = 0xFFFFFFFF
staticconstexpr

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


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