#include <cklists.h>
Inherits CkSTLHelper< T >< T >.
Public Member Functions | |
CkVec () | |
~CkVec () | |
CkVec (const this_type &src) | |
CkVec (int size) | |
CkVec (int size, int used) | |
CkVec (const CkSkipInitialization &skip) | |
this_type & | operator= (const this_type &src) |
size_t & | length (void) |
size_t | length (void) const |
T * | getVec (void) |
const T * | getVec (void) const |
T & | operator[] (size_t n) |
const T & | operator[] (size_t n) const |
int | reserve (size_t newcapacity) |
Reserve at least this much space (changes capacity, size unchanged). | |
size_t | capacity (void) const |
int | resize (size_t newsize) |
Set our length to this value. | |
void | free () |
Set our length to this value. | |
void | growAtLeast (size_t pos) |
void | insert (size_t pos, const T &elt) |
void | remove (size_t pos) |
void | removeAll () |
void | clear () |
void | insertAtEnd (const T &elt) |
void | push_back (const T &elt) |
size_t | size (void) const |
size_t | push_back_v (const T &elt) |
int | pupbase (PUP::er &p) |
void | pup (PUP::er &p) |
void | quickSort () |
void | quickSort (int changeOverSize) |
void | q_sort (int left, int right, int changeOverSize) |
void | bubbleSort (int left, int right) |
Private Types | |
typedef CkVec< T > | this_type |
Private Member Functions | |
void | makeBlock (int blklen_, int len_) |
void | freeBlock (void) |
void | copyFrom (const this_type &src) |
Private Attributes | |
T * | block |
size_t | blklen |
size_t | len |
Classes used must have a default constructor and working copy constructor. This class is modelled after, but *not* identical to, std::vector. The elements of the array are pup'd using plain old "p|elt;". The main use case for CkVec is global variables (see CkSkipInitialization above).
Definition at line 183 of file cklists.h.
Reimplemented in CkPupPtrVec< T, PUP_PTR >, CkPupAblePtrVec< T >, CkPupPtrVec< InfoStruct >, CkPupPtrVec< arrInfo >, CkPupPtrVec< IDXL_List, CkPupAlwaysAllocatePtr< IDXL_List > >, CkPupPtrVec< win_obj >, CkPupPtrVec< T >, CkPupPtrVec< KeyvalPair >, CkPupPtrVec< FEM_Mesh >, CkPupPtrVec< groupStruct >, CkPupPtrVec< CkVec< int >, CkPupAlwaysAllocatePtr< CkVec< int > > >, CkPupPtrVec< arrayMapInfo >, CkPupPtrVec< Armci_Note >, CkPupPtrVec< KeyvalNode >, CkPupPtrVec< ampiCommStruct >, CkPupPtrVec< WinStruct >, CkPupPtrVec< T, CkPupAlwaysAllocatePtr< T > >, CkPupPtrVec< Armci_Hdl >, CkPupAblePtrVec< CkArrayListener >, and CkPupAblePtrVec< FEM_Sym_Desc >.
CkVec< T >::CkVec | ( | const CkSkipInitialization & | skip | ) | [inline] |
Definition at line 189 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::CkVec(), CkVec< CkZeroPtr< T, PUP_PTR > >::copyFrom(), and CkVec< CkZeroPtr< T, PUP_PTR > >::reserve().
void CkVec< T >::freeBlock | ( | void | ) | [inline, private] |
Definition at line 197 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::clear(), CkVec< CkZeroPtr< T, PUP_PTR > >::free(), CkVec< CkZeroPtr< T, PUP_PTR > >::operator=(), and CkVec< CkZeroPtr< T, PUP_PTR > >::~CkVec().
Definition at line 202 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::CkVec(), and CkVec< CkZeroPtr< T, PUP_PTR > >::operator=().
Reimplemented in CkPupAblePtrVec< CkArrayListener >, and CkPupAblePtrVec< FEM_Sym_Desc >.
Definition at line 219 of file cklists.h.
Referenced by LBDB::AddOM(), TraceSummaryBOC::ccsRequestSummaryDouble(), TraceSummaryBOC::ccsRequestSummaryUnsignedChar(), TraceArray::clearTrace(), RefinerComm::commAffinity(), CkPupAblePtrVec< FEM_Sym_Desc >::copy_from(), HybridBaseLB::createMigrateMsg(), CentralLB::createMigrateMsg(), taskGraphArray::deleteElement(), FEMchunk::emptyList(), controlPointManager::gotoNextPhase(), CkVec< CkZeroPtr< T, PUP_PTR > >::insertAtEnd(), DistributedLB::LoadBalance(), LBDatabase::loadbalancer(), ParFUMShadowArray::lockLocalNodes(), ParFUMShadowArray::lockRegion(), ParFUMShadowArray::lockSharedIdxls(), FEM_Mesh::n2e_getAll(), FEM_Mesh::n2e_remove(), FEM_Mesh::n2e_replace(), FEM_Mesh::n2n_exists(), FEM_Mesh::n2n_getAll(), FEM_Mesh::n2n_remove(), FEM_Mesh::n2n_replace(), RefinerComm::objCommCost(), CkVec< CkZeroPtr< T, PUP_PTR > >::push_back(), CkVec< CkZeroPtr< T, PUP_PTR > >::push_back_v(), replyAdjacencyRequests(), WSLB::Strategy(), NeighborLB::Strategy(), NeighborCommLB::Strategy(), taskGraphAdd(), taskGraphArray::taskGraphArray(), TCHARM_Get_global(), uniquify(), UniqElemList< T >::uniquify(), ParFUMShadowArray::unlockLocalNodes(), ParFUMShadowArray::unlockRegion(), ParFUMShadowArray::unlockReply(), ParFUMShadowArray::unlockSharedIdxls(), ParFUMShadowArray::unpendRegion(), update_new_element_e2e(), LBDB::useMem(), VectorStrategy(), NodeLevelLB::work(), and ComboCentLB::work().
T* CkVec< T >::getVec | ( | void | ) | [inline] |
Definition at line 221 of file cklists.h.
Referenced by TraceSummaryBOC::ccsRequestSummaryDouble(), TraceSummaryBOC::ccsRequestSummaryUnsignedChar(), HybridBaseLB::CollectInfo(), FEM_Get_ghost_list(), FEM_REFINE2D_Split(), fillLocalAdaptAdjacencies(), FTN_NAME(), LBDatabase::getLoadBalancers(), HybridBaseLB::Loadbalancing(), ParFUMShadowArray::lockRegion(), HybridBaseLB::PropagateInfo(), HybridBaseLB::ReceiveMigration(), HbmLB::ReceiveMigrationDelta(), HybridBaseLB::ReceiveVectorMigration(), and TreeMatchLB::work().
const T* CkVec< T >::getVec | ( | void | ) | const [inline] |
Reserve at least this much space (changes capacity, size unchanged).
Definition at line 235 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::growAtLeast(), PUPmarshall(), and CkVec< CkZeroPtr< T, PUP_PTR > >::resize().
Set our length to this value.
Definition at line 247 of file cklists.h.
Referenced by LBDatabase::addLoadbalancer(), IDXL_Comm::msg_t::allocate(), PhasebyArrayLB::copyStats(), FEM_chunk::exchangeGhostLists(), FEMchunk::exchangeGhostLists(), LBDatabase::getLoadbalancerTicket(), NumberedVec< CkVec< int > >::makeLonger(), InfoStruct::myfree(), BaseLB::LDStats::pup(), CkVec< CkZeroPtr< T, PUP_PTR > >::pupbase(), OrbLB::rec_divide(), CentralLB::removeCommDataOfDeletedObjs(), CentralLB::removeNonMigratable(), IDXL_Comm::reset(), MSA_Listeners::signal(), splitter::splitter(), uniquify(), UniqElemList< T >::uniquify(), IDXL_Comm::wait(), and OrbLB::work().
void CkVec< T >::free | ( | ) | [inline] |
Set our length to this value.
Definition at line 254 of file cklists.h.
Referenced by TraceSummaryBOC::ccsRequestSummaryDouble(), TraceSummaryBOC::ccsRequestSummaryUnsignedChar(), IDXL_Side::clear(), HybridBaseLB::LevelData::clear(), HbmLB::LevelData::clear(), BaseLB::LDStats::clear(), FEM_Adapt::edge_bisect_help(), FEM_Adapt::edge_flip_help(), FEM_add_element(), FEM_MUtil::findGhostSend(), HybridBaseLB::MigrationDone(), HbmLB::MigrationDone(), FEM_Mesh::n2e_removeAll(), FEM_Mesh::n2n_removeAll(), HybridBaseLB::PropagateInfo(), and PhasebyArrayLB::work().
Definition at line 259 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::insert().
Definition at line 262 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::insertAtEnd(), PUPmarshall(), CkVec< CkZeroPtr< T, PUP_PTR > >::push_back(), and CkVec< CkZeroPtr< T, PUP_PTR > >::push_back_v().
Definition at line 269 of file cklists.h.
Referenced by TraceArray::clearTrace(), FEM_remove_element(), FEM_Mesh::n2e_remove(), FEM_Mesh::n2n_remove(), removeFromAdaptAdj(), and BaseLB::LDStats::removeObject().
void CkVec< T >::removeAll | ( | ) | [inline] |
Definition at line 279 of file cklists.h.
Referenced by FEM_AdaptL::edge_contraction_help(), FEM_lock::FEM_lock(), FEM_lock::lock(), CpdPythonGroup::nextIteratorUpdate(), and FEM_lock::unlock().
void CkVec< T >::insertAtEnd | ( | const T & | elt | ) | [inline] |
Definition at line 288 of file cklists.h.
Referenced by CpdPythonArrayIterator::addLocation(), LBDB::AddOM(), HybridBaseLB::createMigrateMsg(), CentralLB::createMigrateMsg(), DistributedLB::MapObjsToPe(), taskGraphArray::requestData(), WSLB::Strategy(), NeighborLB::Strategy(), NeighborCommLB::Strategy(), and TraceSummaryBOC::summaryDataCollected().
void CkVec< T >::push_back | ( | const T & | elt | ) | [inline] |
Definition at line 291 of file cklists.h.
Referenced by MSA_Listeners::add(), IDXL_Side::add(), FEM_Sym_List::add(), CkRegisteredInfo< T >::add(), LBDBRegistry::addCompiletimeBalancer(), FEM_Partition::addGhostStencil(), FEM_Partition::addLayer(), IDXL_Side::addList(), CkArrayOptions::addListener(), LBDBRegistry::addRuntimeBalancer(), IDXL_Chunk::addStatic(), addToAdaptAdj(), addToLists(), TraceArray::addTrace(), FEM_MUtil::buildChunkToNodeTable(), HybridBaseLB::collectCommData(), HbmLB::collectCommData(), HybridBaseLB::CollectInfo(), ParFUMShadowArray::collectLocalNodes(), threadCollideMgr::collisions(), BaseLB::LDStats::computeNonlocalComm(), RefinerComm::create(), taskGraphSolver::dependsOn(), FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_chunk::exchangeGhostLists(), FEMchunk::exchangeGhostLists(), FEM_add_element(), FEM_add_node_local(), FEM_REFINE2D_Split(), FEM_Refine_Operation(), FEM_remove_element(), fillLocalAdaptAdjacencies(), FEM_MUtil::findGhostSend(), LBInfo::getInfo(), HybridBaseLB::GetObjsToMigrate(), getRoccomPconn(), FEM_lock::lock(), ParFUMShadowArray::lockRegion(), makeGhost(), FEM_Partition::markGhostStencilLayer(), HbmLB::Migrated(), MulticastAgent::MulticastAgent(), FEM_Mesh::n2e_add(), FEM_Mesh::n2n_add(), ArmciVirtualProcessor::nbget(), ArmciVirtualProcessor::nbget_implicit(), ArmciVirtualProcessor::nbgets(), ArmciVirtualProcessor::nbgets_implicit(), ArmciVirtualProcessor::nbput(), ArmciVirtualProcessor::nbput_implicit(), ArmciVirtualProcessor::nbputs(), ArmciVirtualProcessor::nbputs_implicit(), ArmciVirtualProcessor::notify_wait(), HybridBaseLB::ObjMigrated(), HbmLB::ObjMigrated(), HybridBaseLB::ObjsMigrated(), FEM_Sym_List::operator=(), HybridBaseLB::PropagateInfo(), IDXL_List::push_back(), FEM_T_List< FEM_Mesh >::put(), ArmciVirtualProcessor::put(), ArmciVirtualProcessor::puts(), OrbLB::rec_divide(), HbmLB::ReceiveMigrationDelta(), threadCollideMgr::registerContributor(), FEM_MUtil::Replace_node_local(), replyAdjacencyRequests(), ArmciVirtualProcessor::sendNote(), IDXL_List::set(), FEM_Node::setElemAdjacency(), femMeshModify::setFemMesh(), FEM_Node::setNodeAdjacency(), IDXL_Chunk::storeToFreeIndex(), taskGraphAdd(), TCHARM_Register_thread_function(), update_new_element_e2e(), VectorStrategy(), ArmciVirtualProcessor::waitall(), ArmciVirtualProcessor::waitproc(), PhasebyArrayLB::work(), OrbLB::work(), and GreedyCommLB::work().
Definition at line 292 of file cklists.h.
Referenced by FEM_Sym_List::add(), CkRegisteredInfo< T >::add(), addIDXLists(), IDXL_Chunk::addStatic(), ArmciVirtualProcessor::allfence(), FEM_Sym_List::applyLoc(), FEM_Sym_List::applyVec(), FEM_T_List< FEM_Mesh >::badIndex(), CpdPythonGroup::buildIterator(), FEM_T_List< FEM_Mesh >::check(), CkArray::CkArray(), HybridBaseLB::CollectInfo(), BaseLB::LDStats::computeNonlocalComm(), splitter::consistencyCheck(), FEM_Entity::copyEntity(), FEM_Entity::copyShape(), splitter::createMesh(), HybridBaseLB::createMigrateMsg(), taskGraphArray::deleteElement(), IDXL_Chunk::destroy(), FEM_Adapt::edge_bisect_help(), FEM_AdaptL::edge_contraction_help(), FEM_Adapt::edge_flip_help(), FEM_T_List< FEM_Mesh >::empty(), IDXL_List::exists(), FEM_lock::existsChunk(), FEM_add_node_local(), FEM_Get_ghost_list_length(), FEM_Get_roccom_pconn_size(), FEM_Ghost_Essential_attributes(), FEM_Interpolate::FEM_InterpolateCopyAttributes(), FEM_Interpolate::FEM_InterpolateElementCopy(), FEM_Interpolate::FEM_InterpolateNodeInElement(), FEM_Interpolate::FEM_InterpolateNodeOnEdge(), FEM_Interpolate::FEM_InterpolateNodeOnFace(), FEM_REFINE2D_Split(), FEM_Refine_Operation(), FEM_remove_element(), ArmciVirtualProcessor::fence(), fillLocalAdaptAdjacencies(), FEM_MUtil::findGhostSend(), IDXL_Side::findLocalList(), IDXL_List::get(), BulkAdapt::get_elemsToLock(), getAndDumpAdaptAdjacencies(), FEM_Entity::getAttrs(), femMeshModify::getfmLockN(), LBInfo::getInfo(), CkArrayOptions::getListeners(), IDXL_Side::getListN(), IDXL_Side::getMap(), FEM_Partition::getRegions(), getRoccomPconn(), interpolateNode(), FEM_Adapt::isFixedNode(), femMeshModify::isFixedNodeRemote(), LBDBInit::LBDBInit(), HybridBaseLB::Loadbalancing(), FEM_lock::lock(), ParFUMShadowArray::lockRegion(), ParFUMShadowArray::lockReply(), IDXL_Chunk::lookup(), makeGhost(), NumberedVec< CkVec< int > >::makeLonger(), HbmLB::MigrationDone(), MulticastAgent::my_preferred_procs(), InfoStruct::myfree(), ArmciVirtualProcessor::nbget(), ArmciVirtualProcessor::nbget_implicit(), ArmciVirtualProcessor::nbgets(), ArmciVirtualProcessor::nbgets_implicit(), ArmciVirtualProcessor::nbput(), ArmciVirtualProcessor::nbput_implicit(), ArmciVirtualProcessor::nbputs(), ArmciVirtualProcessor::nbputs_implicit(), CpdPythonGroup::nextIteratorUpdate(), ArmciVirtualProcessor::notify_wait(), FEM_Sym_List::operator=(), NumberedVec< CkVec< int > >::operator[](), CkRegisteredInfo< T >::operator[](), CkRegisteredInfo< T >::outOfBounds(), femMeshModify::packElemData(), FEM_MUtil::packEntData(), ParFUM_generateGlobalNodeNumbers(), HybridBaseLB::PropagateInfo(), IDXL_Chunk::pup(), PUPmarshall(), IDXL_List::push_back(), FEM_T_List< FEM_Mesh >::put(), ArmciVirtualProcessor::put(), ArmciVirtualProcessor::puts(), OrbLB::rec_divide(), HybridBaseLB::ReceiveMigration(), HbmLB::ReceiveMigrationDelta(), HybridBaseLB::ReceiveVectorMigration(), DistributedLB::RecvAck(), threadCollideMgr::registerContributor(), CkArray::remoteBeginInserting(), threadCollideMgr::remoteCollisions(), CkArray::remoteDoneInserting(), removeFromAdaptAdj(), IDXL_Side::removeNode(), BaseLB::LDStats::removeObject(), replaceAdaptAdjOnEdge(), searchAdjElemInList(), ArmciVirtualProcessor::sendNote(), IDXL_List::set(), femMeshModify::setPointersAfterMigrate(), MSA_Listeners::signal(), MSA_Listeners::size(), IDXL_Side::size(), IDXL_List::size(), FEM_T_List< FEM_Mesh >::size(), NumberedVec< CkVec< int > >::size(), CkRegisteredInfo< T >::size(), IDXL_Side::sort2d(), IDXL_List::sort2d(), IDXL_Side::sort3d(), IDXL_List::sort3d(), sortNodeList(), HybridBaseLB::StartCollectInfo(), IDXL_Chunk::storeToFreeIndex(), TCHARM_Register_thread_function(), taskGraphArray::tryToSolve(), FEM_lock::unlock(), IDXL_List::unset(), BulkAdapt::update_local_edge_adj(), FEM_MUtil::updateAttrs(), femMeshModify::updateNodeAttrs(), HybridBaseLB::LevelData::useMem(), HybridBaseLB::useMem(), HbmLB::LevelData::useMem(), TraceBluegene::userBracketEvent(), ArmciVirtualProcessor::waitall(), ArmciVirtualProcessor::waitproc(), OrbLB::work(), GreedyCommLB::work(), CkRegisteredInfo< T >::~CkRegisteredInfo(), IDXL_Chunk::~IDXL_Chunk(), and MSA_Listeners::~MSA_Listeners().
Definition at line 300 of file cklists.h.
Referenced by pupCkVec().
Reimplemented in CkPupPtrVec< T, PUP_PTR >, CkPupAblePtrVec< T >, CkPupPtrVec< InfoStruct >, CkPupPtrVec< arrInfo >, CkPupPtrVec< IDXL_List, CkPupAlwaysAllocatePtr< IDXL_List > >, CkPupPtrVec< win_obj >, CkPupPtrVec< T >, CkPupPtrVec< KeyvalPair >, CkPupPtrVec< FEM_Mesh >, CkPupPtrVec< groupStruct >, CkPupPtrVec< CkVec< int >, CkPupAlwaysAllocatePtr< CkVec< int > > >, CkPupPtrVec< arrayMapInfo >, CkPupPtrVec< Armci_Note >, CkPupPtrVec< KeyvalNode >, CkPupPtrVec< ampiCommStruct >, CkPupPtrVec< WinStruct >, CkPupPtrVec< T, CkPupAlwaysAllocatePtr< T > >, CkPupPtrVec< Armci_Hdl >, CkPupAblePtrVec< CkArrayListener >, and CkPupAblePtrVec< FEM_Sym_Desc >.
void CkVec< T >::quickSort | ( | ) | [inline] |
Definition at line 315 of file cklists.h.
Referenced by addElementNodeSetData(), replyAdjacencyRequests(), sortNodeList(), uniquify(), and UniqElemList< T >::uniquify().
Definition at line 324 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::q_sort(), and CkVec< CkZeroPtr< T, PUP_PTR > >::quickSort().
Definition at line 369 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::q_sort().
Definition at line 186 of file cklists.h.
Referenced by CkCompactVec< T >::copyFrom(), and CkVec< CkZeroPtr< T, PUP_PTR > >::copyFrom().
Definition at line 187 of file cklists.h.
Referenced by CkVec< CkZeroPtr< T, PUP_PTR > >::capacity(), CkCompactVec< T >::copyFrom(), CkVec< CkZeroPtr< T, PUP_PTR > >::copyFrom(), CkVec< CkZeroPtr< T, PUP_PTR > >::freeBlock(), CkVec< CkZeroPtr< T, PUP_PTR > >::growAtLeast(), CkVec< CkZeroPtr< T, PUP_PTR > >::makeBlock(), and CkVec< CkZeroPtr< T, PUP_PTR > >::reserve().
Definition at line 188 of file cklists.h.
Referenced by CkCompactVec< T >::copyFrom(), CkVec< CkZeroPtr< T, PUP_PTR > >::copyFrom(), CkVec< CkZeroPtr< T, PUP_PTR > >::freeBlock(), CkVec< CkZeroPtr< T, PUP_PTR > >::insert(), CkVec< CkZeroPtr< T, PUP_PTR > >::length(), CkVec< CkZeroPtr< T, PUP_PTR > >::makeBlock(), CkVec< CkZeroPtr< T, PUP_PTR > >::operator[](), CkVec< CkZeroPtr< T, PUP_PTR > >::pupbase(), CkVec< CkZeroPtr< T, PUP_PTR > >::quickSort(), CkVec< CkZeroPtr< T, PUP_PTR > >::remove(), CkVec< CkZeroPtr< T, PUP_PTR > >::removeAll(), CkVec< CkZeroPtr< T, PUP_PTR > >::reserve(), CkVec< CkZeroPtr< T, PUP_PTR > >::resize(), and CkVec< CkZeroPtr< T, PUP_PTR > >::size().