ESyS-Particle  2.3
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

template<typename TmplParticleCollection>
typedef std::set<int> esys::lsm::Packer< TmplParticleCollection >::IdSet
protected
template<typename TmplParticleCollection>
typedef CircularNeighbourTable<Particle> esys::lsm::Packer< TmplParticleCollection >::NTable
template<typename TmplParticleCollection>
typedef boost::shared_ptr<NTable> esys::lsm::Packer< TmplParticleCollection >::NTablePtr
template<typename TmplParticleCollection>
typedef Packer<ParticleCollection> esys::lsm::Packer< TmplParticleCollection >::PackerBase
template<typename TmplParticleCollection>
typedef ParticleCollection::Particle esys::lsm::Packer< TmplParticleCollection >::Particle
template<typename TmplParticleCollection>
typedef TmplParticleCollection esys::lsm::Packer< TmplParticleCollection >::ParticleCollection
template<typename TmplParticleCollection>
typedef boost::shared_ptr<ParticleCollection> esys::lsm::Packer< TmplParticleCollection >::ParticleCollectionPtr
template<typename TmplParticleCollection>
typedef ParticleCollection::ParticleConstIterator esys::lsm::Packer< TmplParticleCollection >::ParticleConstIterator
template<typename TmplParticleCollection>
typedef ParticleCollection::ParticleIterator esys::lsm::Packer< TmplParticleCollection >::ParticleIterator
template<typename TmplParticleCollection>
typedef boost::object_pool<Particle> esys::lsm::Packer< TmplParticleCollection >::ParticlePool
template<typename TmplParticleCollection>
typedef boost::shared_ptr<ParticlePool> esys::lsm::Packer< TmplParticleCollection >::ParticlePoolPtr

Constructor & Destructor Documentation

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

Member Function Documentation

template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::Particle & esys::lsm::Packer< TmplParticleCollection >::constructParticle ( const Particle &  particle)
template<typename TmplParticleCollection >
bool esys::lsm::Packer< TmplParticleCollection >::contains ( const Particle &  particle) const
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::Particle & esys::lsm::Packer< TmplParticleCollection >::createAndInsertParticle ( const Particle &  particle)
template<typename TmplParticleCollection>
virtual void esys::lsm::Packer< TmplParticleCollection >::generate ( )
pure virtual

Implemented in esys::lsm::PackerPy.

template<typename TmplParticleCollection >
int esys::lsm::Packer< TmplParticleCollection >::getNextParticleId ( )
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::NTable & esys::lsm::Packer< TmplParticleCollection >::getNTable ( )
template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::NTable & esys::lsm::Packer< TmplParticleCollection >::getNTable ( ) const
template<typename TmplParticleCollection >
int esys::lsm::Packer< TmplParticleCollection >::getNumParticles ( ) const
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleCollection & esys::lsm::Packer< TmplParticleCollection >::getParticleCollection ( )
template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::ParticleCollection & esys::lsm::Packer< TmplParticleCollection >::getParticleCollection ( ) const
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleIterator esys::lsm::Packer< TmplParticleCollection >::getParticleIterator ( )
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticleConstIterator esys::lsm::Packer< TmplParticleCollection >::getParticleIterator ( ) const
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticlePool & esys::lsm::Packer< TmplParticleCollection >::getParticlePool ( )
template<typename TmplParticleCollection >
const Packer< TmplParticleCollection >::ParticlePool & esys::lsm::Packer< TmplParticleCollection >::getParticlePool ( ) const
template<typename TmplParticleCollection >
Packer< TmplParticleCollection >::ParticlePoolPtr esys::lsm::Packer< TmplParticleCollection >::getParticlePoolPtr ( )
template<typename TmplParticleCollection >
void esys::lsm::Packer< TmplParticleCollection >::setNTablePtr ( NTablePtr  nTablePtr)

Member Data Documentation

template<typename TmplParticleCollection>
IdSet esys::lsm::Packer< TmplParticleCollection >::m_idSet
private
template<typename TmplParticleCollection>
NTablePtr esys::lsm::Packer< TmplParticleCollection >::m_nTablePtr
private
template<typename TmplParticleCollection>
ParticleCollectionPtr esys::lsm::Packer< TmplParticleCollection >::m_particleCollectionPtr
private
template<typename TmplParticleCollection>
ParticlePoolPtr esys::lsm::Packer< TmplParticleCollection >::m_particlePoolPtr
private

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