Public Types | |
typedef unsigned char | Cell |
type of items used to hold bits | |
Public Member Functions | |
Block (const Standard_Address theAddr, const Standard_Size theNbItems, const Standard_Size theItemSize) | |
Initializes the block by pointer to block data. | |
Cell | Set (Standard_Size i) |
Set bit for i-th item; returns non-null if that bit has not been set previously. | |
Cell | IsSet (Standard_Size i) |
Check bit for i-th item; returns non-null if that bit is set. | |
Cell | Unset (Standard_Size i) |
Unset bit for i-th item; returns non-null if that bit has been set previously. | |
Static Public Member Functions | |
static Standard_Size | BitsPerCell () |
Number of bits in each cell. | |
static Standard_Size | Size (const Standard_Size theNbItems, const Standard_Size theItemSize) |
Compute required size for block data, in bytes. | |
static char * | ToArray (const Standard_Address theAddress, const Standard_Size, const Standard_Size) |
Returns address of array from address of block. | |
Data Fields | |
Standard_Size * | Count |
items counter | |
Standard_Address | Array |
pointer to the data items array | |
Cell * | Bits |
bit map for defined/undefined flags |
The Block structure provides a logical view on the block, and provides methods to work with bit map.
Note that NCollection_SparseArrayBase class takes responsibility for correct allocation/deallocation of all the data.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|