Loading...
Searching...
No Matches
Foam::HashSetOps Namespace Reference

Various operations for HashSet. More...

Classes

struct  plusEqOp
 Combine HashSet operation. Equivalent to 'a |= b'. More...

Functions

labelHashSet used (const bitSet &select)
 Convert a bitset to a labelHashSet of the indices used.
labelHashSet used (const UList< bool > &select)
 Convert a list of bools to a labelHashSet of the indices used.
bitSet bitset (const labelHashSet &locations)
 Transform the on locations to a bitSet.
List< bool > bools (const labelHashSet &locations)
 Transform the on locations to a boolList, with true for each non-negative location and false for all others.

Detailed Description

Various operations for HashSet.

Function Documentation

◆ used() [1/2]

Foam::labelHashSet used ( const bitSet & select)

Convert a bitset to a labelHashSet of the indices used.

Parameters
selectthe bitset for which an on entry corresponds to an index in the output labelHashSet
Returns
a labelHashSet of the selected indices

This is equivalent of the following code, but more efficiently implemented.

bitSet select = ...;
return labelHashSet(select.toc());
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
Definition bitSet.H:61
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
Definition HashSet.H:85

Definition at line 26 of file HashOps.C.

References UList< T >::any(), HashSet< Key, Hash >::insert(), and HashTable< T, Key, Hash >::reserve().

Referenced by polyTopoChange::changeMesh(), dynamicRefineFvMesh::init(), and polyTopoChange::makeMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ used() [2/2]

Foam::labelHashSet used ( const UList< bool > & select)

Convert a list of bools to a labelHashSet of the indices used.

Parameters
selectthe boolList for which a true entry corresponds to an index in the output labelHashSet
Returns
a labelHashSet of the selected indices

Definition at line 44 of file HashOps.C.

References HashSet< Key, Hash >::insert(), and UList< T >::size().

Here is the call graph for this function:

◆ bitset()

Foam::bitSet bitset ( const labelHashSet & locations)

Transform the on locations to a bitSet.

Ignored any negative values (invalid positions in a bitset).

Parameters
locationsthe list of positions corresponding to an on bit.
Returns
a bitset
See also
BitSetOps::create for other possibilities

Definition at line 63 of file HashOps.C.

References HashSet< Key, Hash >::begin(), HashSet< Key, Hash >::end(), and bitSet::setMany().

Here is the call graph for this function:

◆ bools()

Foam::List< bool > bools ( const labelHashSet & locations)

Transform the on locations to a boolList, with true for each non-negative location and false for all others.

Parameters
locationsthe list of positions corresponding to an on bit.
Returns
a boolList
Note
The operation necessarily discards any negative values since these are invalid positions in a boolList.

Definition at line 72 of file HashOps.C.

References HashSet< Key, Hash >::begin(), HashSet< Key, Hash >::end(), and Foam::max().

Here is the call graph for this function: