|
LRAUV
revA
|
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) | |
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
| FlexArrayBase::FlexArrayBase | ( | const bool | deleteOnCleanup, |
| const unsigned int | initialCapacity = 32, |
||
| const unsigned int | maxCapacity = 16384 |
||
| ) |
|
private |
| void FlexArrayBase::clear | ( | ) |
References array_, deleteOnCleanup_, freeItem(), maxIndex_, and minIndex_.
Referenced by LogEngine::cleanupAll(), FastMap< const Timestamp, ScheduledItem * >::clear(), Slate::ClearDirectory(), HFRadarModelPoint::initNodes(), HFRadarModelPoint::run(), NavChartDb::updateGeoIndices(), FlexArray< NavChartDb::EncInfo * >::~FlexArray(), ~FlexArrayBase(), and DirectoryEntry::StaticDestructor::~StaticDestructor().
| int FlexArrayBase::find | ( | void * | item | ) | const |
References array_, maxIndex_, and minIndex_.
Referenced by FlexArray< NavChartDb::EncInfo * >::find(), and FlexArray< NavChartDb::EncInfo * >::pop().
|
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().
|
protected |
References maxIndex_, and size_.
Referenced by FlexArray< NavChartDb::EncInfo * >::get().
| int FlexArrayBase::getMaxIndex | ( | ) | const |
References maxIndex_.
Referenced by LogEngine::configAssociatedLogWriters(), PCaller::DefaultSignalHandler(), ComponentRegistry::Find(), ComponentRegistry::FindHandler(), FastMap< const Timestamp, ScheduledItem * >::findIndex(), FastMap< const Timestamp, ScheduledItem * >::findKey(), DataElement::findReader(), DataElement::findWriter(), FastMap< const Timestamp, ScheduledItem * >::get(), ComponentRegistry::Insert(), LogEngine::processEntry(), LogEngine::processQueue(), FastMap< const Timestamp, ScheduledItem * >::put(), UniversalDataElement::recalculate(), ComponentRegistry::Remove(), Component::requestData(), DirectoryManagingLogWriter::resetDirectoryEntries(), LinearApproximationLogWriter::resetDirectoryEntries(), LogEngine::resetInputs(), Component::setRunState(), ComponentRegistry::ShutdownThreads(), ComponentRegistry::StartThreads(), LogEngine::uninitialize(), Module::unregisterComponent(), Component::unregisterReader(), DataElement::unregisterReader(), Component::unregisterWriter(), and DataElement::unregisterWriter().
| int FlexArrayBase::getMinIndex | ( | ) | const |
References maxIndex_, and minIndex_.
Referenced by LogEngine::configAssociatedLogWriters(), PCaller::DefaultSignalHandler(), ComponentRegistry::Find(), ComponentRegistry::FindHandler(), DataElement::findReader(), DataElement::findWriter(), ComponentRegistry::Insert(), LogEngine::processEntry(), LogEngine::processQueue(), UniversalDataElement::recalculate(), ComponentRegistry::Remove(), DirectoryManagingLogWriter::resetDirectoryEntries(), LinearApproximationLogWriter::resetDirectoryEntries(), LogEngine::resetInputs(), ComponentRegistry::ShutdownThreads(), ComponentRegistry::StartThreads(), LogEngine::uninitialize(), Module::unregisterComponent(), DataElement::unregisterReader(), and DataElement::unregisterWriter().
| void FlexArrayBase::insert | ( | const unsigned int | index, |
| void * | item | ||
| ) |
References array_, maxIndex_, and set().
Referenced by FlexArray< NavChartDb::EncInfo * >::insert(), and push().
| bool FlexArrayBase::isEmpty | ( | void | ) | const |
References maxIndex_, and minIndex_.
Referenced by ControlThread::addComponentsFromQueue(), ComponentRegistry::DeleteAll(), UniversalDataElement::isOrphaned(), NAL9602::needGSV(), NAL9602::parseGSV(), ControlThread::removeComponentsFromQueue(), size(), Supervisor::uninitialize(), Component::~Component(), and Module::~Module().
| const void * FlexArrayBase::peek | ( | int | index = -1 | ) |
References array_, maxIndex_, and resolveIndex().
Referenced by FlexArray< NavChartDb::EncInfo * >::peek(), and NavChartDb::updateClosest().
| const void * FlexArrayBase::pop | ( | int | index = -1 | ) |
References array_, maxIndex_, and resolveIndex().
Referenced by FlexArray< NavChartDb::EncInfo * >::pop().
| void FlexArrayBase::push | ( | void * | item | ) |
References insert(), and maxIndex_.
Referenced by FlexArray< NavChartDb::EncInfo * >::push(), and NavChartDb::updateGeoIndices().
|
protected |
References maxCapacity_, maxIndex_, minIndex_, setArraySize(), and size_.
Referenced by FlexArray< NavChartDb::EncInfo * >::operator[](), peek(), pop(), and set().
| void FlexArrayBase::set | ( | const unsigned int | index, |
| const void * | item | ||
| ) |
References array_, and resolveIndex().
Referenced by insert(), and FlexArray< NavChartDb::EncInfo * >::set().
|
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().
|
protected |
Referenced by setArraySize(), and FlexArray< NavChartDb::EncInfo * >::setArraySize().
| 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().
|
protected |
Referenced by clear(), find(), insert(), peek(), pop(), set(), FlexArray< NavChartDb::EncInfo * >::setArraySize(), setArraySizeBase(), and ~FlexArrayBase().
|
protected |
Referenced by clear().
|
protected |
Referenced by FlexArray< NavChartDb::EncInfo * >::FlexArray().
|
protected |
Referenced by resolveIndex().
|
protected |
Referenced by clear(), find(), getIndex(), getMaxIndex(), getMinIndex(), insert(), isEmpty(), peek(), pop(), push(), resolveIndex(), and size().
|
protected |
Referenced by clear(), find(), getMinIndex(), isEmpty(), resolveIndex(), and size().
|
protected |
Referenced by getIndex(), resolveIndex(), and setArraySizeBase().