A dynamic list of packed unsigned integers, with the number of bits per item specified by the <Width> template parameter. More...
Classes | |
struct | hasher |
Hashing functor for PackedList. More... | |
class | reference |
A reference supporting read/write access to an entry. More... | |
Public Types | |
typedef unsigned int | block_type |
The storage block type for bit elements. More... | |
typedef unsigned int | const_reference |
Public Member Functions | |
constexpr | PackedList () noexcept |
Default construct, zero-sized and no allocation. More... | |
PackedList (const label numElem) | |
Construct for given number of elements, initializes values to 0. More... | |
PackedList (const label numElem, const unsigned int val) | |
Construct for given number of elements, and the specified value for each element. More... | |
PackedList (Istream &is) | |
Construct from Istream. More... | |
PackedList (const PackedList< Width > &list) | |
Copy construct. More... | |
PackedList (PackedList< Width > &&list) | |
Move construct. More... | |
PackedList (const PackedList< Width > &list, const labelUList &addr) | |
Copy construct a subset. More... | |
template<class Addr > | |
PackedList (const PackedList< Width > &list, const IndirectListBase< label, Addr > &addr) | |
Copy construct a subset. More... | |
PackedList (const PackedList< Width > &list, const labelRange &range) | |
Copy construct a subset range. More... | |
PackedList (const labelUList &values) | |
Construct from a list of values. More... | |
template<class Addr > | |
PackedList (const IndirectListBase< label, Addr > &values) | |
Construct from a indirect list of values. More... | |
autoPtr< PackedList< Width > > | clone () const |
Clone. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero). More... | |
label | size () const noexcept |
Number of entries. More... | |
label | capacity () const noexcept |
Number of elements that can be stored without reallocating. More... | |
bool | uniform () const |
True if all entries have identical values (and list is non-empty) More... | |
bool | equal (const PackedList< Width > &other) const |
Test for equality of sizes and the bits set. More... | |
unsigned int | get (const label i) const |
Get value at index i or 0 for out-of-range. More... | |
bool | set (const label i, unsigned int val=~0u) |
Set value at index i, default value set is the max_value. More... | |
bool | unset (const label i) |
Unset the entry at index i. More... | |
labelList | values () const |
Return the values as a list of labels. More... | |
template<class IntType = unsigned int> | |
List< IntType > | unpack () const |
Return the values as a list of integral type. More... | |
template<class IntType = unsigned int> | |
List< IntType > | unpack (const labelRange &range) const |
Return the range of values as a list of integral type. More... | |
template<class IntType = unsigned int> | |
List< IntType > | unpack (const labelUList &locations) const |
Extract the values for the specified locations as a list of integral type. More... | |
void | fill (const unsigned int val) |
Assign all entries to the given value. More... | |
bool | trim (label minpos=-1) |
Trim any trailing zero elements, optionally specifying a a minimum position, below which trimming will not occur. More... | |
void | reset () |
Clear all bits but do not adjust the addressable size. More... | |
void | setCapacity (const label numElem) |
Alter the size of the underlying storage. More... | |
void | resize (const label numElem, const unsigned int val=0u) |
Reset addressable list size, does not shrink the allocated size. More... | |
void | resize_nocopy (const label numElem) |
Currently identical to resize. Subject to future change (Oct-2021) More... | |
void | reserve (const label numElem) |
Reserve allocation space for at least this size (uses a size doubling strategy). More... | |
void | clear () |
Clear the list, i.e. set addressable size to zero. More... | |
void | clearStorage () |
Clear the list and delete storage. More... | |
void | shrink () |
Shrink the allocated space to what is actually used. More... | |
void | swap (PackedList< Width > &rhs) |
Swap contents with argument. More... | |
void | transfer (PackedList< Width > &rhs) |
Transfer the contents of the argument list into this list and annul the argument list. More... | |
label | nBlocks () const |
The number of internal storage blocks. More... | |
const List< unsigned int > & | storage () const |
Return the underlying storage blocks. More... | |
List< unsigned int > & | storage () |
Return the underlying storage blocks. More... | |
const unsigned int * | cdata () const noexcept |
A const pointer to the raw storage. More... | |
unsigned int * | data () noexcept |
A pointer to the raw storage. More... | |
const char * | cdata_bytes () const noexcept |
A const pointer to the raw storage, reinterpreted as byte data. More... | |
char * | data_bytes () noexcept |
A pointer to the raw storage, reinterpreted as byte data. More... | |
std::streamsize | size_data () const noexcept |
The number of integer blocks addressed in the raw storage. More... | |
std::streamsize | size_bytes () const noexcept |
The number of bytes used in the raw storage including any unused padding. More... | |
std::streamsize | byteSize () const noexcept |
The number of bytes used in the raw storage including any unused padding. More... | |
Ostream & | printBits (Ostream &os, bool debugOutput=false) const |
Print bit patterns, optionally with extra debug. More... | |
Istream & | readList (Istream &is) |
Clear list and read from stream. More... | |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write as a dictionary entry with keyword. More... | |
void | push_back (const unsigned int val) |
Append a value at the end of the list. More... | |
void | pop_back (label n=1) |
Reduce size by 1 or more elements. Can be called on an empty list. More... | |
unsigned int | remove () |
Remove and return the last element. More... | |
unsigned int | operator[] (const label i) const |
Identical to get() - get value at index. More... | |
reference | operator[] (const label i) |
Non-const access to value at index. More... | |
void | operator= (const PackedList< Width > &list) |
Copy assignment. More... | |
void | operator= (PackedList< Width > &&list) |
Move assignment. More... | |
void | operator= (const unsigned int val) |
Assign all entries to the given value. fill() More... | |
InfoProxy< PackedList< Width > > | info () const noexcept |
Return info proxy, used to print information to a stream. More... | |
void | assign (const unsigned int val) |
Deprecated(2020-11) use fill() More... | |
void | assign (const PackedList< Width > &rhs) |
Deprecated(2020-11) use operator=. More... | |
void | setSize (const label n, unsigned int val=0u) |
Alias for resize() More... | |
PackedList< Width > & | append (const unsigned int val) |
Append a value at the end of the list. More... | |
template<class IntType > | |
Foam::List< IntType > | unpack () const |
template<class IntType > | |
Foam::List< IntType > | unpack (const labelRange &range) const |
template<class IntType > | |
Foam::List< IntType > | unpack (const labelUList &locations) const |
Public Member Functions inherited from PackedListCore | |
ClassNameNoDebug ("PackedList") | |
Define template name. More... | |
Static Public Member Functions | |
static constexpr label | num_blocks (label numElem) noexcept |
Calculate the number of blocks required to _address_ the requested number of elements. More... | |
static constexpr block_type | mask_lower (unsigned elementOffset) |
Masking for all bits below the element offset. More... | |
Static Public Attributes | |
static constexpr unsigned | bits_per_block = (std::numeric_limits<block_type>::digits) |
The number of bits in a single block. More... | |
static constexpr unsigned | element_width = (Width) |
The width of an individual element (in bits). More... | |
static constexpr unsigned | elem_per_block = (bits_per_block / Width) |
The number of elements stored per data block. More... | |
static constexpr block_type | max_value = ((1u << Width) - 1) |
The max value for an element which is also the bit-mask of the individual element. More... | |
Protected Types | |
typedef List< block_type > | block_container |
The internal container for storing the blocks. More... | |
Protected Member Functions | |
void | setPair (Istream &is) |
Read an index/value pair and set accordingly. More... | |
void | writeEntry (Ostream &os) const |
Write as a dictionary entry. More... | |
void | clear_trailing_bits () |
Clear any partial rubbish in the last addressable block. More... | |
void | copyAssign (const PackedList< Width > &rhs) |
Copy assignment. More... | |
label | first_block () const |
Find the first block with a '1' bit. More... | |
label | first_not_block () const |
Find the first block with a '0' bit. More... | |
template<> | |
unsigned int | repeated_value (unsigned val) |
template<> | |
unsigned int | readValue (Istream &is) |
template<> | |
void | setPair (Istream &is) |
Static Protected Member Functions | |
static unsigned int | repeated_value (unsigned val) |
Enforce non-zero Width to fit within the block storage and require at least 2 items per storage block for general efficiency. More... | |
static unsigned int | readValue (Istream &is) |
Read a list entry (allows for specialization) More... | |
Protected Attributes | |
block_container | blocks_ |
The blocks of raw data. More... | |
label | size_ |
Number of entries used. More... | |
Friends | |
Ostream & | operator (Ostream &os, const InfoProxy< PackedList< Width >> &info) |
Istream & | operator>> (Istream &is, PackedList< Width > &list) |
A dynamic list of packed unsigned integers, with the number of bits per item specified by the <Width> template parameter.
Resizing is similar to DynamicList so that clear() and resize() affect the addressed size, but not the allocated size. The reserve() and setCapacity() methods can be used to influence the allocation.
In a non-const context, the '[]' operator returns a reference to an existing value. When accessing out-of-range elements, some caution is required to ensure that the const version of the [] operator is actually being called. The get() method is functionally identical the the '[]' operator, but is always const access.
The set() and unset() methods return a bool if the value changed.
With const access, the get() method and 'operator[]' are identical. With non-const access, the 'operator[]' may be marginally slower get().
The set() method may be marginally faster than using the 'operator[]' supports auto-vivification and also returns a bool if the value changed, which can be useful for branching on changed values.
In a const context, reading an out-of-range element returns zero without affecting the list size. For example,
Also note that all unused internal storage elements are guaranteed to always be bit-wise zero. This property must not be violated by any inheriting classes.
Definition at line 105 of file PackedList.H.
typedef unsigned int block_type |
The storage block type for bit elements.
Definition at line 157 of file PackedList.H.
|
protected |
The internal container for storing the blocks.
Definition at line 220 of file PackedList.H.
typedef unsigned int const_reference |
Definition at line 302 of file PackedList.H.
|
inlinenoexcept |
Default construct, zero-sized and no allocation.
Definition at line 237 of file PackedListI.H.
|
inlineexplicit |
Construct for given number of elements, initializes values to 0.
Definition at line 245 of file PackedListI.H.
|
inline |
Construct for given number of elements, and the specified value for each element.
Definition at line 254 of file PackedListI.H.
|
inline |
Construct from Istream.
Definition at line 270 of file PackedListI.H.
|
inline |
Copy construct.
Definition at line 280 of file PackedListI.H.
|
inline |
Move construct.
Definition at line 288 of file PackedListI.H.
PackedList | ( | const PackedList< Width > & | list, |
const labelUList & | addr | ||
) |
Copy construct a subset.
Definition at line 28 of file PackedList.C.
PackedList | ( | const PackedList< Width > & | list, |
const IndirectListBase< label, Addr > & | addr | ||
) |
Copy construct a subset.
Definition at line 47 of file PackedList.C.
PackedList | ( | const PackedList< Width > & | list, |
const labelRange & | range | ||
) |
Copy construct a subset range.
Definition at line 65 of file PackedList.C.
|
inlineexplicit |
Construct from a list of values.
Definition at line 298 of file PackedListI.H.
|
inlineexplicit |
Construct from a indirect list of values.
Definition at line 319 of file PackedListI.H.
|
inlinestaticnoexcept |
Calculate the number of blocks required to _address_ the requested number of elements.
We calculate this:
But avoiding the modulus operation
Definition at line 197 of file PackedList.H.
Referenced by PackedList< 2 >::fill(), PackedList< 2 >::nBlocks(), PackedList< 2 >::reserve(), PackedList< 2 >::resize(), PackedList< 2 >::setCapacity(), PackedList< 2 >::shrink(), PackedList< 2 >::size_bytes(), and PackedList< 2 >::size_data().
|
inlinestatic |
Masking for all bits below the element offset.
Ill-defined when elementOffset is out of range.
Definition at line 207 of file PackedList.H.
Referenced by PackedList< 2 >::resize().
|
inlinestaticprotected |
Enforce non-zero Width to fit within the block storage and require at least 2 items per storage block for general efficiency.
Thus 1/2 of the base storage size is (sizeof(block_type)*8/2), or (sizeof(block_type) << 2)
A fill value for complete blocks
Definition at line 27 of file PackedListI.H.
Referenced by PackedList< 2 >::fill(), and PackedList< 2 >::resize().
|
inlinestaticprotected |
Read a list entry (allows for specialization)
Definition at line 34 of file PackedListI.H.
Referenced by PackedList< 2 >::readList().
|
inlineprotected |
Read an index/value pair and set accordingly.
For bool specialization, read a single index value
Definition at line 51 of file PackedListI.H.
Referenced by PackedList< 2 >::readList().
|
protected |
Write as a dictionary entry.
Definition at line 27 of file PackedListIO.C.
|
inlineprotected |
Clear any partial rubbish in the last addressable block.
This rubbish may have arisen from block-wise operations etc.
Definition at line 76 of file PackedListI.H.
Referenced by PackedList< 2 >::fill(), PackedList< 2 >::resize(), and PackedList< 2 >::setCapacity().
|
inlineprotected |
Copy assignment.
Definition at line 135 of file PackedListI.H.
Referenced by PackedList< 2 >::operator=().
|
inlineprotected |
Find the first block with a '1' bit.
Definition at line 144 of file PackedListI.H.
|
inlineprotected |
Find the first block with a '0' bit.
Definition at line 164 of file PackedListI.H.
|
inline |
Clone.
Definition at line 341 of file PackedListI.H.
|
inline |
Check index is within valid range [0,size)
Definition at line 419 of file PackedListI.H.
Referenced by PackedList< 2 >::operator[]().
|
inlinenoexcept |
True if the list is empty (ie, size() is zero).
Definition at line 388 of file PackedList.H.
Referenced by ensightMesh::correct(), PatchTools::edgeNormals(), PackedList< 2 >::fill(), and PatchTools::pointNormals().
|
inlinenoexcept |
Number of entries.
Definition at line 393 of file PackedList.H.
Referenced by bitSet::andEq(), Foam::apply(), bitSet::bound(), meshRefinement::calculateEdgeWeights(), primitiveMesh::checkClosedBoundary(), PackedList< 2 >::equal(), bitSet::extend(), PackedList< 2 >::fill(), PstreamBuffers::finishedSends(), meshRefinement::gAverage(), PackedList< 2 >::get(), bitSet::intersects(), Foam::invert(), bitSet::minusEq(), PackedList< 2 >::nBlocks(), PackedList< Width >::hasher::operator()(), Foam::operator<<(), bitSet::orEq(), PackedList< 2 >::pop_back(), ensightCase::printTimeset(), PackedList< 2 >::push_back(), PackedList< 2 >::remove(), PackedList< 2 >::resize(), PackedList< 2 >::set(), PackedList< 2 >::setCapacity(), addPatchCellLayer::setRefinement(), PackedList< 2 >::shrink(), PackedList< 2 >::size_bytes(), PackedList< 2 >::size_data(), syncTools::syncEdgeList(), syncTools::syncFaceList(), syncTools::syncPointList(), PackedList< 2 >::unset(), meshRefinement::weightedSum(), PackedList< 2 >::writeList(), and bitSet::xorEq().
|
inlinenoexcept |
Number of elements that can be stored without reallocating.
Definition at line 437 of file PackedListI.H.
Referenced by Foam::operator<<().
bool uniform | ( | ) | const |
True if all entries have identical values (and list is non-empty)
Definition at line 86 of file PackedList.C.
Referenced by PackedList< 2 >::writeList().
bool equal | ( | const PackedList< Width > & | other | ) | const |
Test for equality of sizes and the bits set.
Definition at line 148 of file PackedList.C.
Referenced by Foam::operator!=(), and Foam::operator==().
|
inline |
Get value at index i or 0 for out-of-range.
Never auto-vivify entries.
Definition at line 683 of file PackedListI.H.
Referenced by bitSet::bitSet(), PackedList< 2 >::PackedList(), and PackedList< 2 >::writeList().
|
inline |
Set value at index i, default value set is the max_value.
Does auto-vivify for non-existent, non-zero entries.
Definition at line 706 of file PackedListI.H.
Referenced by PackedList< 2 >::readList(), and syncTools::syncFaceList().
|
inline |
Unset the entry at index i.
Never auto-vivify entries.
Definition at line 737 of file PackedListI.H.
Foam::labelList values | ( | ) | const |
Return the values as a list of labels.
Definition at line 171 of file PackedList.C.
List<IntType> unpack | ( | ) | const |
Return the values as a list of integral type.
The default integral type is unsigned int.
List<IntType> unpack | ( | const labelRange & | range | ) | const |
Return the range of values as a list of integral type.
The default integral type is unsigned int.
List<IntType> unpack | ( | const labelUList & | locations | ) | const |
Extract the values for the specified locations as a list of integral type.
The default integral type is unsigned int.
|
inline |
Assign all entries to the given value.
Definition at line 793 of file PackedListI.H.
Referenced by PackedList< 2 >::assign(), and PackedList< 2 >::operator=().
|
inline |
Trim any trailing zero elements, optionally specifying a a minimum position, below which trimming will not occur.
Definition at line 90 of file PackedListI.H.
|
inline |
Clear all bits but do not adjust the addressable size.
Definition at line 551 of file PackedListI.H.
Referenced by Foam::calcElementMasks(), dynamicRefineFvMesh::calculateProtectedCells(), PackedList< 2 >::clear(), dynamicMultiMotionSolverFvMesh::init(), multiSolidBodyMotionSolver::multiSolidBodyMotionSolver(), and topoBitSet::reset().
|
inline |
Alter the size of the underlying storage.
The addressed size will be truncated if needed to fit, but will remain otherwise untouched.
Definition at line 517 of file PackedListI.H.
|
inline |
Reset addressable list size, does not shrink the allocated size.
Optionally specify a value for new elements.
Definition at line 455 of file PackedListI.H.
Referenced by Foam::calcElementMasks(), dynamicRefineFvMesh::calculateProtectedCells(), cuttingSurfaceBase::cellSelection(), fvMeshSubsetProxy::correct(), ensightMesh::correct(), PstreamBuffers::finishedSends(), distributedTriSurfaceMesh::getVolumeType(), dynamicMultiMotionSolverFvMesh::init(), Foam::invertCellSelection(), isoSurfaceTopo::isoSurfaceTopo(), PatchTools::matchEdges(), multiSolidBodyMotionSolver::multiSolidBodyMotionSolver(), fileOperation::nProcs(), cuttingSurfaceBase::performCut(), PackedList< 2 >::pop_back(), PackedList< 2 >::readList(), PackedList< 2 >::remove(), PackedList< 2 >::resize_nocopy(), PackedList< 2 >::set(), PackedList< 2 >::setSize(), Foam::simpleGeometricFilter(), and topoBitSet::topoBitSet().
|
inline |
Currently identical to resize. Subject to future change (Oct-2021)
Definition at line 445 of file PackedListI.H.
|
inline |
Reserve allocation space for at least this size (uses a size doubling strategy).
Never shrinks the allocated size.
Definition at line 532 of file PackedListI.H.
Referenced by PackedList< 2 >::push_back(), and PackedList< 2 >::resize().
|
inline |
Clear the list, i.e. set addressable size to zero.
Does not adjust the underlying storage
Definition at line 558 of file PackedListI.H.
Referenced by dynamicRefineFvMesh::calculateProtectedCells(), PackedList< 2 >::pop_back(), and PackedList< 2 >::readList().
|
inline |
Clear the list and delete storage.
Definition at line 566 of file PackedListI.H.
Referenced by ensightMesh::correct(), distanceSurface::createGeometry(), distanceSurface::filterKeepLargestRegion(), distanceSurface::filterKeepNearestRegions(), and distanceSurface::filterRegionProximity().
|
inline |
Shrink the allocated space to what is actually used.
Definition at line 574 of file PackedListI.H.
|
inline |
Swap contents with argument.
Definition at line 656 of file PackedListI.H.
Referenced by bitSet::swap().
|
inline |
Transfer the contents of the argument list into this list and annul the argument list.
Definition at line 669 of file PackedListI.H.
Referenced by PackedList< 2 >::operator=(), and bitSet::transfer().
|
inline |
The number of internal storage blocks.
Definition at line 600 of file PackedListI.H.
|
inline |
Return the underlying storage blocks.
Definition at line 593 of file PackedListI.H.
|
inline |
Return the underlying storage blocks.
Manipulate with utmost caution
Definition at line 586 of file PackedListI.H.
|
inlinenoexcept |
A const pointer to the raw storage.
Definition at line 607 of file PackedListI.H.
Referenced by PackedList< Width >::hasher::operator()().
|
inlinenoexcept |
A pointer to the raw storage.
Definition at line 614 of file PackedListI.H.
|
inlinenoexcept |
A const pointer to the raw storage, reinterpreted as byte data.
Definition at line 621 of file PackedListI.H.
Referenced by PackedList< 2 >::writeList().
|
inlinenoexcept |
A pointer to the raw storage, reinterpreted as byte data.
Definition at line 628 of file PackedListI.H.
Referenced by PackedList< 2 >::readList().
|
inlinenoexcept |
The number of integer blocks addressed in the raw storage.
Definition at line 635 of file PackedListI.H.
|
inlinenoexcept |
The number of bytes used in the raw storage including any unused padding.
Definition at line 642 of file PackedListI.H.
Referenced by PackedList< 2 >::byteSize(), PackedList< Width >::hasher::operator()(), PackedList< 2 >::readList(), and PackedList< 2 >::writeList().
|
inlinenoexcept |
The number of bytes used in the raw storage including any unused padding.
Definition at line 649 of file PackedListI.H.
Foam::Ostream & printBits | ( | Ostream & | os, |
bool | debugOutput = false |
||
) | const |
Print bit patterns, optionally with extra debug.
Definition at line 37 of file PackedListIO.C.
Foam::Istream & readList | ( | Istream & | is | ) |
Clear list and read from stream.
Definition at line 57 of file PackedListIO.C.
Foam::Ostream & writeList | ( | Ostream & | os, |
const label | shortLen = 0 |
||
) | const |
Write List, with line-breaks in ASCII when length exceeds shortLen.
Using '0' suppresses line-breaks entirely.
Definition at line 172 of file PackedListIO.C.
Referenced by Foam::operator<<().
Write as a dictionary entry with keyword.
Definition at line 237 of file PackedListIO.C.
|
inline |
Append a value at the end of the list.
Definition at line 749 of file PackedListI.H.
Referenced by PackedList< 2 >::append(), and PackedList< 2 >::readList().
|
inline |
Reduce size by 1 or more elements. Can be called on an empty list.
Definition at line 760 of file PackedListI.H.
|
inline |
Remove and return the last element.
Definition at line 774 of file PackedListI.H.
|
inline |
Identical to get() - get value at index.
Never auto-vivify entries.
Definition at line 820 of file PackedListI.H.
|
inline |
Non-const access to value at index.
Fatal for out-of-range indices
Definition at line 828 of file PackedListI.H.
|
inline |
Copy assignment.
Definition at line 838 of file PackedListI.H.
Referenced by bitSet::operator=().
|
inline |
Move assignment.
Definition at line 845 of file PackedListI.H.
|
inline |
Assign all entries to the given value. fill()
Definition at line 852 of file PackedListI.H.
|
inlinenoexcept |
Return info proxy, used to print information to a stream.
Definition at line 749 of file PackedList.H.
|
inline |
Deprecated(2020-11) use fill()
Definition at line 795 of file PackedList.H.
|
inline |
Deprecated(2020-11) use operator=.
Definition at line 802 of file PackedList.H.
|
inline |
Alias for resize()
Definition at line 807 of file PackedList.H.
Referenced by volPointInterpolationAdjoint::calcBoundaryAddressing(), meshRefinement::markOutsideFaces(), and meshRefinement::selectIntersectedFaces().
|
inline |
Append a value at the end of the list.
FOAM_DEPRECATED_FOR(2022-10, "push_back()")
Definition at line 814 of file PackedList.H.
Foam::List<IntType> unpack | ( | ) | const |
Definition at line 180 of file PackedList.C.
Foam::List<IntType> unpack | ( | const labelRange & | range | ) | const |
Definition at line 236 of file PackedList.C.
Foam::List<IntType> unpack | ( | const labelUList & | locations | ) | const |
Definition at line 270 of file PackedList.C.
|
inlineprotected |
Definition at line 216 of file PackedListI.H.
|
inlineprotected |
Definition at line 221 of file PackedListI.H.
|
inlineprotected |
Definition at line 226 of file PackedListI.H.
|
friend |
|
friend |
|
static |
The number of bits in a single block.
Definition at line 165 of file PackedList.H.
Referenced by PackedList< 2 >::mask_lower().
|
static |
The width of an individual element (in bits).
Definition at line 170 of file PackedList.H.
|
static |
The number of elements stored per data block.
Definition at line 175 of file PackedList.H.
Referenced by PackedList< 2 >::capacity(), PackedList< 2 >::num_blocks(), and PackedList< 2 >::resize().
|
static |
The max value for an element which is also the bit-mask of the individual element.
Eg, for Width=2: ((1 << 2) - 1) == 0b0011
Definition at line 183 of file PackedList.H.
Referenced by PackedList< Width >::reference::get(), and PackedList< Width >::reference::set().
|
protected |
The blocks of raw data.
Definition at line 225 of file PackedList.H.
Referenced by bitSet::andEq(), PackedList< 2 >::capacity(), PackedList< 2 >::cdata(), PackedList< 2 >::cdata_bytes(), PackedList< 2 >::clearStorage(), PackedList< 2 >::copyAssign(), PackedList< 2 >::data(), PackedList< 2 >::data_bytes(), PackedList< 2 >::equal(), PackedList< 2 >::fill(), bitSet::intersects(), bitSet::minusEq(), bitSet::orEq(), PackedList< 2 >::reserve(), PackedList< 2 >::reset(), PackedList< 2 >::resize(), PackedList< 2 >::setCapacity(), PackedList< 2 >::shrink(), PackedList< 2 >::storage(), PackedList< 2 >::swap(), PackedList< 2 >::transfer(), and bitSet::xorEq().
|
protected |
Number of entries used.
Definition at line 230 of file PackedList.H.
Referenced by PackedList< 2 >::checkIndex(), PackedList< 2 >::clear(), PackedList< 2 >::clearStorage(), PackedList< 2 >::copyAssign(), PackedList< 2 >::empty(), PackedList< 2 >::get(), PackedList< 2 >::push_back(), PackedList< 2 >::resize(), PackedList< 2 >::set(), PackedList< 2 >::setCapacity(), PackedList< 2 >::size(), PackedList< 2 >::swap(), and PackedList< 2 >::transfer().