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< ParticleCollection > PackerBase
 
typedef boost::shared_ptr< ParticleCollection > ParticleCollectionPtr
 
typedef ParticleCollection::Particle Particle
 
typedef boost::object_pool< Particle > ParticlePool
 
typedef boost::shared_ptr< ParticlePool > ParticlePoolPtr
 
typedef CircularNeighbourTable< Particle > NTable
 
typedef boost::shared_ptr< NTable > NTablePtr
 
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)
 
NTable & getNTable ()
 
const NTable & getNTable () const
 
ParticlePoolPtr getParticlePoolPtr ()
 
ParticlePool & getParticlePool ()
 
const ParticlePool & getParticlePool () const
 
ParticleCollection & getParticleCollection ()
 
const ParticleCollection & getParticleCollection () const
 
Particle & constructParticle (const Particle &particle)
 
ParticleIterator getParticleIterator ()
 
ParticleConstIterator getParticleIterator () const
 
bool contains (const Particle &particle) const
 
Particle & createAndInsertParticle (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: