PackedList< nBits >::iteratorBase Class Reference

The iterator base for PackedList. More...

Inheritance diagram for PackedList< nBits >::iteratorBase:
Collaboration diagram for PackedList< nBits >::iteratorBase:

Public Member Functions

label key () const
 Return the element index corresponding to the iterator. More...
 
bool writeIfSet (Ostream &) const
 Write index/value for a non-zero entry. More...
 
bool operator== (const iteratorBase &) const
 Compare values (not positions) More...
 
bool operator!= (const iteratorBase &) const
 
void operator= (const iteratorBase &)
 Assign value, not position. More...
 
void operator= (const unsigned int val)
 Assign value. More...
 
 operator unsigned int () const
 Conversion operator. More...
 
OstreamprintInfo (Ostream &) const
 Print information and values. More...
 
template<>
bool writeIfSet (Ostream &os) const
 

Protected Member Functions

unsigned int get () const
 Get value as unsigned, no range-checking. More...
 
bool set (unsigned int)
 Set value, returning true if changed, no range-checking. More...
 
 iteratorBase ()
 Construct null. More...
 
 iteratorBase (const PackedList *, const label)
 Construct from base list and position index. More...
 

Protected Attributes

PackedListlist_
 Pointer to original list. More...
 
label index_
 Element index. More...
 

Friends

class PackedList
 

Detailed Description

template<unsigned nBits = 1>
class Foam::PackedList< nBits >::iteratorBase

The iterator base for PackedList.

Note: data and functions are protected, to allow reuse by iterator and prevent most external usage.

Definition at line 418 of file PackedList.H.

Constructor & Destructor Documentation

◆ iteratorBase() [1/2]

◆ iteratorBase() [2/2]

iteratorBase ( const PackedList ,
const label   
)
inlineprotected

Construct from base list and position index.

Member Function Documentation

◆ get()

unsigned int get ( ) const
inlineprotected

Get value as unsigned, no range-checking.

Definition at line 290 of file PackedListI.H.

References PackedList< nBits >::iteratorBase::index_, PackedList< nBits >::iteratorBase::list_, PackedList< nBits >::max_value(), and PackedList< nBits >::packing().

Here is the call graph for this function:

◆ set()

bool set ( unsigned int  val)
inlineprotected

Set value, returning true if changed, no range-checking.

Definition at line 302 of file PackedListI.H.

References PackedList< nBits >::iteratorBase::index_, PackedList< nBits >::iteratorBase::list_, PackedList< nBits >::max_value(), and PackedList< nBits >::packing().

Here is the call graph for this function:

◆ key()

Foam::label key ( ) const
inline

Return the element index corresponding to the iterator.

Definition at line 329 of file PackedListI.H.

References PackedList< nBits >::iteratorBase::index_.

◆ writeIfSet() [1/2]

bool writeIfSet ( Ostream os) const
inline

Write index/value for a non-zero entry.

The bool specialization writes the index only

Definition at line 146 of file PackedListI.H.

References token::BEGIN_LIST, token::END_LIST, and token::SPACE.

◆ operator==()

bool operator== ( const iteratorBase iter) const
inline

Compare values (not positions)

Definition at line 337 of file PackedListI.H.

References PackedList< nBits >::get().

Here is the call graph for this function:

◆ operator!=()

bool operator!= ( const iteratorBase iter) const
inline

Definition at line 347 of file PackedListI.H.

References PackedList< nBits >::get().

Here is the call graph for this function:

◆ operator=() [1/2]

void operator= ( const iteratorBase iter)
inline

Assign value, not position.

This allows packed[0] = packed[3] for assigning values

Definition at line 357 of file PackedListI.H.

References PackedList< nBits >::get().

Here is the call graph for this function:

◆ operator=() [2/2]

void operator= ( const unsigned int  val)
inline

Assign value.

A non-existent entry will be auto-vivified.

Definition at line 368 of file PackedListI.H.

References PackedList< nBits >::iteratorBase::index_, PackedList< nBits >::iteratorBase::list_, and PackedList< nBits >::resize().

Here is the call graph for this function:

◆ operator unsigned int()

operator unsigned int ( ) const
inline

Conversion operator.

Never auto-vivify entries.

Definition at line 384 of file PackedListI.H.

References PackedList< nBits >::iteratorBase::index_, and PackedList< nBits >::iteratorBase::list_.

◆ printInfo()

Foam::Ostream & printInfo ( Ostream os) const

Print information and values.

Definition at line 149 of file PackedList.C.

References Foam::nl, and PackedList< nBits >::printBits().

Referenced by PackedList< 2 >::values().

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

◆ writeIfSet() [2/2]

bool writeIfSet ( Ostream os) const
inline

Definition at line 86 of file PackedListI.H.

Friends And Related Function Documentation

◆ PackedList

friend class PackedList
friend

Definition at line 420 of file PackedList.H.

Member Data Documentation

◆ list_

◆ index_


The documentation for this class was generated from the following files: