38#ifndef Foam_HashTableCore_H
39#define Foam_HashTableCore_H
74 "NullObject is too small to reinterpret_cast as HashTable::iterator"
81 template<class IteratorType, class TableType>
103 bool empty() const
noexcept {
return !size_; }
104 label size() const
noexcept {
return size_; }
106 IteratorType begin() const
noexcept {
return iter_; }
107 IteratorType cbegin() const
noexcept {
return iter_; }
109 IteratorType
end()
const {
return IteratorType(); }
110 IteratorType
cend()
const {
return IteratorType(); }
Factory class for creating a begin/end pair for any const iterator type, normally associated with a H...
const_iterator_pair()
Default construct an empty pair.
const_iterator_pair(const TableType &tbl)
Construct begin/end pair for table.
bool empty() const noexcept
IteratorType begin() const noexcept
label size() const noexcept
IteratorType cbegin() const noexcept
IteratorType cend() const
Singleton null-object class and instance.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
static constexpr int32_t maxTableSize
Maximum allowable internal table size (must be a power of two!).
constexpr HashTableCore() noexcept=default
Default construct.
static label canonicalSize(const label size) noexcept
Return a canonical (power-of-two) of the requested size.
ClassName("HashTable")
Declare type-name (with debug switch).