|
LRAUV
revA
|
Simple class for providing key-pointer mappings. More...
#include <Slate.h>

Public Member Functions | |
| FastMap (bool allowDups=false, const unsigned short initialSize=32) | |
| virtual | ~FastMap () |
| bool | put (S &key, T item, bool deleteOnCleanup=false) |
| T | get (const S &key, bool andPop=false) |
| T | pop (S &key) |
| T | getIndexed (unsigned int index, bool andPop=false) |
| MapEntry< S, T > * | getIndexedEntry (unsigned int index, bool andPop=false) |
| T | popIndexed (unsigned int index) |
| S & | findKey (T item, const S &defaultValue) |
| int | findIndex (const S &key, int minIndex=0, int maxIndex=-1) |
| unsigned int | size () |
| FlexArray< MapEntry< S, T > * > | getArray () |
| void | clear (bool andDeleteValues=false) |
Protected Attributes | |
| FlexArray< MapEntry< S, T > * > | array_ |
| bool | allowDups_ |
| T | nullItem_ |
Private Member Functions | |
| FastMap (const FastMap< S, T > &old) | |
Simple class for providing key-pointer mappings.
Keys are sorted as they are added, to allow for quick (~log(entries)) lookups.
Multiple pointers per key may be allowed.
Keys must have a compare() method that allows one to compare keys for sorting.
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by NetCdfWriter::writeRecord().
|
inline |
Referenced by NetCdfWriter::addAtt(), NetCdfWriter::addDim(), NavChartDb::addEncData(), NetCdfWriter::addStaticVar(), Behavior::addValueClause(), NetCdfWriter::addVar(), NavChartDb::appendToContour(), NavChartDb::appendToSoundings(), Slate::CodifyElementURI(), DecimationLogManager::configLog(), NavChartDb::createContour(), Slate::DeRegisterElementURI(), NavChartDb::doIndexing(), BehaviorRegistry::Find(), Aggregate::findArgReader(), Behavior::findArgWriter(), NetCdf::findAtt(), MissionAPIRegistry::FindByExtension(), ScriptAPIRegistry::FindByExtension(), MissionAPIRegistry::FindByName(), ScriptAPIRegistry::FindByName(), Slate::FindCodedName(), HDF5Group::findDataset(), MissionItem::findDefineBehavior(), NetCdf::findDim(), Slate::FindElementURI(), NetCdfWriter::findGroup(), HDF5Group::findGroup(), Behavior::findSettingReader(), UnitRegistry::FindUnit(), NetCdf::findVar(), Slate::GetCodedName(), Slate::GetDataAccess(), Slate::GetElement(), Slate::GetElementURI(), Slate::GetElementURICode(), LuaNode::getNamedNode(), Config::LoadPersistedConfigSets(), Slate::MapDataElement(), Behavior::newSettingReader(), Slate::NewUniversalElement(), Config::Persist(), Slate::RegisterCodedName(), Slate::RegisterDataAccess(), Slate::RegisterElementURI(), SimDaemon::ServiceClient(), FastMap_Test::testPutGetAndSizeNoDuplicates(), FastMap_Test::testPutGetAndSizeNoDuplicatesDynamic(), FastMap_Test::testPutGetRandomDumpDuplicates(), and NavChartDb::updateClosest().
|
inline |
Referenced by MultiHandler::addComponent(), ScheduledItem::Clear(), FastMap< const Timestamp, ScheduledItem * >::clear(), NavChartDb::createIndices(), HDF5Group::finalize(), DecimationLogManager::flush(), FastMap< const Timestamp, ScheduledItem * >::get(), UnitRegistry::GetIndexedUnit(), NetCdfWriter::initialize(), Config::Persist(), FastMap< const Timestamp, ScheduledItem * >::popIndexed(), MultiHandler::removeComponent(), LocationNode::removeFromQueue(), DecimationLogManager::resetDirectoryEntries(), MultiHandler::shutdown(), MultiHandler::syslogComponentOrder(), NavChartDb::updateClosest(), DecimationLogManager::writeFooters(), HDF5Group::writeHeader(), DecimationLogManager::writeHeaders(), and SimDaemon::~SimDaemon().
|
inline |
Referenced by ScheduledItem::AddTimed(), ScheduledItem::DoScheduled(), FastMap< const Timestamp, ScheduledItem * >::getIndexed(), UnitRegistry::GetIndexedKey(), ScheduledItem::List(), FastMap< const Timestamp, ScheduledItem * >::put(), ScheduledItem::Remove(), LocationNode::removeFromQueue(), MultiHandler::runNext(), and NavChartDb::saveDepths().
|
inline |
|
inline |
Referenced by MultiHandler::clearComponentList(), Slate::ClearDirectory(), ScheduledItem::DoScheduled(), ScheduledItem::Remove(), MultiHandler::removeComponent(), LocationNode::removeFromQueue(), HFRadarModelPoint::run(), FastMap_Test::testPutGetAndSizeNoDuplicatesDynamic(), BehaviorRegistry::Uninitialize(), Config::Uninitialize(), LuaNode::~LuaNode(), NavChartDb::~NavChartDb(), NetCdf::~NetCdf(), and Slate::StaticDestructor::~StaticDestructor().
|
inline |
Referenced by Behavior::addArgWriter(), NetCdfWriter::addAtt(), MultiHandler::addComponent(), HDF5Group::addDataset(), NetCdfWriter::addDim(), NetCdfWriter::addGroup(), HDF5Group::addGroup(), HDF5Group::addScalarDataset(), NetCdfWriter::addStaticVar(), ScheduledItem::AddTimed(), UnitRegistry::AddUnit(), Behavior::addValueClause(), NetCdfWriter::addVar(), Slate::ClearDirectory(), Slate::CodifyElementURI(), DecimationLogManager::configLog(), Slate::Construct(), NavChartDb::createSoundings(), Aggregate::defineArg(), Slate::DeRegisterElementURI(), NavChartDb::doIndexing(), Slate::GetCodedName(), Slate::GetDataAccess(), LuaNode::getNamedNode(), NetCdfReader::initialize(), HFRadarModelPoint::initNodes(), BehaviorRegistry::Insert(), Config::LoadPersistedConfigSets(), Slate::MapDataElement(), NavChartDb::mapDepth(), Slate::NewDataElement(), Behavior::newSettingReader(), Slate::NewUniversalElement(), Config::Persist(), MissionItem::putDefineBehavior(), MissionAPIRegistry::Register(), ScriptAPIRegistry::Register(), Slate::RegisterCodedName(), Slate::RegisterDataAccess(), Slate::RegisterElementURI(), SimDaemon::ServiceClient(), LocationNode::setCameFrom(), FastMap_Test::testPutGetAndSizeNoDuplicates(), FastMap_Test::testPutGetAndSizeNoDuplicatesDynamic(), FastMap_Test::testPutGetRandomDumpDuplicates(), and NavChartDb::updateClosest().
|
inline |
Referenced by MultiHandler::addComponent(), ScheduledItem::AddTimed(), ScheduledItem::Clear(), FastMap< const Timestamp, ScheduledItem * >::clear(), MultiHandler::clearComponentList(), Slate::ClearDirectory(), NavChartDb::createIndices(), ScheduledItem::DoScheduled(), HDF5Group::finalize(), DecimationLogManager::flush(), HDF5Group::getDatasetCount(), NetCdfWriter::initialize(), ScheduledItem::List(), ScheduledItem::Pause(), Config::Persist(), ScheduledItem::Remove(), MultiHandler::removeComponent(), LocationNode::removeFromQueue(), DecimationLogManager::resetDirectoryEntries(), NavChartDb::run(), MultiHandler::runAll(), MultiHandler::runNext(), NavChartDb::saveDepths(), MultiHandler::shutdown(), UnitRegistry::Size(), MultiHandler::syslogComponentOrder(), FastMap_Test::testPutGetAndSizeNoDuplicates(), FastMap_Test::testPutGetAndSizeNoDuplicatesDynamic(), BehaviorRegistry::Uninitialize(), Config::Uninitialize(), NavChartDb::updateClosest(), DecimationLogManager::writeFooters(), HDF5Group::writeHeader(), DecimationLogManager::writeHeaders(), LuaNode::~LuaNode(), NavChartDb::~NavChartDb(), NetCdf::~NetCdf(), SimDaemon::~SimDaemon(), and Slate::StaticDestructor::~StaticDestructor().
|
protected |
Referenced by FastMap< const Timestamp, ScheduledItem * >::put().
Referenced by FastMap< const Timestamp, ScheduledItem * >::clear(), FastMap< const Timestamp, ScheduledItem * >::findIndex(), FastMap< const Timestamp, ScheduledItem * >::findKey(), FastMap< const Timestamp, ScheduledItem * >::get(), FastMap< const Timestamp, ScheduledItem * >::getArray(), FastMap< const Timestamp, ScheduledItem * >::getIndexedEntry(), FastMap< const Timestamp, ScheduledItem * >::put(), and FastMap< const Timestamp, ScheduledItem * >::size().
|
protected |