Partio::ParticleIterator< constant > Class Template Reference

#include <PartioIterator.h>

List of all members.

Public Member Functions

 ParticleIterator ()
 Construct an invalid iterator.
 ParticleIterator (const ParticleIterator &other)
 Copy constructor. NOTE: Invalidates any accessors that have been registered with it.
 ParticleIterator (PROVIDER *particles, size_t index, size_t indexEnd)
bool valid () const
 Whether the iterator is valid.
ParticleIterator operator++ (int)
 Increment the iterator (postfix). Prefer the prefix form below to this one.
ParticleIteratoroperator++ ()
 Increment the iterator (prefix).
bool operator== (const ParticleIterator &other)
 Iterator comparison equals.
bool operator!= (const ParticleIterator &other)
 Iterator comparison not-equals.
void addAccessor (ParticleAccessor &newAccessor)

Public Attributes

size_t index
 Start of non-interleaved index of contiguous block.

Private Types

typedef PROVIDER< constant >::TYPE PROVIDER

Private Attributes

PROVIDERparticles
 Delegate, null if the iterator is false.
size_t indexEnd
 End of non-interleaved index of contiguous block.
ParticleAccessoraccessors
 This is used for both non-interleaved and interleaved particle attributes.

template<bool constant = false>
class Partio::ParticleIterator< constant >


Member Typedef Documentation

template<bool constant = false>
typedef PROVIDER<constant>::TYPE Partio::ParticleIterator< constant >::PROVIDER [private]

Constructor & Destructor Documentation

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator (  )  [inline]

Construct an invalid iterator.

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator ( const ParticleIterator< constant > &  other  )  [inline]

Copy constructor. NOTE: Invalidates any accessors that have been registered with it.

template<bool constant = false>
Partio::ParticleIterator< constant >::ParticleIterator ( PROVIDER particles,
size_t  index,
size_t  indexEnd 
) [inline]

Construct an iterator with iteration parameters. This is typically only called by implementations of Particle (not by users). For users, use begin() and end() on the particle type


Member Function Documentation

template<bool constant = false>
void Partio::ParticleIterator< constant >::addAccessor ( ParticleAccessor newAccessor  )  [inline]
template<bool constant = false>
bool Partio::ParticleIterator< constant >::operator!= ( const ParticleIterator< constant > &  other  )  [inline]

Iterator comparison not-equals.

References Partio::ParticleIterator< constant >::particles.

template<bool constant = false>
ParticleIterator& Partio::ParticleIterator< constant >::operator++ (  )  [inline]
template<bool constant = false>
ParticleIterator Partio::ParticleIterator< constant >::operator++ ( int   )  [inline]

Increment the iterator (postfix). Prefer the prefix form below to this one.

References Partio::ParticleIterator< constant >::index.

template<bool constant = false>
bool Partio::ParticleIterator< constant >::operator== ( const ParticleIterator< constant > &  other  )  [inline]
template<bool constant = false>
bool Partio::ParticleIterator< constant >::valid (  )  const [inline]

Whether the iterator is valid.

References Partio::ParticleIterator< constant >::particles.


Member Data Documentation

template<bool constant = false>
ParticleAccessor* Partio::ParticleIterator< constant >::accessors [private]

This is used for both non-interleaved and interleaved particle attributes.

Referenced by Partio::ParticleIterator< constant >::addAccessor().

template<bool constant = false>
size_t Partio::ParticleIterator< constant >::index

Start of non-interleaved index of contiguous block.

Referenced by Partio::ParticleIterator< constant >::operator++(), and Partio::ParticleIterator< constant >::operator==().

template<bool constant = false>
size_t Partio::ParticleIterator< constant >::indexEnd [private]

End of non-interleaved index of contiguous block.

Referenced by Partio::ParticleIterator< constant >::operator++().

template<bool constant = false>
PROVIDER* Partio::ParticleIterator< constant >::particles [private]

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

Generated on 5 Apr 2011 for Partio by  doxygen 1.6.1