OOFILE  1.9
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members

Array of longs which expands automatically with refcount so easily shared. More...

#include <oof2.h>

Inheritance diagram for OOF_SharedArray:
Inheritance graph
[legend]
Collaboration diagram for OOF_SharedArray:
Collaboration graph
[legend]

Public Member Functions

void append (unsigned long)
 
bool contains (unsigned long value) const
 
unsigned long count () const
 
unsigned long countOccurrences (unsigned long) const
 
void decRefs ()
 
void deleteAllCells (bool alwaysDeleteStorage=false)
 Effectively delete cells by resetting mNextFreeEntry cursor. More...
 
void deleteAllMatching (unsigned long value)
 
void deleteFirstMatching (unsigned long value)
 
void deleteItem (unsigned long index)
 
void describe (std::ostream &) const
 
bool find (unsigned long value, unsigned long &foundAt) const
 
void incRefs ()
 
unsigned long index () const
 
unsigned long & item (unsigned long index)
 
bool more () const
 
void next ()
 
 OOF_SharedArray (unsigned long defaultValue=0, unsigned long numSlots=0, unsigned int expandBySlots=4)
 
unsigned long & operator() ()
 
unsigned long & operator[] (unsigned long index)
 
void start ()
 
unsigned long value (unsigned long index) const
 

Protected Member Functions

void CopyBits (const OOF_ExpandableLongArray &rhs)
 
void DeleteBits ()
 
void ExpandToInclude (unsigned long indexToCover)
 
bool Invariant () const
 Guarantee members managing storage are consistent. More...
 

Protected Attributes

unsigned long * mBits
 
unsigned long mDefaultValue
 
unsigned int mExpansionChunk
 
unsigned long mInternalIter
 
unsigned long mNextFreeEntry
 
unsigned long mNumSlots
 
unsigned int mReferences
 

Detailed Description

Array of longs which expands automatically with refcount so easily shared.

Definition at line 48 of file oof2.h.

Constructor & Destructor Documentation

OOF_SharedArray::OOF_SharedArray ( unsigned long  defaultValue = 0,
unsigned long  numSlots = 0,
unsigned int  expandBySlots = 4 
)

Definition at line 123 of file oof2.cpp.

Member Function Documentation

void OOF_ExpandableLongArray::append ( unsigned long  aBit)
inherited
bool OOF_ExpandableLongArray::contains ( unsigned long  value) const
inherited
void OOF_ExpandableLongArray::CopyBits ( const OOF_ExpandableLongArray rhs)
protectedinherited
unsigned long OOF_ExpandableLongArray::count ( ) const
inlineinherited

Definition at line 126 of file oofarray.h.

References OOF_ExpandableLongArray::mNextFreeEntry.

Referenced by oofDrawStyleArray::adopt(), OOF_simpleRecordBackend::AdoptBuffer(), dbHierBrowseHelper::appendLevel(), oofBroadcaster::askAllReturningAny(), oofBroadcaster::askAllStoppingAtFirst(), oofBroadcaster::broadcast(), oofRepTabStopSet::clear(), OOF_WordList::contains(), OOF_recordCache::containsContext(), OOF_recordCache::containsOffset(), oofMaskMultiStrings::copyChunk(), oofMaskMultiStrings::copyFinalChunk(), oofAdornerList::count(), oofDrawStyleArray::count(), OOF_recordCache::count(), oofRepTabStopList::count(), oofRepTabStopSet::count(), oofRepBandList::count(), oofRepBlockList::count(), oofRepBreakList::count(), oofRepMulti::count(), OOF_recordCache::countNew(), OOF_recordCache::countOccupied(), OOF_dbaseBackend::createTableInConnection(), dbHierBrowseHelper::deepestIndent(), oofRepPageList::deleteAll(), dbHierBrowseHelper::deleteAllLevels(), OOF_ramBackend::DeleteBlobBodies(), dbHierBrowseHelper::deleteContentsCache(), OOF_recordCache::deleteRecord(), OOF_ctreeBackend::deleteRecord(), OOF_ExpandableLongArray::describe(), OOF_simpleRecordBackend::DonateBlobBodiesTo(), oofRepMulti::draw(), oofRepPage::draw(), dbView::FinishCopy(), oofRepWinGUIPreviewMFC::getNumPages(), dbHierBrowseHelper::highlightedOID(), dbHierBrowseHelper::itemIsAtBottom(), dbHierBrowseHelper::lowestLevel(), OOF_dbaseBackend::OOF_dbaseBackend(), OOF_WordList::orphanStringArray(), OOF_simpleRecordBackend::ResetBlobs(), dbHierBrowseHelper::resetTableAfterViewRestructure(), OOF_ramBackend::SaveContext(), oofMaskMultiStrings::totalChunkLen(), dbView::~dbView(), OOF_InteractionPageAreas::~OOF_InteractionPageAreas(), OOF_recordBufferedContext::~OOF_recordBufferedContext(), OOF_recordCache::~OOF_recordCache(), OOF_WordList::~OOF_WordList(), oofDrawStyleArray::~oofDrawStyleArray(), oofMaskMultiStrings::~oofMaskMultiStrings(), oofRepMulti::~oofRepMulti(), oofRepPage::~oofRepPage(), and oofXMLwriter::~oofXMLwriter().

unsigned long OOF_ExpandableLongArray::countOccurrences ( unsigned long  schValue) const
inherited
void OOF_mixRefCount::decRefs ( )
inherited
void OOF_ExpandableLongArray::deleteAllCells ( bool  alwaysDeleteStorage = false)
inherited

Effectively delete cells by resetting mNextFreeEntry cursor.

Parameters
alwaysDeleteStoragemeans unconditionally cleanup storage so can force total cleanup.
Todo:
delete mBits if past threshold

Definition at line 219 of file oofarray.cpp.

References OOF_ExpandableLongArray::DeleteBits(), OOF_ExpandableLongArray::Invariant(), and OOF_ExpandableLongArray::mNextFreeEntry.

Referenced by oofDrawStyleArray::adopt(), OOF_recordCache::deleteAll(), oofRepPageList::deleteAll(), dbHierBrowseHelper::deleteContentsCache(), oofIDfactory::reset(), and oofRepMulti::~oofRepMulti().

void OOF_ExpandableLongArray::deleteAllMatching ( unsigned long  value)
inherited
void OOF_ExpandableLongArray::DeleteBits ( )
protectedinherited
void OOF_ExpandableLongArray::deleteFirstMatching ( unsigned long  value)
inherited
void OOF_ExpandableLongArray::deleteItem ( unsigned long  index)
inherited
void OOF_ExpandableLongArray::describe ( std::ostream &  ) const
inherited
void OOF_ExpandableLongArray::ExpandToInclude ( unsigned long  indexToCover)
protectedinherited
bool OOF_ExpandableLongArray::find ( unsigned long  value,
unsigned long &  foundAt 
) const
inherited
void OOF_mixRefCount::incRefs ( )
inlineinherited
unsigned long OOF_ExpandableLongArray::index ( ) const
inlineinherited
bool OOF_ExpandableLongArray::Invariant ( ) const
inlineprotectedinherited

Guarantee members managing storage are consistent.

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

Definition at line 119 of file oofarray.h.

References OOF_ExpandableLongArray::mBits, OOF_ExpandableLongArray::mNextFreeEntry, and OOF_ExpandableLongArray::mNumSlots.

Referenced by OOF_ExpandableLongArray::CopyBits(), and OOF_ExpandableLongArray::deleteAllCells().

unsigned long & OOF_ExpandableLongArray::item ( unsigned long  index)
inlineinherited
bool OOF_ExpandableLongArray::more ( ) const
inlineinherited
void OOF_ExpandableLongArray::next ( )
inlineinherited
unsigned long & OOF_ExpandableLongArray::operator() ( )
inlineinherited
unsigned long & OOF_ExpandableLongArray::operator[] ( unsigned long  index)
inherited
void OOF_ExpandableLongArray::start ( )
inlineinherited
unsigned long OOF_ExpandableLongArray::value ( unsigned long  index) const
inherited

Definition at line 243 of file oofarray.cpp.

References OOF_ExpandableLongArray::index(), OOF_ExpandableLongArray::mBits, OOF_ExpandableLongArray::mDefaultValue, and OOF_ExpandableLongArray::mNextFreeEntry.

Referenced by oofDrawStyleArray::adopt(), oofColSizer::alignment(), oofBroadcaster::askAllReturningAny(), oofBroadcaster::askAllStoppingAtFirst(), oofBroadcaster::broadcast(), oofColSizer::CalculateDefaultWidths(), oofViewFieldDefaultsColSizer::CalculateDefaultWidths(), oofColSizer::calculateWidths(), OOF_ExpandableLongArray::contains(), OOF_WordList::contains(), OOF_recordCache::containsContext(), OOF_recordCache::containsOffset(), oofMaskMultiStrings::copyChunk(), OOF_recordCache::countNew(), OOF_ExpandableLongArray::countOccurrences(), dbView::currentHeading(), OOF_ExpandableLongArray::deleteAllMatching(), dbHierBrowseHelper::deleteContentsCache(), OOF_ExpandableLongArray::describe(), oofRepPage::element(), oofXMLwriter::endElement(), OOF_ExpandableLongArray::find(), dbView::FinishCopy(), oofColSizer::fixedPercentage(), oofColSizer::fixedWidth(), dbHierBrowseHelper::getCachedContents(), dbView::getHeading(), dbHierBrowseHelper::initCacheRow(), oofDrawStyleArray::item(), OOF_recordCache::item(), dbHierBrowseHelper::level(), dbHierBrowseHelper::lowestLevel(), oofFileList::oofFileList(), oofRepMulti::orphanSection(), OOF_WordList::orphanStringArray(), oofRepPageList::page(), OOF_recordCache::reuseDeletedItem(), oofRepMulti::section(), dbHierBrowseHelper::setCachedContents(), dbView::setHeading(), oofXMLwriter::startElement(), oofXMLwriter::topLevelClosed(), oofMaskMultiStrings::totalChunkLen(), oofAdornerList::value(), oofRepTabStopList::value(), oofRepTabStopSet::value(), oofRepBandList::value(), oofRepBlockList::value(), oofRepBreakList::value(), dbView::~dbView(), OOF_InteractionPageAreas::~OOF_InteractionPageAreas(), OOF_WordList::~OOF_WordList(), oofDrawStyleArray::~oofDrawStyleArray(), oofMaskMultiStrings::~oofMaskMultiStrings(), and oofXMLwriter::~oofXMLwriter().

Member Data Documentation

unsigned long* OOF_ExpandableLongArray::mBits
protectedinherited
unsigned long OOF_ExpandableLongArray::mDefaultValue
protectedinherited
unsigned int OOF_ExpandableLongArray::mExpansionChunk
protectedinherited
unsigned long OOF_ExpandableLongArray::mInternalIter
protectedinherited
unsigned long OOF_ExpandableLongArray::mNextFreeEntry
protectedinherited
unsigned long OOF_ExpandableLongArray::mNumSlots
protectedinherited
unsigned int OOF_mixRefCount::mReferences
protectedinherited

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