Go to the documentation of this file.
39 #ifndef HashTableCore_H
40 #define HashTableCore_H
74 "NullObject is too small to reinterpret_cast as HashTable::iterator"
79 template<
class IteratorType,
class TableType>
83 template<
class IteratorType,
class TableType>
88 template<
class IteratorType>
93 template<
class IteratorType>
98 template<
class IteratorType,
class TableType>
109 bool empty() const noexcept {
return !size_; }
111 inline IteratorType
begin()
const;
112 inline IteratorType
cbegin()
const;
114 inline const IteratorType&
end()
const;
115 inline const IteratorType&
cend()
const;
const_iterator_pair(const TableType &tbl)
const IteratorType & cend() const
const IteratorType & end() const
static const IteratorType & iterator_cend()
Factory method to return an iterator cend.
static IteratorType iterator_begin(TableType &table)
Factory method to create a non-const iterator begin.
static const IteratorType & iterator_end()
Factory method to return an iterator end.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
static label canonicalSize(const label requested_size)
Return a canonical (power-of-two) of the requested size.
Bits that are independent of HashTable template parameters.
HashTableCore()=default
Construct null.
static IteratorType iterator_cbegin(const TableType &table)
Factory method to create a const iterator begin.
Factory class for creating a begin/end pair for any const iterator.
static const label maxTableSize
Maximum allowable internal table size. Approximately labelMax/4.
Singleton null-object class and instance.
IteratorType cbegin() const
IteratorType begin() const
label size() const noexcept
bool empty() const noexcept
ClassName("HashTable")
Define template name and debug.