Project
Loading...
Searching...
No Matches
o2::rans::internal::HashTable< source_T, value_T > Class Template Reference

#include <HashTable.h>

Public Types

using source_type = source_T
 
using value_type = value_T
 
using container_type = absl::flat_hash_map< source_type, value_type >
 
using size_type = size_t
 
using difference_type = std::ptrdiff_t
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = value_type *
 
using const_pointer = const value_type *
 
using iterator = typename container_type::iterator
 
using const_iterator = typename container_type::const_iterator
 

Public Member Functions

 HashTable ()=default
 
 HashTable (value_type nullElement)
 
 HashTable (container_type container, value_type nullElement)
 
const_reference getNullElement () const
 
const_reference operator[] (source_type sourceSymbol) const
 
reference operator[] (source_type sourceSymbol)
 
const_iterator find (source_type sourceSymbol) const
 
size_type size () const noexcept
 
bool empty () const noexcept
 
const_iterator cbegin () const noexcept
 
const_iterator cend () const noexcept
 
const_iterator begin () const noexcept
 
const_iterator end () const noexcept
 
iterator begin () noexcept
 
iterator end () noexcept
 
container_type release () &&noexcept
 

Protected Attributes

container_type mContainer {}
 
value_type mNullElement {}
 

Friends

void swap (HashTable &a, HashTable &b) noexcept
 

Detailed Description

template<class source_T, class value_T>
class o2::rans::internal::HashTable< source_T, value_T >

Definition at line 35 of file HashTable.h.

Member Typedef Documentation

◆ const_iterator

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::const_iterator = typename container_type::const_iterator

Definition at line 48 of file HashTable.h.

◆ const_pointer

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::const_pointer = const value_type*

Definition at line 46 of file HashTable.h.

◆ const_reference

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::const_reference = const value_type&

Definition at line 44 of file HashTable.h.

◆ container_type

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::container_type = absl::flat_hash_map<source_type, value_type>

Definition at line 40 of file HashTable.h.

◆ difference_type

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::difference_type = std::ptrdiff_t

Definition at line 42 of file HashTable.h.

◆ iterator

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::iterator = typename container_type::iterator

Definition at line 47 of file HashTable.h.

◆ pointer

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::pointer = value_type*

Definition at line 45 of file HashTable.h.

◆ reference

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::reference = value_type&

Definition at line 43 of file HashTable.h.

◆ size_type

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::size_type = size_t

Definition at line 41 of file HashTable.h.

◆ source_type

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::source_type = source_T

Definition at line 38 of file HashTable.h.

◆ value_type

template<class source_T , class value_T >
using o2::rans::internal::HashTable< source_T, value_T >::value_type = value_T

Definition at line 39 of file HashTable.h.

Constructor & Destructor Documentation

◆ HashTable() [1/3]

template<class source_T , class value_T >
o2::rans::internal::HashTable< source_T, value_T >::HashTable ( )
default

◆ HashTable() [2/3]

template<class source_T , class value_T >
o2::rans::internal::HashTable< source_T, value_T >::HashTable ( value_type  nullElement)
inline

Definition at line 51 of file HashTable.h.

◆ HashTable() [3/3]

template<class source_T , class value_T >
o2::rans::internal::HashTable< source_T, value_T >::HashTable ( container_type  container,
value_type  nullElement 
)
inline

Definition at line 52 of file HashTable.h.

Member Function Documentation

◆ begin() [1/2]

template<class source_T , class value_T >
const_iterator o2::rans::internal::HashTable< source_T, value_T >::begin ( ) const
inlinenoexcept

Definition at line 78 of file HashTable.h.

◆ begin() [2/2]

template<class source_T , class value_T >
iterator o2::rans::internal::HashTable< source_T, value_T >::begin ( )
inlinenoexcept

Definition at line 82 of file HashTable.h.

◆ cbegin()

template<class source_T , class value_T >
const_iterator o2::rans::internal::HashTable< source_T, value_T >::cbegin ( ) const
inlinenoexcept

Definition at line 74 of file HashTable.h.

◆ cend()

template<class source_T , class value_T >
const_iterator o2::rans::internal::HashTable< source_T, value_T >::cend ( ) const
inlinenoexcept

Definition at line 76 of file HashTable.h.

◆ empty()

template<class source_T , class value_T >
bool o2::rans::internal::HashTable< source_T, value_T >::empty ( ) const
inlinenoexcept

Definition at line 72 of file HashTable.h.

◆ end() [1/2]

template<class source_T , class value_T >
const_iterator o2::rans::internal::HashTable< source_T, value_T >::end ( ) const
inlinenoexcept

Definition at line 80 of file HashTable.h.

◆ end() [2/2]

template<class source_T , class value_T >
iterator o2::rans::internal::HashTable< source_T, value_T >::end ( )
inlinenoexcept

Definition at line 84 of file HashTable.h.

◆ find()

template<class source_T , class value_T >
const_iterator o2::rans::internal::HashTable< source_T, value_T >::find ( source_type  sourceSymbol) const
inline

Definition at line 68 of file HashTable.h.

◆ getNullElement()

template<class source_T , class value_T >
const_reference o2::rans::internal::HashTable< source_T, value_T >::getNullElement ( ) const
inline

Definition at line 54 of file HashTable.h.

◆ operator[]() [1/2]

template<class source_T , class value_T >
reference o2::rans::internal::HashTable< source_T, value_T >::operator[] ( source_type  sourceSymbol)
inline

Definition at line 66 of file HashTable.h.

◆ operator[]() [2/2]

template<class source_T , class value_T >
const_reference o2::rans::internal::HashTable< source_T, value_T >::operator[] ( source_type  sourceSymbol) const
inline

Definition at line 56 of file HashTable.h.

◆ release()

template<class source_T , class value_T >
container_type o2::rans::internal::HashTable< source_T, value_T >::release ( ) &&
inlinenoexcept

Definition at line 86 of file HashTable.h.

◆ size()

template<class source_T , class value_T >
size_type o2::rans::internal::HashTable< source_T, value_T >::size ( ) const
inlinenoexcept

Definition at line 70 of file HashTable.h.

Friends And Related Symbol Documentation

◆ swap

template<class source_T , class value_T >
void swap ( HashTable< source_T, value_T > &  a,
HashTable< source_T, value_T > &  b 
)
friend

Definition at line 88 of file HashTable.h.

Member Data Documentation

◆ mContainer

template<class source_T , class value_T >
container_type o2::rans::internal::HashTable< source_T, value_T >::mContainer {}
protected

Definition at line 96 of file HashTable.h.

◆ mNullElement

template<class source_T , class value_T >
value_type o2::rans::internal::HashTable< source_T, value_T >::mNullElement {}
protected

Definition at line 97 of file HashTable.h.


The documentation for this class was generated from the following files: