NAMD
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
ResizeArray< Elem > Class Template Reference

#include <packmsg.h>

Inheritance diagram for ResizeArray< Elem >:
SortableResizeArray< Elem > SortedArray< Elem > UniqueSortedArray< Elem >

Public Types

typedef Elem * iterator
 
typedef const Elem * const_iterator
 

Public Member Functions

iterator begin (void)
 
iterator end (void)
 
const_iterator const_begin (void) const
 
const_iterator const_end (void) const
 
 ResizeArray (void)
 
 ResizeArray (int s)
 
void copy (ResizeArray< Elem > &ra)
 
void swap (ResizeArray< Elem > &ra)
 
bool shared () const
 
 ResizeArray (Elem **array, int arraySize, int allocSize=0)
 
 ~ResizeArray (void)
 
void resize (int i)
 
void reserve (int i)
 
void clear ()
 
void setall (const Elem &elem)
 
int add (const Elem &elem)
 
void del (int index, int num=1)
 
int insert (const Elem &elem, int index)
 
Elem & item (int i)
 
Elem & operator[] (int index)
 
const Elem & operator[] (int index) const
 
int size (void) const
 
int find (const Elem &e) const
 

Protected Attributes

ResizeArrayRaw< Elem > rep
 

Friends

class ResizeArrayIter< Elem >
 

Detailed Description

template<class Elem>
class ResizeArray< Elem >

Definition at line 29 of file packmsg.h.

Member Typedef Documentation

◆ const_iterator

template<class Elem>
typedef const Elem* ResizeArray< Elem >::const_iterator

Definition at line 38 of file ResizeArray.h.

◆ iterator

template<class Elem>
typedef Elem* ResizeArray< Elem >::iterator

Definition at line 35 of file ResizeArray.h.

Constructor & Destructor Documentation

◆ ResizeArray() [1/3]

template<class Elem>
ResizeArray< Elem >::ResizeArray ( void  )
inline

Definition at line 43 of file ResizeArray.h.

43 { }

◆ ResizeArray() [2/3]

template<class Elem>
ResizeArray< Elem >::ResizeArray ( int  s)
inline

Definition at line 46 of file ResizeArray.h.

46  {
47  rep.resize(s);
48  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ ResizeArray() [3/3]

template<class Elem>
ResizeArray< Elem >::ResizeArray ( Elem **  array,
int  arraySize,
int  allocSize = 0 
)
inline

Definition at line 77 of file ResizeArray.h.

77  :
78  rep(array, arraySize, allocSize) { }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ ~ResizeArray()

template<class Elem>
ResizeArray< Elem >::~ResizeArray ( void  )
inline

Definition at line 80 of file ResizeArray.h.

80 { rep.free(); }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

Member Function Documentation

◆ add()

template<class Elem>
int ResizeArray< Elem >::add ( const Elem &  elem)
inline

Definition at line 101 of file ResizeArray.h.

Referenced by MigrateAtomsCombinedMsg::add(), VDWTable::add14Type(), GenericMol::addAngle(), GenericMol::addAtom(), GenericMol::addBond(), GenericMol::addDihedral(), GlobalMasterEasy::addForce(), GlobalMasterFreeEnergy::addForce(), PairTable::addPairGaussType2(), PairTable::addPairLJType2(), AtomTable::addType(), BondTable::addType(), AngleTable::addType(), DihedralTable::addType(), VDWTable::addType(), CollectionMgr::CollectVectorInstance::append(), Parameters::assign_vdw_index(), CudaComputeNonbonded::assignPatchesOnPe(), PatchMap::basePatchIDList(), Molecule::build_go_sigmas2(), GlobalMasterTest::calculate(), GlobalMasterIMD::calculate(), colvarproxy_namd::calculate(), WorkDistrib::createAtomLists(), ProxyPatch::depositCombinedResultMsg(), ProxyPatch::depositCombinedResultRawMsg(), HomePatch::depositMigration(), HomePatch::doAtomMigration(), ComputeGlobal::doWork(), CollectionMaster::CollectVectorSequence::enqueue(), ProxyCombinedResultMsg::fromRaw(), BondTable::getIndex(), AngleTable::getIndex(), ObjectArena< char >::getNewArray(), GromacsTopFile::GromacsTopFile(), PatchMap::homePatchIDList(), colvarproxy_namd::init_atom(), colvarproxy_namd::init_volmap_by_id(), colvarproxy_namd::init_volmap_by_name(), ComputeQM::initialize(), ComputePmeMgr::initialize(), ParallelIOMgr::migrateAtomsMGrp(), ComputePme::noWork(), ComputeQM::processFullQM(), ComputeMgr::recvComputeGlobalResults(), ProxyMgr::recvNodeAwareSpanningTree(), ComputeQMMgr::recvPartQM(), ProxyMgr::recvSpanningTree(), HomePatch::registerProxy(), ProxyMgr::removeUnusedProxies(), GlobalMasterEasy::requestAtom(), GlobalMasterFreeEnergy::requestAtom(), ComputeGlobal::saveTotalForces(), ParallelIOMgr::sendAtomsToHomePatchProcs(), PatchMgr::sendMigrationMsgs(), colvarproxy_namd::update_atoms_map(), ComputeMgr::updateLocalComputes(), and ParallelIOMgr::wrapCoor().

101  {
102  int end=rep.size();
103  rep.ins(elem, end);
104  return(end);
105  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
iterator end(void)
Definition: ResizeArray.h:37

◆ begin()

template<class Elem>
iterator ResizeArray< Elem >::begin ( void  )
inline

Definition at line 36 of file ResizeArray.h.

Referenced by Sequencer::addForceToMomentum(), Sequencer::addForceToMomentum3(), Sequencer::addMovDragToPosition(), Sequencer::addRotDragToPosition(), Sequencer::addVelocityToPosition(), CollectionMaster::CollectVectorInstance::append(), CollectionMaster::CollectVectorInstanceDcdSelection::append(), Sequencer::berendsenPressure(), Molecule::build_go_sigmas2(), WorkDistrib::buildNodeAwarePeOrdering(), HomePatch::buildSpanningTree(), Sequencer::calcFixVirial(), Sequencer::calcKineticEnergy(), colvarproxy_namd::calculate(), ComputeGridForce::checkGridForceRatio(), Sequencer::correctMomentum(), WorkDistrib::createAtomLists(), ComputeGridForce::createGridForcedIdxList(), ProxyPatch::depositCombinedResultMsg(), ProxyPatch::depositCombinedResultRawMsg(), HomePatch::depositMigration(), CollectionMaster::disposeForces(), CollectionMaster::disposePositions(), CollectionMaster::disposeVelocities(), HomePatch::doAtomMigration(), HomePatch::doGroupSizeCheck(), HomePatch::doMarginCheck(), HomePatch::doPairlistCheck(), ComputeHomePatch::doWork(), ComputePme::doWork(), ComputeHomeTuples< TholeElem, Thole, TholeValue >::doWork(), HomePatch::exchangeAtoms(), Patch::forceBoxClosed(), ProxyCombinedResultMsg::fromRaw(), HomePatch::gbisP2Ready(), HomePatch::gbisP3Ready(), ProxyResultVarsizeMsg::getANewMsg(), Patch::getCompAtomExtInfo(), Patch::getCompAtomInfo(), PairTable::getPairGaussArrays2(), PairTable::getPairLJArrays2(), ComputePmeMgr::initialize(), Sequencer::integrate(), Sequencer::langevinPiston(), Sequencer::langevinVelocities(), Sequencer::langevinVelocitiesBBK1(), Sequencer::langevinVelocitiesBBK2(), CudaComputeNonbonded::launchWork(), Sequencer::maximumMove(), Sequencer::maximumMove_SOA(), ParallelIOMgr::migrateAtomsMGrp(), Sequencer::minimizationQuenchVelocity(), Sequencer::minimize(), HomePatch::minimize_rattle2(), Sequencer::minimizeMoveDownhill(), PatchMgr::moveAllBy(), Sequencer::multigratorPressure(), Sequencer::multigratorTemperature(), Sequencer::newMinimizeDirection(), Sequencer::newMinimizePosition(), outputCompressedFile(), Patch::positionsReady(), HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), Molecule::prepare_qm(), HomePatch::qmSwapAtoms(), Sequencer::quenchVelocities(), Sequencer::reassignVelocities(), ProxyPatch::receiveAll(), ProxyPatch::receiveData(), CollectionMaster::receiveDataStream(), HomePatch::receiveResults(), PmeZPencil::recv_grid(), HomePatch::recvCheckpointLoad(), HomePatch::recvCheckpointReq(), HomePatch::recvCheckpointStore(), GlobalMasterServer::recvData(), HomePatch::recvExchangeMsg(), ComputeGlobal::recvResults(), HomePatch::registerProxy(), Sequencer::reinitVelocities(), Sequencer::reloadCharges(), ProxyMgr::removeUnusedProxies(), Sequencer::rescaleSoluteCharges(), Sequencer::rescaleVelocities(), Sequencer::rescaleVelocitiesByFactor(), HomePatch::revert(), Sequencer::runComputeObjects(), ComputeGlobal::saveTotalForces(), Sequencer::scalePositionsVelocities(), Sequencer::scaleVelocities(), ParallelIOMgr::sendAtomsToHomePatchProcs(), CollectionMgr::sendDataStream(), HomePatch::sendProxies(), ProxyMgr::sendSpanningTrees(), PmeRealSpace::set_num_atoms(), ResizeArray< GromacsPairElem >::setall(), PatchMgr::setLattice(), WorkDistrib::sortPmePes(), Sequencer::stochRescaleVelocities(), CollectionMgr::submitForces(), Sequencer::submitHalfstep(), Sequencer::submitMinimizeReductions(), Sequencer::submitMomentum(), Sequencer::submitReductions(), CollectionMgr::submitVelocities(), Sequencer::tcoupleVelocities(), ProxyCombinedResultMsg::toRaw(), ComputePme::ungridForces(), ProxyResultMsg::unpack(), HomePatch::unregisterProxy(), HomePatch::~HomePatch(), and ProxyPatch::~ProxyPatch().

36 { return rep.array; }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ clear()

template<class Elem>
void ResizeArray< Elem >::clear ( )
inline

◆ const_begin()

template<class Elem>
const_iterator ResizeArray< Elem >::const_begin ( void  ) const
inline

Definition at line 39 of file ResizeArray.h.

Referenced by Sequencer::addForceToMomentum(), Sequencer::addForceToMomentum3(), and Sequencer::rattle1().

39 { return rep.array; }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ const_end()

template<class Elem>
const_iterator ResizeArray< Elem >::const_end ( void  ) const
inline

Definition at line 40 of file ResizeArray.h.

40 { return rep.array + rep.arraySize; }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ copy()

template<class Elem>
void ResizeArray< Elem >::copy ( ResizeArray< Elem > &  ra)
inline

Definition at line 59 of file ResizeArray.h.

Referenced by HomePatch::checkpoint(), ProxyMgr::recvSpanningTree(), HomePatch::revert(), and HomePatch::sendSpanningTree().

59  {
60  rep.copy(ra.rep);
61  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ del()

template<class Elem>
void ResizeArray< Elem >::del ( int  index,
int  num = 1 
)
inline

◆ end()

template<class Elem>
iterator ResizeArray< Elem >::end ( void  )
inline

◆ find()

template<class Elem>
int ResizeArray< Elem >::find ( const Elem &  e) const
inline

Definition at line 141 of file ResizeArray.h.

Referenced by HomePatch::buildSpanningTree(), and ProxyMgr::buildSpanningTree0().

141 { return rep.find(e); }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ insert()

template<class Elem>
int ResizeArray< Elem >::insert ( const Elem &  elem,
int  index 
)
inline

Definition at line 113 of file ResizeArray.h.

Referenced by UniqueSortedArray< PatchElem >::insert().

113  {
114  rep.ins(elem,index);
115  return (index);
116  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
Index index
Definition: Parameters.C:155

◆ item()

template<class Elem>
Elem& ResizeArray< Elem >::item ( int  i)
inline

Definition at line 119 of file ResizeArray.h.

Referenced by GlobalMasterTest::calculate(), GlobalMasterIMD::calculate(), and ProxyMgr::recvNodeAwareSpanningTree().

119  {
120  i = ( i < 0 ? 0 : i );
121  if ((i+1) > size())
122  resize(i+1);
123  return rep.array[i];
124  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
int size(void) const
Definition: ResizeArray.h:131
void resize(int i)
Definition: ResizeArray.h:84

◆ operator[]() [1/2]

template<class Elem>
Elem& ResizeArray< Elem >::operator[] ( int  index)
inline

Definition at line 127 of file ResizeArray.h.

127 { return rep.array[index]; }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
Index index
Definition: Parameters.C:155

◆ operator[]() [2/2]

template<class Elem>
const Elem& ResizeArray< Elem >::operator[] ( int  index) const
inline

Definition at line 128 of file ResizeArray.h.

128 { return rep.array[index]; }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31
Index index
Definition: Parameters.C:155

◆ reserve()

template<class Elem>
void ResizeArray< Elem >::reserve ( int  i)
inline

Definition at line 88 of file ResizeArray.h.

88 { rep.resizeRaw(i); }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ resize()

template<class Elem>
void ResizeArray< Elem >::resize ( int  i)
inline

Definition at line 84 of file ResizeArray.h.

Referenced by CollectionMaster::CollectVectorInstance::append(), CollectionMaster::CollectVectorInstanceDcdSelection::append(), PatchMap::basePatchIDList(), HomePatch::buildSpanningTree(), ProxyMgr::buildSpanningTree0(), GlobalMasterTest::calculate(), GlobalMasterTcl::calculate(), GlobalMasterIMD::calculate(), colvarproxy_namd::calculate(), ComputeGlobal::ComputeGlobal(), ComputeTclBC::ComputeTclBC(), Rebalancer::createSpanningTree(), MigrateAtomsCombinedMsg::distribute(), HomePatch::doAtomMigration(), HomePatch::doPairlistCheck(), ComputePme::doWork(), PDB::find_extremes(), Patch::forceBoxClosed(), ProxyCombinedResultMsg::fromRaw(), PatchMap::homePatchIDList(), colvarproxy_namd::init_atom_group(), ComputeHomePatches::initialize(), ComputeQM::initialize(), ComputePmeMgr::initialize(), ResizeArray< GromacsPairElem >::item(), HomePatch::loweAndersenFinish(), HomePatch::loweAndersenVelocities(), lssDistSort::lssDistSort(), HomePatch::mollyAverage(), HomePatch::mollyMollify(), lssDistSort::operator=(), outputCompressedFile(), Patch::positionsReady(), HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), ProxyPatch::receiveAll(), ProxyPatch::receiveData(), HomePatch::recvCheckpointLoad(), HomePatch::recvCheckpointStore(), HomePatch::recvExchangeMsg(), ProxyMgr::recvPatchProxyInfo(), ProxyMgr::recvProxies(), ComputeGlobal::recvResults(), HomePatch::recvSpanningTree(), CollectionMgr::CollectVectorInstance::reset(), CollectionMaster::CollectVectorInstance::reset(), HomePatch::saveForce(), CollectionMgr::sendDataStream(), PatchMgr::sendMigrationMsgs(), PatchMgr::sendMovePatches(), PmeRealSpace::set_num_atoms(), HomePatch::setGBISIntrinsicRadii(), HomePatch::setLcpoType(), ComputePmeMgr::submitReductions(), ComputePme::ungridForces(), ProxyResultMsg::unpack(), ComputeMgr::updateLocalComputes(), Parameters::~Parameters(), and ProxyPatch::~ProxyPatch().

84 { rep.resize(i); }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ setall()

template<class Elem>
void ResizeArray< Elem >::setall ( const Elem &  elem)
inline

Definition at line 94 of file ResizeArray.h.

Referenced by HomePatch::buildSpanningTree(), ProxyMgr::buildSpanningTree0(), GlobalMasterTcl::calculate(), colvarproxy_namd::calculate(), Patch::positionsReady(), and HomePatch::setGBISIntrinsicRadii().

94  {
95  iterator i = begin();
96  iterator e = end();
97  for ( ; i != e; ++i ) *i = elem;
98  }
Elem * iterator
Definition: ResizeArray.h:35
iterator begin(void)
Definition: ResizeArray.h:36
iterator end(void)
Definition: ResizeArray.h:37

◆ shared()

template<class Elem>
bool ResizeArray< Elem >::shared ( ) const
inline

Definition at line 72 of file ResizeArray.h.

Referenced by PatchMgr::sendAtoms(), PatchMgr::sendMovePatches(), and PatchMgr::sendOneHomePatch().

72  {
73  return 0;
74  }

◆ size()

template<class Elem>
int ResizeArray< Elem >::size ( void  ) const
inline

Definition at line 131 of file ResizeArray.h.

Referenced by MigrateAtomsCombinedMsg::add(), CollectionMgr::CollectVectorInstance::append(), Parameters::assign_vdw_index(), CudaComputeNonbonded::assignPatchesOnPe(), HomePatch::boxClosed(), SortableResizeArray< PatchElem >::bsearch(), ProxyMgr::buildProxySpanningTree(), ProxyMgr::buildProxySpanningTree2(), HomePatch::buildSpanningTree(), ProxyMgr::buildSpanningTree0(), GlobalMasterTest::calculate(), GlobalMasterIMD::calculate(), ComputePmeMgr::chargeGridReady(), GlobalMaster::check(), ComputeHomeTuples< TholeElem, Thole, TholeValue >::ComputeHomeTuples(), ComputePmeCUDA::ComputePmeCUDA(), WorkDistrib::createAtomLists(), WorkDistrib::createHomePatches(), ProxyMgr::createProxies(), Rebalancer::decrSTLoad(), SortedArray< PatchElem >::del(), HomePatch::depositMigration(), CollectionMaster::disposeForces(), CollectionMaster::disposePositions(), CollectionMaster::disposeVelocities(), MigrateAtomsCombinedMsg::distribute(), HomePatch::doAtomMigration(), ComputeMsm::doWork(), ComputePme::doWork(), ComputeQM::doWork(), ComputeHomeTuples< TholeElem, Thole, TholeValue >::doWork(), ComputeMgr::enableComputeGlobalResults(), ResizeArrayPrimIter< T >::end(), ResizeArrayIter< PatchElem >::end(), HomePatch::gbisP2Ready(), HomePatch::gbisP3Ready(), GlobalMasterIMD::get_vmd_forces(), ProxyResultVarsizeMsg::getANewMsg(), GenericMol::getAngle(), GromacsTopFile::getAngle(), GenericMol::getAtom(), GromacsTopFile::getAtom(), GenericMol::getBond(), GromacsTopFile::getBond(), GenericMol::getDihedral(), GromacsTopFile::getDihedral(), GromacsTopFile::getExclusions(), BondTable::getIndex(), AngleTable::getIndex(), DihedralTable::getIndex(), GenericMol::getNumAngles(), GromacsTopFile::getNumAngles(), GenericMol::getNumAtoms(), GromacsTopFile::getNumAtoms(), GenericMol::getNumBonds(), GromacsTopFile::getNumBonds(), Patch::getNumComputes(), GenericMol::getNumDihedrals(), GromacsTopFile::getNumDihedrals(), GenericMol::getNumRes(), AtomTable::getParams(), BondTable::getParams(), AngleTable::getParams(), DihedralTable::getParams(), AtomTable::getType(), GromacsTopFile::GromacsTopFile(), Rebalancer::incrSTLoad(), colvarproxy_namd::init_atom_group(), ComputeHomePatches::initialize(), ComputePmeMgr::initialize(), ResizeArray< GromacsPairElem >::item(), lssDistSort::lssDistSort(), ParallelIOMgr::migrateAtomsMGrp(), PmeZPencil::node_process_grid(), ComputePme::noWork(), lssDistSort::operator=(), lssDistSort::operator==(), outputProxyTree(), Patch::positionsReady(), HomePatch::positionsReady(), HomePatch::positionsReady_SOA(), Molecule::prepare_qm(), ComputeQM::processFullQM(), ComputeQMMgr::procQMRes(), HomePatch::receiveResult(), ComputeMgr::recvComputeConsForceMsg(), GlobalMasterServer::recvData(), ParallelIOMgr::recvFinalClusterCoor(), ComputeQMMgr::recvFullQM(), PatchMgr::recvMigrateAtomsCombined(), ProxyMgr::recvNodeAwareSpanningTree(), ComputeQMMgr::recvPartQM(), ComputeQMMgr::recvPntChrg(), ComputePmeMgr::recvRecipEvir(), ComputeGlobal::recvResults(), ProxyMgr::recvSpanningTree(), HomePatch::recvSpanningTree(), Patch::registerDEdaSumDeposit(), Patch::registerForceDeposit(), HomePatch::registerProxy(), Patch::registerPsiSumDeposit(), CollectionMaster::CollectVectorSequence::removeReady(), CollectionMaster::CollectVectorSequenceDcdSelection::removeReady(), HomePatch::revert(), ComputeQM::saveResults(), PmeZPencil::send_all_ungrid(), GlobalMasterIMD::send_energies(), GlobalMasterIMD::send_fcoords(), ParallelIOMgr::sendAtomsToHomePatchProcs(), ComputePmeMgr::sendChargeGridReady(), PatchMgr::sendMigrationMsgs(), PatchMgr::sendMovePatches(), HomePatch::sendProxies(), HomePatch::sendSpanningTree(), ProxyMgr::sendSpanningTrees(), colvarproxy_namd::setup(), AtomTable::size(), BondTable::size(), AngleTable::size(), DihedralTable::size(), SortableResizeArray< PatchElem >::sort(), CollectionMgr::submitForces(), CollectionMgr::submitPositions(), ComputePmeMgr::submitReductions(), CollectionMgr::submitVelocities(), ProxyCombinedResultMsg::toRaw(), ComputePmeMgr::ungridCalc(), colvarproxy_namd::update_group_properties(), ComputeMgr::updateLocalComputes3(), ParallelIOMgr::wrapCoor(), GlobalMasterIMD::~GlobalMasterIMD(), ObjectArena< char >::~ObjectArena(), and Parameters::~Parameters().

131 { return rep.size(); }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

◆ swap()

template<class Elem>
void ResizeArray< Elem >::swap ( ResizeArray< Elem > &  ra)
inline

Definition at line 64 of file ResizeArray.h.

Referenced by HomePatch::buildSpanningTree(), ProxyMgr::buildSpanningTree0(), and MovePatchesMsg::MovePatchesMsg().

64  {
65  // uses synthesized copy constructor and assignment operator
67  rep = ra.rep;
68  ra.rep = tmp;
69  }
ResizeArrayRaw< Elem > rep
Definition: ResizeArray.h:31

Friends And Related Function Documentation

◆ ResizeArrayIter< Elem >

template<class Elem>
friend class ResizeArrayIter< Elem >
friend

Definition at line 28 of file ResizeArray.h.

Member Data Documentation

◆ rep

template<class Elem>
ResizeArrayRaw<Elem> ResizeArray< Elem >::rep
protected

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