Open CASCADE Technology 6.6.0
Data Structures | Protected Member Functions | Protected Attributes
NCollection_SparseArrayBase Class Reference

#include <NCollection_SparseArrayBase.hxx>

Inheritance diagram for NCollection_SparseArrayBase:
Inheritance graph
[legend]

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_AddressmyData
 array of pointers to data blocks

Detailed Description

Base class for NCollection_SparseArray; provides non-template implementation of general mechanics of block allocation, items creation / deletion etc.


Constructor & Destructor Documentation

NCollection_SparseArrayBase::NCollection_SparseArrayBase ( Standard_Size  theItemSize,
Standard_Size  theBlockSize 
) [inline, protected]
virtual NCollection_SparseArrayBase::~NCollection_SparseArrayBase ( ) [inline, protected, virtual]

Member Function Documentation

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)

Field Documentation


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines