Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

oofArray Class Reference
[OOFILE utility classes and functions.]

#include <oofarray.h>

Inheritance diagram for oofArray:

Inheritance graph
[legend]
List of all members.

Detailed Description

base class for user arrays.

used instead of templatizing arrays. Works very much like OOF_ExpandableLongArray.


Public Member Functions

 oofArray (unsigned long slotSize, unsigned long numSlots=0, unsigned int expandBySlots=4)
 oofArray (const oofArray &rhs)
virtual ~oofArray ()
oofArrayoperator= (const oofArray &)
void start ()
bool more () const
void next ()
unsigned long count () const

Protected Member Functions

bool Invariant () const
 Guarantee members managing storage are consistent.

unsigned long AllocSlot ()
void ExpandToInclude (unsigned long indexToCover)
virtual void * AllocBits (unsigned long) const=0
virtual void DeleteBits (bool becauseExpanding)=0
virtual void * CloneBits () const

Protected Attributes

void ** mUserStorage
void * mBits
unsigned long mNextFreeEntry
unsigned long mNumSlots
unsigned long mInternalIter
unsigned long mSlotSize
unsigned int mExpansionChunk


Constructor & Destructor Documentation

oofArray::oofArray unsigned long  slotSize,
unsigned long  numSlots = 0,
unsigned int  expandBySlots = 4
 

oofArray::oofArray const oofArray rhs  ) 
 

oofArray::~oofArray  )  [virtual]
 


Member Function Documentation

virtual void* oofArray::AllocBits unsigned  long  )  const [protected, pure virtual]
 

Implemented in OOF_RepBlockCellRow, OOF_RepBlockCellRows, OOF_InteractionPageAreas, and OOF_InteractionPages.

unsigned long oofArray::AllocSlot  )  [protected]
 

void * oofArray::CloneBits  )  const [protected, virtual]
 

unsigned long oofArray::count  )  const [inline]
 

virtual void oofArray::DeleteBits bool  becauseExpanding  )  [protected, pure virtual]
 

Implemented in OOF_RepBlockCellRow, OOF_RepBlockCellRows, OOF_InteractionPageAreas, and OOF_InteractionPages.

void oofArray::ExpandToInclude unsigned long  indexToCover  )  [protected]
 

bool oofArray::Invariant  )  const [inline, protected]
 

Guarantee members managing storage are consistent.

Note: we assume a user may cause mInternalIter to go out of bounds.

bool oofArray::more  )  const [inline]
 

void oofArray::next  )  [inline]
 

oofArray & oofArray::operator= const oofArray  ) 
 

void oofArray::start  )  [inline]
 


Member Data Documentation

void* oofArray::mBits [protected]
 

unsigned int oofArray::mExpansionChunk [protected]
 

unsigned long oofArray::mInternalIter [protected]
 

unsigned long oofArray::mNextFreeEntry [protected]
 

unsigned long oofArray::mNumSlots [protected]
 

unsigned long oofArray::mSlotSize [protected]
 

void** oofArray::mUserStorage [protected]
 


The documentation for this class was generated from the following files:
Generated on Fri Jan 2 00:45:36 2004 for OOFILE by doxygen 1.3.5