The boundaryRegion persistent data saved as a Map<dictionary>. More...
Public Member Functions | |
boundaryRegion (const boundaryRegion &)=delete | |
No copy construct. More... | |
boundaryRegion () noexcept=default | |
Default construct. More... | |
boundaryRegion (const objectRegistry &obr, const word &name="boundaryRegion", const fileName &instance="constant") | |
Read construct from registry, name, instance. More... | |
~boundaryRegion ()=default | |
Destructor. More... | |
label | push_back (const dictionary &dict) |
Add to the end, return index. More... | |
label | maxIndex () const |
The max table index, -1 if empty. More... | |
label | findIndex (const word &name) const |
The index corresponding to entry with 'Label' of given name, or -1 if not found. More... | |
word | name (const label id) const |
The 'Label' name corresponding to id, or boundaryRegion_ID if not otherwise defined. More... | |
Map< word > | names () const |
Return the extracted Map of (id => name) More... | |
Map< word > | names (const wordRes &patterns) const |
Return the extracted Map of (id => names) selected by patterns. More... | |
Map< word > | boundaryTypes () const |
Return the extracted Map of (id => type) More... | |
word | boundaryType (const word &name) const |
Return BoundaryType corresponding to patch 'name', "patch" if not found. More... | |
void | readDict (const objectRegistry &obr, const word &name="boundaryRegion", const fileName &instance="constant") |
Read constant/boundaryRegion. More... | |
void | writeDict (const objectRegistry &obr, const word &name="boundaryRegion", const fileName &instance="constant") const |
Write constant/boundaryRegion for later reuse. More... | |
void | operator= (const boundaryRegion &) |
Copy assignment. More... | |
void | operator= (const Map< dictionary > &) |
Assign from Map<dictionary> More... | |
void | rename (const dictionary &) |
Rename regions. More... | |
label | append (const dictionary &dict) |
Add to the end, return index. More... | |
Public Member Functions inherited from Map< dictionary > | |
Map () noexcept=default | |
Default construct: empty without allocation (capacity=0) More... | |
Map (const Foam::zero) noexcept | |
Construct empty without allocation (capacity=0) More... | |
Map (const label initialCapacity) | |
Construct empty with given initial table capacity. More... | |
Map (Istream &is) | |
Construct from Istream (with default initial table capacity) More... | |
Map (const this_type &map) | |
Copy construct. More... | |
Map (this_type &&map) noexcept | |
Move construct. More... | |
Map (std::initializer_list< std::pair< label, dictionary >> map, const bool overwrite=false) | |
Construct from key/value pairs in initializer list. More... | |
Map (const UList< label > &keys, const UList< dictionary > &values, const bool overwrite=false) | |
Construct from key/value pairs. More... | |
void | operator= (const this_type &rhs) |
Copy assignment. More... | |
void | operator= (this_type &&rhs) |
Move assignment. More... | |
Public Member Functions inherited from HashTable< T, Key, Hash > | |
HashTable () noexcept | |
Default construct: empty without allocation (capacity=0) More... | |
HashTable (const Foam::zero) noexcept | |
Construct empty without allocation (capacity=0) More... | |
HashTable (const label initialCapacity) | |
Construct empty with initial table capacity. More... | |
HashTable (Istream &is) | |
Construct from Istream. More... | |
HashTable (const this_type &ht) | |
Copy construct. More... | |
HashTable (this_type &&rhs) noexcept | |
Move construct. More... | |
HashTable (std::initializer_list< std::pair< Key, T >> list, const bool overwrite=false) | |
Construct from key/value pairs in initializer list. More... | |
HashTable (const UList< Key > &keys, const UList< T > &values, const bool overwrite=false) | |
Construct from key/value pairs. More... | |
~HashTable () | |
Destructor. More... | |
bool | empty () const noexcept |
True if the hash table is empty. More... | |
label | size () const noexcept |
The number of elements in table. More... | |
label | capacity () const noexcept |
The size of the underlying table (the number of buckets) More... | |
T & | at (const Key &key) |
Find and return a hashed entry. FatalError if it does not exist. More... | |
const T & | at (const Key &key) const |
Find and return a hashed entry. FatalError if it does not exist. More... | |
bool | contains (const Key &key) const |
True if hashed key is contained (found) in table. More... | |
iterator | find (const Key &key) |
Find and return an iterator set at the hashed entry. More... | |
const_iterator | find (const Key &key) const |
Find and return an const_iterator set at the hashed entry. More... | |
const_iterator | cfind (const Key &key) const |
Find and return an const_iterator set at the hashed entry. More... | |
const T & | lookup (const Key &key, const T &deflt) const |
Return hashed entry if it exists, or return the given default. More... | |
List< Key > | toc () const |
The table of contents (the keys) in unsorted order. More... | |
List< Key > | sortedToc () const |
The table of contents (the keys) in sorted order. More... | |
template<class Compare > | |
List< Key > | sortedToc (const Compare &comp) const |
The table of contents (the keys) sorted according to the specified comparator. More... | |
template<class UnaryPredicate > | |
List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert=false) const |
The table of contents (the keys) selected according to the unary predicate applied to the keys. More... | |
template<class UnaryPredicate > | |
List< Key > | tocValues (const UnaryPredicate &pred, const bool invert=false) const |
The table of contents (the keys) selected according to the unary predicate applied to the values. More... | |
template<class BinaryPredicate > | |
List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert=false) const |
The table of contents (the keys) selected according to the binary predicate applied to the keys and values. More... | |
UPtrList< const node_type > | csorted () const |
Const access to the hash-table contents in sorted order (sorted by keys). More... | |
UPtrList< node_type > | sorted () |
Non-const access to the hash-table contents in sorted order (sorted by keys). More... | |
template<class UnaryPredicate > | |
label | countKeys (const UnaryPredicate &pred, const bool invert=false) const |
Count the number of keys that satisfy the unary predicate. More... | |
template<class UnaryPredicate > | |
label | countValues (const UnaryPredicate &pred, const bool invert=false) const |
Count the number of values that satisfy the unary predicate. More... | |
template<class BinaryPredicate > | |
label | countEntries (const BinaryPredicate &pred, const bool invert=false) const |
Count the number of entries that satisfy the binary predicate. More... | |
template<class... Args> | |
bool | emplace (const Key &key, Args &&... args) |
Emplace insert a new entry, not overwriting existing entries. More... | |
template<class... Args> | |
bool | emplace_set (const Key &key, Args &&... args) |
Emplace set an entry, overwriting any existing entries. More... | |
bool | insert (const Key &key, const T &obj) |
Copy insert a new entry, not overwriting existing entries. More... | |
bool | insert (const Key &key, T &&obj) |
Move insert a new entry, not overwriting existing entries. More... | |
bool | set (const Key &key, const T &obj) |
Copy assign a new entry, overwriting existing entries. More... | |
bool | set (const Key &key, T &&obj) |
Move assign a new entry, overwriting existing entries. More... | |
bool | erase (const iterator &iter) |
Erase an entry specified by given iterator. More... | |
bool | erase (const Key &key) |
Erase an entry specified by the given key. More... | |
template<class AnyType , class AnyHash > | |
label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
Remove table entries given by keys of the other hash-table. More... | |
label | erase (std::initializer_list< Key > keys) |
Remove table entries given by the listed keys. More... | |
template<class InputIter > | |
label | erase (InputIter first, InputIter last) |
Remove multiple entries using an iterator range of keys. More... | |
template<unsigned N> | |
label | erase (const FixedList< Key, N > &keys) |
Remove table entries given by the listed keys. More... | |
label | erase (const UList< Key > &keys) |
Remove table entries given by the listed keys. More... | |
template<class AnyType , class AnyHash > | |
label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
Retain table entries given by keys of the other hash-table. More... | |
template<class UnaryPredicate > | |
label | filterKeys (const UnaryPredicate &pred, const bool pruning=false) |
Generalized means to filter table entries based on their keys. More... | |
template<class UnaryPredicate > | |
label | filterValues (const UnaryPredicate &pred, const bool pruning=false) |
Generalized means to filter table entries based on their values. More... | |
template<class BinaryPredicate > | |
label | filterEntries (const BinaryPredicate &pred, const bool pruning=false) |
Generalized means to filter table entries based on their key/value. More... | |
void | clear () |
Remove all entries from table. More... | |
void | clearStorage () |
Remove all entries from table and the table itself. More... | |
void | setCapacity (label newCapacity) |
Change the hash table capacity (number of buckets). More... | |
void | resize (label newCapacity) |
Rehash the hash table with new number of buckets. Currently identical to setCapacity() More... | |
void | reserve (label numEntries) |
Reserve space for at least the specified number of elements (not the number of buckets) and regenerates the hash table. More... | |
void | swap (HashTable< T, Key, Hash > &rhs) noexcept |
Swap contents into this table. More... | |
void | transfer (HashTable< T, Key, Hash > &rhs) |
Transfer contents into this table. More... | |
void | merge (HashTable< T, Key, Hash > &source) |
Attempts to extract entries from source parameter and insert them into this , does not overwrite existing entries. The source will contains any items that could not be merged. More... | |
void | merge (HashTable< T, Key, Hash > &&source) |
Attempts to extract entries from source parameter and insert them into this , does not overwrite existing entries. The source will contains any items that could not be merged. More... | |
T & | operator[] (const Key &key) |
Find and return a hashed entry. FatalError if it does not exist. More... | |
const T & | operator[] (const Key &key) const |
Find and return a hashed entry. FatalError if it does not exist. More... | |
T & | operator() (const Key &key) |
Return existing entry or create a new entry. More... | |
T & | operator() (const Key &key, const T &deflt) |
Return existing entry or insert a new entry. More... | |
void | operator= (const this_type &rhs) |
Copy assign. More... | |
void | operator= (std::initializer_list< std::pair< Key, T >> rhs) |
Copy assign from an initializer list. More... | |
void | operator= (this_type &&rhs) |
Move assign. More... | |
bool | operator== (const this_type &rhs) const |
Equality. Tables are equal if all keys and values are equal, independent of order or underlying storage size. More... | |
bool | operator!= (const this_type &rhs) const |
The opposite of the equality operation. More... | |
this_type & | operator+= (const this_type &rhs) |
Add entries into this HashTable. More... | |
const_iterator_pair< const_key_iterator, this_type > | keys () const |
A const iterator begin/end pair for iterating over keys. More... | |
iterator | begin () |
iterator set to the beginning of the HashTable More... | |
const_iterator | begin () const |
const_iterator set to the beginning of the HashTable More... | |
const_iterator | cbegin () const |
const_iterator set to the beginning of the HashTable More... | |
iterator | end () noexcept |
iterator to signal the end (for any HashTable) More... | |
const_iterator | end () const noexcept |
const_iterator to signal the end (for any HashTable) More... | |
constexpr const_iterator | cend () const noexcept |
const_iterator to signal the end (for any HashTable) More... | |
Ostream & | printInfo (Ostream &os) const |
Print information. More... | |
Ostream & | writeKeys (Ostream &os, const label shortLen=0) const |
Write unordered keys (list), with line-breaks when length exceeds shortLen. More... | |
bool | found (const Key &key) const |
Same as contains() More... | |
UPtrList< const node_type > | sorted () const |
Deprecated(2023-07) use csorted() method. More... | |
template<class Compare > | |
Foam::List< Key > | sortedToc (const Compare &comp) const |
template<class UnaryPredicate > | |
Foam::List< Key > | tocKeys (const UnaryPredicate &pred, const bool invert) const |
template<class UnaryPredicate > | |
Foam::List< Key > | tocValues (const UnaryPredicate &pred, const bool invert) const |
template<class BinaryPredicate > | |
Foam::List< Key > | tocEntries (const BinaryPredicate &pred, const bool invert) const |
template<class UnaryPredicate > | |
Foam::label | countKeys (const UnaryPredicate &pred, const bool invert) const |
template<class UnaryPredicate > | |
Foam::label | countValues (const UnaryPredicate &pred, const bool invert) const |
template<class BinaryPredicate > | |
Foam::label | countEntries (const BinaryPredicate &pred, const bool invert) const |
template<class InputIter> | |
Foam::label | erase (InputIter first, InputIter last) |
template<unsigned N> | |
Foam::label | erase (const FixedList< Key, N > &keys) |
template<class AnyType, class AnyHash > | |
Foam::label | erase (const HashTable< AnyType, Key, AnyHash > &other) |
template<class AnyType , class AnyHash > | |
Foam::label | retain (const HashTable< AnyType, Key, AnyHash > &other) |
template<class UnaryPredicate > | |
Foam::label | filterKeys (const UnaryPredicate &pred, const bool pruning) |
template<class UnaryPredicate > | |
Foam::label | filterValues (const UnaryPredicate &pred, const bool pruning) |
template<class BinaryPredicate > | |
Foam::label | filterEntries (const BinaryPredicate &pred, const bool pruning) |
Public Member Functions inherited from HashTableCore | |
ClassName ("HashTable") | |
Declare type-name (with debug switch) More... | |
HashTableCore () noexcept=default | |
Default construct. More... | |
Additional Inherited Members | |
Public Types inherited from Map< dictionary > | |
typedef Map< dictionary > | this_type |
The template instance used for this Map. More... | |
typedef HashTable< dictionary, label, Hash< label > > | parent_type |
The template instance used for the parent HashTable. More... | |
using | iterator = typename parent_type::iterator |
using | const_iterator = typename parent_type::const_iterator |
Public Types inherited from HashTable< T, Key, Hash > | |
typedef HashTable< T, Key, Hash > | this_type |
The template instance used for this HashTable. More... | |
typedef std::conditional< std::is_same< Foam::zero, typename std::remove_cv< T >::type >::value, Detail::HashTableSingle< Key >, Detail::HashTablePair< Key, T > >::type | node_type |
A table entry (node) that encapsulates the key/val tuple with an additional linked-list entry for hash collisions. More... | |
typedef Key | key_type |
The second template parameter, type of keys used. More... | |
typedef T | mapped_type |
The first template parameter, type of objects contained. More... | |
typedef T | value_type |
Same as mapped_type for OpenFOAM HashTables. More... | |
typedef Hash | hasher |
The third template parameter, the hash index method. More... | |
typedef T * | pointer |
Pointer type for storing into value_type objects. More... | |
typedef T & | reference |
Reference to the stored value_type. More... | |
typedef const T * | const_pointer |
Const pointer type for the stored value_type. More... | |
typedef const T & | const_reference |
Const reference to the stored value_type. More... | |
typedef label | difference_type |
The type to represent the difference between two iterators. More... | |
typedef label | size_type |
The type that can represent the size of a HashTable. More... | |
using | key_iterator = key_iterator_base< iterator > |
Forward iterator returning the key. More... | |
using | const_key_iterator = key_iterator_base< const_iterator > |
Forward const iterator returning the key. More... | |
Static Public Member Functions inherited from HashTableCore | |
static label | canonicalSize (const label requested_size) |
Return a canonical (power-of-two) of the requested size. More... | |
Static Public Attributes inherited from HashTableCore | |
static const label | maxTableSize |
Maximum allowable internal table size. Approximately labelMax/4. More... | |
The boundaryRegion persistent data saved as a Map<dictionary>.
The meshReader supports boundaryRegion information.
The constant/boundaryRegion
file is an IOMap<dictionary>
that is used to save the information persistently. It contains the boundaryRegion information of the following form:
( INT { BoundaryType WORD; Label WORD; } ... )
Definition at line 70 of file boundaryRegion.H.
|
delete |
No copy construct.
|
defaultnoexcept |
Default construct.
|
explicit |
Read construct from registry, name, instance.
Definition at line 65 of file boundaryRegion.C.
References Foam::name().
|
default |
Destructor.
Foam::label push_back | ( | const dictionary & | dict | ) |
Add to the end, return index.
Definition at line 92 of file boundaryRegion.C.
References dict, and insert().
Referenced by boundaryRegion::append().
Foam::label maxIndex | ( | ) | const |
The max table index, -1 if empty.
Definition at line 77 of file boundaryRegion.C.
References forAllConstIters().
Foam::label findIndex | ( | const word & | name | ) | const |
The index corresponding to entry with 'Label' of given name, or -1 if not found.
Definition at line 152 of file boundaryRegion.C.
References dict, forAllConstIters(), Foam::name(), and dictionary::readIfPresent().
Foam::word name | ( | const label | id | ) | const |
The 'Label' name corresponding to id, or boundaryRegion_ID if not otherwise defined.
Definition at line 133 of file boundaryRegion.C.
References Foam::name().
Foam::Map< Foam::word > names | ( | ) | const |
Return the extracted Map of (id => name)
Definition at line 101 of file boundaryRegion.C.
References Foam::names_impl().
Foam::Map< Foam::word > names | ( | const wordRes & | patterns | ) | const |
Return the extracted Map of (id => names) selected by patterns.
Definition at line 107 of file boundaryRegion.C.
References Foam::names_impl().
Foam::Map< Foam::word > boundaryTypes | ( | ) | const |
Return the extracted Map of (id => type)
Definition at line 113 of file boundaryRegion.C.
References forAllConstIters(), Foam::output(), and readIfPresent().
Foam::word boundaryType | ( | const word & | name | ) | const |
Return BoundaryType corresponding to patch 'name', "patch" if not found.
Definition at line 174 of file boundaryRegion.C.
References Foam::findIndex().
void readDict | ( | const objectRegistry & | obr, |
const word & | name = "boundaryRegion" , |
||
const fileName & | instance = "constant" |
||
) |
Read constant/boundaryRegion.
Definition at line 189 of file boundaryRegion.C.
References HashTable< T, label, Hash< label > >::clear(), Foam::endl(), regIOobject::headerOk(), Foam::Info, Foam::name(), IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, and IOobjectOption::READ_IF_PRESENT.
void writeDict | ( | const objectRegistry & | obr, |
const word & | name = "boundaryRegion" , |
||
const fileName & | instance = "constant" |
||
) | const |
Write constant/boundaryRegion for later reuse.
Definition at line 223 of file boundaryRegion.C.
References Foam::endl(), Foam::Info, Foam::name(), IOobject::name(), IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, IOobject::note(), IOobject::objectPath(), IOobject::objectRelPath(), os(), IOobject::writeEndDivider(), and IOobject::writeHeader().
void operator= | ( | const boundaryRegion & | rhs | ) |
Copy assignment.
Definition at line 259 of file boundaryRegion.C.
References Map< T >::operator=().
void operator= | ( | const Map< dictionary > & | rhs | ) |
Assign from Map<dictionary>
Definition at line 265 of file boundaryRegion.C.
References Map< T >::operator=().
void rename | ( | const dictionary & | mapDict | ) |
Rename regions.
each dictionary entry is a single word:
* newPatchName originalName; *
Definition at line 273 of file boundaryRegion.C.
References dict, Foam::findIndex(), forAllConstIters(), Foam::Info, HashTable< T, label, Hash< label > >::insert(), Foam::name(), Foam::nl, dictionary::readIfPresent(), HashTable< T, label, Hash< label > >::reserve(), and dictionary::set().
|
inline |
Add to the end, return index.
Definition at line 204 of file boundaryRegion.H.
References dict, and boundaryRegion::push_back().