ESyS-Particle  2.3.4
esys::lsm::Packer< TmplParticleCollection > Class Template Referenceabstract

#include <Packer.h>

Inheritance diagram for esys::lsm::Packer< TmplParticleCollection >:

Public Types

typedef TmplParticleCollection ParticleCollection
 
typedef Packer< ParticleCollectionPackerBase
 
typedef boost::shared_ptr< ParticleCollectionParticleCollectionPtr
 
typedef ParticleCollection::Particle Particle
 
typedef boost::object_pool< ParticleParticlePool
 
typedef boost::shared_ptr< ParticlePoolParticlePoolPtr
 
typedef CircularNeighbourTable< ParticleNTable
 
typedef boost::shared_ptr< NTableNTablePtr
 
typedef ParticleCollection::ParticleIterator ParticleIterator
 
typedef ParticleCollection::ParticleConstIterator ParticleConstIterator
 

Public Member Functions

 Packer (NTablePtr nTablePtr)
 
 Packer (ParticlePoolPtr particlePoolPtr, NTablePtr nTablePtr)
 
virtual ~Packer ()
 
virtual void generate ()=0
 
int getNumParticles () const
 
int getNextParticleId ()
 
void setNTablePtr (NTablePtr nTablePtr)
 
NTablegetNTable ()
 
const NTablegetNTable () const
 
ParticlePoolPtr getParticlePoolPtr ()
 
ParticlePoolgetParticlePool ()
 
const ParticlePoolgetParticlePool () const
 
ParticleCollectiongetParticleCollection ()
 
const ParticleCollectiongetParticleCollection () const
 
ParticleconstructParticle (const Particle &particle)
 
ParticleIterator getParticleIterator ()
 
ParticleConstIterator getParticleIterator () const
 
bool contains (const Particle &particle) const
 
ParticlecreateAndInsertParticle (const Particle &particle)
 

Protected Types

typedef std::set< int > IdSet
 

Private Attributes

NTablePtr m_nTablePtr
 
ParticlePoolPtr m_particlePoolPtr
 
ParticleCollectionPtr m_particleCollectionPtr
 
IdSet m_idSet
 

Member Typedef Documentation

◆ IdSet

template<typename TmplParticleCollection >
typedef std::set<int> esys::lsm::Packer< TmplParticleCollection >::IdSet
protected

◆ NTable

template<typename TmplParticleCollection >
typedef CircularNeighbourTable<Particle> esys::lsm::Packer< TmplParticleCollection >::NTable

◆ NTablePtr

template<typename TmplParticleCollection >
typedef boost::shared_ptr<NTable> esys::lsm::Packer< TmplParticleCollection >::NTablePtr

◆ PackerBase

template<typename TmplParticleCollection >
typedef Packer<ParticleCollection> esys::lsm::Packer< TmplParticleCollection >::PackerBase

◆ Particle

template<typename TmplParticleCollection >
typedef ParticleCollection::Particle esys::lsm::Packer< TmplParticleCollection >::Particle

◆ ParticleCollection

template<typename TmplParticleCollection >
typedef TmplParticleCollection esys::lsm::Packer< TmplParticleCollection >::ParticleCollection

◆ ParticleCollectionPtr

template<typename TmplParticleCollection >
typedef boost::shared_ptr<ParticleCollection> esys::lsm::Packer< TmplParticleCollection >::ParticleCollectionPtr

◆ ParticleConstIterator

template<typename TmplParticleCollection >
typedef ParticleCollection::ParticleConstIterator esys::lsm::Packer< TmplParticleCollection >::ParticleConstIterator

◆ ParticleIterator

template<typename TmplParticleCollection >
typedef ParticleCollection::ParticleIterator esys::lsm::Packer< TmplParticleCollection >::ParticleIterator

◆ ParticlePool

template<typename TmplParticleCollection >
typedef boost::object_pool<Particle> esys::lsm::Packer< TmplParticleCollection >::ParticlePool

◆ ParticlePoolPtr

template<typename TmplParticleCollection >
typedef boost::shared_ptr<ParticlePool> esys::lsm::Packer< TmplParticleCollection >::ParticlePoolPtr

Constructor & Destructor Documentation

◆ Packer() [1/2]

template<typename TmplParticleCollection >
esys::lsm::Packer< TmplParticleCollection >::Packer ( NTablePtr  nTablePtr)

◆ Packer() [2/2]

template<typename TmplParticleCollection >
esys::lsm::Packer< TmplParticleCollection >::Packer ( ParticlePoolPtr  particlePoolPtr,
NTablePtr  nTablePtr 
)

◆ ~Packer()

template<typename TmplParticleCollection >
esys::lsm::Packer< TmplParticleCollection >::~Packer
virtual

Member Function Documentation

◆ constructParticle()

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::Particle & esys::lsm::Packer< TmplParticleCollection >::constructParticle ( const Particle particle)

◆ contains()

template<typename TmplParticleCollection >
bool esys::lsm::Packer< TmplParticleCollection >::contains ( const Particle particle) const

◆ createAndInsertParticle()

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::Particle & esys::lsm::Packer< TmplParticleCollection >::createAndInsertParticle ( const Particle particle)

◆ generate()

template<typename TmplParticleCollection >
virtual void esys::lsm::Packer< TmplParticleCollection >::generate ( )
pure virtual

Implemented in esys::lsm::PackerPy.

◆ getNextParticleId()

template<typename TmplParticleCollection >
int esys::lsm::Packer< TmplParticleCollection >::getNextParticleId

◆ getNTable() [1/2]

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::NTable & esys::lsm::Packer< TmplParticleCollection >::getNTable

◆ getNTable() [2/2]

template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::NTable & esys::lsm::Packer< TmplParticleCollection >::getNTable

◆ getNumParticles()

template<typename TmplParticleCollection >
int esys::lsm::Packer< TmplParticleCollection >::getNumParticles

◆ getParticleCollection() [1/2]

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleCollection & esys::lsm::Packer< TmplParticleCollection >::getParticleCollection

◆ getParticleCollection() [2/2]

template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::ParticleCollection & esys::lsm::Packer< TmplParticleCollection >::getParticleCollection

◆ getParticleIterator() [1/2]

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleIterator esys::lsm::Packer< TmplParticleCollection >::getParticleIterator

◆ getParticleIterator() [2/2]

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleConstIterator esys::lsm::Packer< TmplParticleCollection >::getParticleIterator

◆ getParticlePool() [1/2]

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticlePool & esys::lsm::Packer< TmplParticleCollection >::getParticlePool

◆ getParticlePool() [2/2]

template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::ParticlePool & esys::lsm::Packer< TmplParticleCollection >::getParticlePool

◆ getParticlePoolPtr()

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticlePoolPtr esys::lsm::Packer< TmplParticleCollection >::getParticlePoolPtr

◆ setNTablePtr()

template<typename TmplParticleCollection >
void esys::lsm::Packer< TmplParticleCollection >::setNTablePtr ( NTablePtr  nTablePtr)

Member Data Documentation

◆ m_idSet

template<typename TmplParticleCollection >
IdSet esys::lsm::Packer< TmplParticleCollection >::m_idSet
private

◆ m_nTablePtr

template<typename TmplParticleCollection >
NTablePtr esys::lsm::Packer< TmplParticleCollection >::m_nTablePtr
private

◆ m_particleCollectionPtr

template<typename TmplParticleCollection >
ParticleCollectionPtr esys::lsm::Packer< TmplParticleCollection >::m_particleCollectionPtr
private

◆ m_particlePoolPtr

template<typename TmplParticleCollection >
ParticlePoolPtr esys::lsm::Packer< TmplParticleCollection >::m_particlePoolPtr
private

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