LRAUV  revA
FlexArrayBase Class Reference

Simple class providing a flexible size array of void*. More...

#include <FlexArray.h>

Inherited by FlexArray< T >, FlexArray< Assign * >, FlexArray< char * >, FlexArray< Command * >, FlexArray< CommandArg * >, FlexArray< CommandSyntax * >, FlexArray< Component * >, FlexArray< ConfigDataElement * >, FlexArray< const char * >, FlexArray< const DataEntry ** >, FlexArray< const TableLogWriter::True * >, FlexArray< const Unit * >, FlexArray< DataElement * >, FlexArray< DataReader * >, FlexArray< DataWriter * >, FlexArray< DirectoryManagingLogWriter * >, FlexArray< ElementURI * >, FlexArray< EncArea * >, FlexArray< EncContour * >, FlexArray< EncSounding * >, FlexArray< FlexArray< LocationNode * > * >, FlexArray< HDF5Attribute * >, FlexArray< InputInfo * >, FlexArray< int * >, FlexArray< KmlLogWriter::SyslogItem * >, FlexArray< LoadedModule * >, FlexArray< Location * >, FlexArray< LogAssociation * >, FlexArray< LuaNode * >, FlexArray< Maintainer::MaintainItem * >, FlexArray< MapEntry< const float, LocationNode * > * >, FlexArray< MapEntry< const float, NavChartDb::ClosePoint * > * >, FlexArray< MapEntry< const float, Str * > * >, FlexArray< MapEntry< const int, Mtx * > * >, FlexArray< MapEntry< const Str *, FastMap< const int, Mtx * > * > * >, FlexArray< MapEntry< const Str *, Mtx * > * >, FlexArray< MapEntry< const Str *, Str * > * >, FlexArray< MapEntry< const Str, const Unit * > * >, FlexArray< MapEntry< const Str, DataReader * > * >, FlexArray< MapEntry< const Str, DataWriter * > * >, FlexArray< MapEntry< const Str, DefineBehavior * > * >, FlexArray< MapEntry< const Str, HDF5Dataset * > * >, FlexArray< MapEntry< const Str, HDF5Group * > * >, FlexArray< MapEntry< const Str, LogAssociation * > * >, FlexArray< MapEntry< const Str, LuaNode * > * >, FlexArray< MapEntry< const Str, MissionAPI * > * >, FlexArray< MapEntry< const Str, NavChartDb::EncInfo * > * >, FlexArray< MapEntry< const Str, NetCdfAtt * > * >, FlexArray< MapEntry< const Str, NetCdfDim * > * >, FlexArray< MapEntry< const Str, NetCdfGroup * > * >, FlexArray< MapEntry< const Str, NetCdfVar * > * >, FlexArray< MapEntry< const Str, ScriptAPI * > * >, FlexArray< MapEntry< const Str, SettingReader * > * >, FlexArray< MapEntry< const Str, Str * > * >, FlexArray< MapEntry< const Timestamp, ScheduledItem * > * >, FlexArray< MapEntry< S, T > * >, FlexArray< MapEntry< SyncComponent::CycleOrder, SyncComponent * > * >, FlexArray< MapEntry< uint64_t, EnvSimulator * > * >, FlexArray< MissionItem * >, FlexArray< MissionStateLogger::MissionStateLogger::StateInfo * >, FlexArray< MissionStateLogger::MissionStateLogger::StreamEntry * >, FlexArray< NavChartDb::EncInfo * >, FlexArray< NetCdfDim * >, FlexArray< NetCdfVar * >, FlexArray< OutputInfo * >, FlexArray< OutputURI * >, FlexArray< PCaller * >, FlexArray< PeakDetectHorizontal::PointValue * >, FlexArray< Reporter::ReportItem * >, FlexArray< ScheduledItem * >, FlexArray< SettingInfo * >, FlexArray< SettingReader * >, FlexArray< SplitFileLogWriter * >, FlexArray< Str * >, FlexArray< SyncComponent * >, FlexArray< SyslogComponent::SyslogPart * >, FlexArray< SyslogEntry * >, FlexArray< Timestamp * >, and FlexArray< ValueClause::ValueClauseOperation * >.

Public Member Functions

 FlexArrayBase (const bool deleteOnCleanup, const unsigned int initialCapacity=32, const unsigned int maxCapacity=16384)
 
virtual ~FlexArrayBase ()
 
void clear ()
 
int getMinIndex () const
 
int getMaxIndex () const
 
bool isEmpty () const
 
unsigned int size () const
 
void set (const unsigned int index, const void *item)
 
int find (void *item) const
 
void insert (const unsigned int index, void *item)
 
void push (void *item)
 
const void * peek (int index=-1)
 
const void * pop (int index=-1)
 

Protected Member Functions

virtual void freeItem (void *item)
 
int getIndex (int index=-1) const
 
int resolveIndex (const unsigned int index)
 
virtual void setArraySize (const unsigned int newSize)
 
void setArraySizeBase (const unsigned int newSize)
 

Protected Attributes

const unsigned int initialCapacity_
 
unsigned int size_
 
const bool deleteOnCleanup_
 
const unsigned int maxCapacity_
 
int minIndex_
 
int maxIndex_
 
const void ** array_
 

Private Member Functions

 FlexArrayBase (const FlexArrayBase &old)
 

Detailed Description

Simple class providing a flexible size array of void*.

If you exceed the array limits, it doubles itself in size. It can act as an array, a list, or a stack

Constructor & Destructor Documentation

FlexArrayBase::FlexArrayBase ( const bool  deleteOnCleanup,
const unsigned int  initialCapacity = 32,
const unsigned int  maxCapacity = 16384 
)
FlexArrayBase::~FlexArrayBase ( )
virtual

References array_, and clear().

FlexArrayBase::FlexArrayBase ( const FlexArrayBase old)
private

Member Function Documentation

int FlexArrayBase::find ( void *  item) const
void FlexArrayBase::freeItem ( void *  item)
protectedvirtual

Reimplemented in FlexArray< T >, FlexArray< PeakDetectHorizontal::PointValue * >, FlexArray< Reporter::ReportItem * >, FlexArray< EncArea * >, FlexArray< NetCdfVar * >, FlexArray< DirectoryManagingLogWriter * >, FlexArray< MapEntry< const Str *, Mtx * > * >, FlexArray< DataWriter * >, FlexArray< MissionStateLogger::MissionStateLogger::StreamEntry * >, FlexArray< MapEntry< const Str, SettingReader * > * >, FlexArray< InputInfo * >, FlexArray< MapEntry< const Str, DefineBehavior * > * >, FlexArray< Command * >, FlexArray< MapEntry< const Str, Str * > * >, FlexArray< SettingReader * >, FlexArray< MapEntry< const Str *, Str * > * >, FlexArray< MapEntry< const float, Str * > * >, FlexArray< MapEntry< const Str, const Unit * > * >, FlexArray< NetCdfDim * >, FlexArray< MapEntry< const Str, DataWriter * > * >, FlexArray< LuaNode * >, FlexArray< MapEntry< const Str, LuaNode * > * >, FlexArray< MapEntry< const Str, NavChartDb::EncInfo * > * >, FlexArray< SyslogComponent::SyslogPart * >, FlexArray< LogAssociation * >, FlexArray< Maintainer::MaintainItem * >, FlexArray< MapEntry< const float, LocationNode * > * >, FlexArray< MapEntry< const Str, ScriptAPI * > * >, FlexArray< ConfigDataElement * >, FlexArray< MapEntry< S, T > * >, FlexArray< MapEntry< const float, NavChartDb::ClosePoint * > * >, FlexArray< Timestamp * >, FlexArray< const char * >, FlexArray< MapEntry< const Str, NetCdfDim * > * >, FlexArray< Component * >, FlexArray< PCaller * >, FlexArray< SplitFileLogWriter * >, FlexArray< const DataEntry ** >, FlexArray< OutputURI * >, FlexArray< ElementURI * >, FlexArray< MapEntry< const Str, NetCdfVar * > * >, FlexArray< FlexArray< LocationNode * > * >, FlexArray< HDF5Attribute * >, FlexArray< const TableLogWriter::True * >, FlexArray< MapEntry< SyncComponent::CycleOrder, SyncComponent * > * >, FlexArray< MapEntry< const Str *, FastMap< const int, Mtx * > * > * >, FlexArray< MapEntry< const Timestamp, ScheduledItem * > * >, FlexArray< MapEntry< const Str, MissionAPI * > * >, FlexArray< OutputInfo * >, FlexArray< CommandArg * >, FlexArray< MapEntry< const Str, DataReader * > * >, FlexArray< MapEntry< const Str, NetCdfGroup * > * >, FlexArray< ValueClause::ValueClauseOperation * >, FlexArray< Location * >, FlexArray< MapEntry< const Str, HDF5Group * > * >, FlexArray< Assign * >, FlexArray< int * >, FlexArray< ScheduledItem * >, FlexArray< Str * >, FlexArray< SyncComponent * >, FlexArray< CommandSyntax * >, FlexArray< EncSounding * >, FlexArray< SettingInfo * >, FlexArray< LoadedModule * >, FlexArray< DataReader * >, FlexArray< MapEntry< const Str, HDF5Dataset * > * >, FlexArray< MissionItem * >, FlexArray< KmlLogWriter::SyslogItem * >, FlexArray< MapEntry< const Str, LogAssociation * > * >, FlexArray< const Unit * >, FlexArray< MissionStateLogger::MissionStateLogger::StateInfo * >, FlexArray< MapEntry< const int, Mtx * > * >, FlexArray< DataElement * >, FlexArray< EncContour * >, FlexArray< char * >, FlexArray< MapEntry< const Str, NetCdfAtt * > * >, FlexArray< MapEntry< uint64_t, EnvSimulator * > * >, FlexArray< SyslogEntry * >, and FlexArray< NavChartDb::EncInfo * >.

Referenced by clear().

int FlexArrayBase::getIndex ( int  index = -1) const
protected
void FlexArrayBase::insert ( const unsigned int  index,
void *  item 
)
const void * FlexArrayBase::peek ( int  index = -1)
const void * FlexArrayBase::pop ( int  index = -1)
void FlexArrayBase::push ( void *  item)
int FlexArrayBase::resolveIndex ( const unsigned int  index)
protected
void FlexArrayBase::set ( const unsigned int  index,
const void *  item 
)
virtual void FlexArrayBase::setArraySize ( const unsigned int  newSize)
inlineprotectedvirtual

Reimplemented in FlexArray< T >, FlexArray< PeakDetectHorizontal::PointValue * >, FlexArray< Reporter::ReportItem * >, FlexArray< EncArea * >, FlexArray< NetCdfVar * >, FlexArray< DirectoryManagingLogWriter * >, FlexArray< MapEntry< const Str *, Mtx * > * >, FlexArray< DataWriter * >, FlexArray< MissionStateLogger::MissionStateLogger::StreamEntry * >, FlexArray< MapEntry< const Str, SettingReader * > * >, FlexArray< InputInfo * >, FlexArray< MapEntry< const Str, DefineBehavior * > * >, FlexArray< Command * >, FlexArray< MapEntry< const Str, Str * > * >, FlexArray< SettingReader * >, FlexArray< MapEntry< const Str *, Str * > * >, FlexArray< MapEntry< const float, Str * > * >, FlexArray< MapEntry< const Str, const Unit * > * >, FlexArray< NetCdfDim * >, FlexArray< MapEntry< const Str, DataWriter * > * >, FlexArray< LuaNode * >, FlexArray< MapEntry< const Str, LuaNode * > * >, FlexArray< MapEntry< const Str, NavChartDb::EncInfo * > * >, FlexArray< SyslogComponent::SyslogPart * >, FlexArray< LogAssociation * >, FlexArray< Maintainer::MaintainItem * >, FlexArray< MapEntry< const float, LocationNode * > * >, FlexArray< MapEntry< const Str, ScriptAPI * > * >, FlexArray< ConfigDataElement * >, FlexArray< MapEntry< S, T > * >, FlexArray< MapEntry< const float, NavChartDb::ClosePoint * > * >, FlexArray< Timestamp * >, FlexArray< const char * >, FlexArray< MapEntry< const Str, NetCdfDim * > * >, FlexArray< Component * >, FlexArray< PCaller * >, FlexArray< SplitFileLogWriter * >, FlexArray< const DataEntry ** >, FlexArray< OutputURI * >, FlexArray< ElementURI * >, FlexArray< MapEntry< const Str, NetCdfVar * > * >, FlexArray< FlexArray< LocationNode * > * >, FlexArray< HDF5Attribute * >, FlexArray< const TableLogWriter::True * >, FlexArray< MapEntry< SyncComponent::CycleOrder, SyncComponent * > * >, FlexArray< MapEntry< const Str *, FastMap< const int, Mtx * > * > * >, FlexArray< MapEntry< const Timestamp, ScheduledItem * > * >, FlexArray< MapEntry< const Str, MissionAPI * > * >, FlexArray< OutputInfo * >, FlexArray< CommandArg * >, FlexArray< MapEntry< const Str, DataReader * > * >, FlexArray< MapEntry< const Str, NetCdfGroup * > * >, FlexArray< ValueClause::ValueClauseOperation * >, FlexArray< Location * >, FlexArray< MapEntry< const Str, HDF5Group * > * >, FlexArray< Assign * >, FlexArray< int * >, FlexArray< ScheduledItem * >, FlexArray< Str * >, FlexArray< SyncComponent * >, FlexArray< CommandSyntax * >, FlexArray< EncSounding * >, FlexArray< SettingInfo * >, FlexArray< LoadedModule * >, FlexArray< DataReader * >, FlexArray< MapEntry< const Str, HDF5Dataset * > * >, FlexArray< MissionItem * >, FlexArray< KmlLogWriter::SyslogItem * >, FlexArray< MapEntry< const Str, LogAssociation * > * >, FlexArray< const Unit * >, FlexArray< MissionStateLogger::MissionStateLogger::StateInfo * >, FlexArray< MapEntry< const int, Mtx * > * >, FlexArray< DataElement * >, FlexArray< EncContour * >, FlexArray< char * >, FlexArray< MapEntry< const Str, NetCdfAtt * > * >, FlexArray< MapEntry< uint64_t, EnvSimulator * > * >, FlexArray< SyslogEntry * >, and FlexArray< NavChartDb::EncInfo * >.

References setArraySizeBase().

Referenced by resolveIndex().

void FlexArrayBase::setArraySizeBase ( const unsigned int  newSize)
protected
unsigned int FlexArrayBase::size ( ) const

References isEmpty(), maxIndex_, and minIndex_.

Referenced by ScheduledItem::AddNext(), NetCdfWriter::addStaticVar(), NetCdfWriter::addVar(), ConfigDataElement::ApplyConfigValues(), ScheduledItem::Clear(), CommandLine::commandHelp(), CommandLine::completeArg(), ParsedCommand::completeCommand(), contains_chars(), Aggregate::containsPreemptive(), DefinedBehavior::DefinedBehavior(), ScheduledItem::DoScheduled(), LuaAPI::Exec(), CommandLine::execLine(), HDF5HasAttributes::finalize(), Aggregate::getChild(), ConfigDataElement::GetConfigDataElementCount(), Slate::GetElementURICount(), ComponentRegistry::GetEntryCount(), Aggregate::getItemByRefId(), CommandLine::getLines(), CommandSyntax::getRequiredArgSize(), Aggregate::gotoNextItem(), HDF5Attribute::HDF5Attribute(), Aggregate::initialize(), DefinedBehavior::initialize(), ReadDataComponent::initializeReaders(), is_child(), UniversalDataElement::isAnyDataRequested(), UniversalDataElement::isDataRequested(), DataElement::isDataRequested(), DataElement::isImplemented(), DataElement::isOwnersActive(), DataElement::isOwnersFailed(), HFRadarModelPoint::isSatisfied(), ReadDataComponent::isSatisfied(), ComponentRegistry::Length(), ScheduledItem::List(), DecimationLogManager::lockWrites(), Aggregate::logStack(), LuaAPI::makeScriptFunction(), FileLogReader::matchAndOpen(), ParsedCommand::matchCommand(), Method::Method(), ScheduledItem::Pause(), Aggregate::preempted(), DataElement::readerCount(), ScheduledItem::Remove(), LoggerAssociationDeque::remove(), ReadDataComponent::requestData(), DecimationLogManager::resetDirectoryEntries(), DecimationLogManager::resetFileBases(), SendDataComponent::run(), HFRadarModelPoint::run(), Aggregate::run(), Unserialize::Run(), EncReader::scan(), Component::setFailure(), FastMap< const Timestamp, ScheduledItem * >::size(), DecimationLogManager::splits(), CommandLine_Test::testParse(), FlexArray_Test::testPush(), FastMap_Test::testPutGetRandomDumpDuplicates(), Aggregate::uninitialize(), Slate::Uninitialize(), DecimationLogManager::unlockWrites(), NavChartDb::updateClosest(), TableLogWriter::writeAllInterpolated(), Slate::WriteDirectory(), HDF5HasAttributes::writeHeader(), TableLogWriter::writeInterpolated(), DataElement::writerCount(), NetCdfWriter::writeRecord(), and TableLogWriter::~TableLogWriter().

Member Data Documentation

const void** FlexArrayBase::array_
protected
const bool FlexArrayBase::deleteOnCleanup_
protected

Referenced by clear().

const unsigned int FlexArrayBase::initialCapacity_
protected
const unsigned int FlexArrayBase::maxCapacity_
protected

Referenced by resolveIndex().

int FlexArrayBase::maxIndex_
protected
int FlexArrayBase::minIndex_
protected
unsigned int FlexArrayBase::size_
protected

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