Open CASCADE Technology 6.6.0
|
#include <NCollection_SparseArrayBase.hxx>
Data Structures | |
class | Block |
class | Iterator |
Public Member Functions | |
Type-independent public interface | |
void | Clear () |
Clears all the data. | |
Standard_Size | Size () const |
Returns number of currently contained items. | |
Standard_Boolean | HasValue (const Standard_Size theIndex) const |
Check whether the value at given index is set. | |
Standard_Boolean | UnsetValue (const Standard_Size theIndex) |
Deletes the item from the array; returns True if that item was defined. | |
Protected Member Functions | |
NCollection_SparseArrayBase (Standard_Size theItemSize, Standard_Size theBlockSize) | |
Constructor; initialized by size of item and of block (in items) | |
virtual | ~NCollection_SparseArrayBase () |
Destructor. | |
Block | getBlock (const Standard_Address theAddr) const |
Creates Block structure for block pointed by theAddr. | |
Standard_Address | getItem (const Block &theBlock, Standard_Size theInd) const |
Find address of the item in the block by index (in the block) | |
Standard_Address | getValue (const Standard_Size theIndex) const |
Direct const access to the item. | |
Standard_Address | setValue (const Standard_Size theIndex, const Standard_Address theValue) |
Set a value to the specified item; returns address of the set item. | |
Standard_Address | changeValue (const Standard_Size theIndex) |
Modification access to the item; allocates necessary space and marks the item as defined. | |
void | assign (const NCollection_SparseArrayBase &theOther) |
Copy contents of theOther to this; assumes that this and theOther have exactly the same type of arguments. | |
void | exchange (NCollection_SparseArrayBase &theOther) |
Exchange contents of theOther and this; assumes that this and theOther have exactly the same type of arguments. | |
virtual void | createItem (Standard_Address theAddress, Standard_Address theOther)=0 |
Create new item at the specified address with default constructor. | |
virtual void | destroyItem (Standard_Address theAddress)=0 |
Call destructor to the item. | |
virtual void | copyItem (Standard_Address theAddress, Standard_Address theOther)=0 |
Call assignment operator to the item. | |
Protected Attributes | |
Standard_Size | myItemSize |
size of item | |
Standard_Size | myBlockSize |
block size (in items) | |
Standard_Size | myNbBlocks |
allocated size of blocks table | |
Standard_Size | mySize |
number of currently defined items | |
Standard_Address * | myData |
array of pointers to data blocks |
Base class for NCollection_SparseArray; provides non-template implementation of general mechanics of block allocation, items creation / deletion etc.
NCollection_SparseArrayBase::NCollection_SparseArrayBase | ( | Standard_Size | theItemSize, |
Standard_Size | theBlockSize | ||
) | [inline, protected] |
virtual NCollection_SparseArrayBase::~NCollection_SparseArrayBase | ( | ) | [inline, protected, virtual] |
void NCollection_SparseArrayBase::assign | ( | const NCollection_SparseArrayBase & | theOther | ) | [protected] |
Standard_Address NCollection_SparseArrayBase::changeValue | ( | const Standard_Size | theIndex | ) | [protected] |
void NCollection_SparseArrayBase::Clear | ( | ) |
virtual void NCollection_SparseArrayBase::copyItem | ( | Standard_Address | theAddress, |
Standard_Address | theOther | ||
) | [protected, pure virtual] |
virtual void NCollection_SparseArrayBase::createItem | ( | Standard_Address | theAddress, |
Standard_Address | theOther | ||
) | [protected, pure virtual] |
Create new item at the specified address with copy constructor from existing item
virtual void NCollection_SparseArrayBase::destroyItem | ( | Standard_Address | theAddress | ) | [protected, pure virtual] |
void NCollection_SparseArrayBase::exchange | ( | NCollection_SparseArrayBase & | theOther | ) | [protected] |
Block NCollection_SparseArrayBase::getBlock | ( | const Standard_Address | theAddr | ) | const [inline, protected] |
Standard_Address NCollection_SparseArrayBase::getItem | ( | const Block & | theBlock, |
Standard_Size | theInd | ||
) | const [inline, protected] |
Standard_Address NCollection_SparseArrayBase::getValue | ( | const Standard_Size | theIndex | ) | const [inline, protected] |
Standard_Boolean NCollection_SparseArrayBase::HasValue | ( | const Standard_Size | theIndex | ) | const |
Standard_Address NCollection_SparseArrayBase::setValue | ( | const Standard_Size | theIndex, |
const Standard_Address | theValue | ||
) | [protected] |
Standard_Size NCollection_SparseArrayBase::Size | ( | ) | const [inline] |
Standard_Boolean NCollection_SparseArrayBase::UnsetValue | ( | const Standard_Size | theIndex | ) |
Standard_Address* NCollection_SparseArrayBase::myData [protected] |
Standard_Size NCollection_SparseArrayBase::myItemSize [protected] |
Standard_Size NCollection_SparseArrayBase::myNbBlocks [protected] |
Standard_Size NCollection_SparseArrayBase::mySize [protected] |