11 #ifndef PARTICLE_ATTRIB_ELEM_H
12 #define PARTICLE_ATTRIB_ELEM_H
55 return elem(indx[0], indx[1]);
60 return elem(indx[0], indx[1], indx[2]);
66 template<
class T,
unsigned Dim>
119 void destroy(
size_t M,
size_t I,
bool optDestroy=
true);
123 void destroy(
const std::vector< std::pair<size_t,size_t> >& dlist,
124 bool optDestroy=
true);
130 template<
unsigned SDim>
157 #ifdef __MWERKS__ // 1/8/99 Needed?
162 ERRORMSG(
"Attempting to copy particle attributes with unequal sizes.");
173 ERRORMSG(
"Attempting to copy particle attributes with unequal sizes.");
197 template <
class T,
unsigned Dim>
199 :
public PETE_Expr< ParticleAttribElemIterator<T,Dim> > {
243 template<
class T,
unsigned Dim>
250 template<
class T,
unsigned Dim>
256 template<
class T,
unsigned Dim>
260 Attrib.destroy(M, I, optDestroy);
263 template<
class T,
unsigned Dim>
267 Attrib.destroy(d, optDestroy);
271 #endif // PARTICLE_ATTRIB_ELEM_H
ParticleAttribElemIterator< T, Dim > & operator++()
ParticleAttribElemIterator(ParticleAttribElem< T, Dim > &pae, int p)
bool operator!=(const ParticleAttribElemIterator< T, Dim > &a) const
PETE_Expr_t MakeExpression() const
AppTypeTraits< T >::Element_t & get_PETE_Element(T &elem, const vec< unsigned, 1U > &indx)
Element_t & operator[](size_t)
ParticleAttribElem(const ParticleAttribElem< T, Dim > &pae)
void assign(const BareField< T, Dim > &a, RHS b, OP op, ExprTag< true >)
ParticleAttribElemIterator< T, Dim > iterator
const ParticleAttribElem< T, Dim > & getParticleAttribElem() const
ParticleAttribElemIterator(const ParticleAttribElemIterator< T, Dim > &i)
ParticleAttribElem(ParticleAttrib< T > &pa, const vec< unsigned, Dim > &i)
ParticleAttribElemIterator< T, Dim > & rewind()
void destroy(size_t M, size_t I, bool optDestroy=true)
const ParticleAttribElem< T, Dim > & operator=(const ParticleAttribElem< T, Dim > &rhs)
const ParticleAttribElem< T, Dim > & operator=(const PETE_Expr< T1 > &rhs)
ParticleAttribElemIterator()
ParticleAttribElemIterator< T, Dim > PETE_Expr_t
SubParticleAttrib< ParticleAttribElem< T, Dim >, Element_t, SDim > operator[](const SIndex< SDim > &s) const
AppTypeTraits< T >::Element_t PETE_Return_t
const ParticleAttribElem< T, Dim > & operator=(Element_t rhs)
PETE_Return_t & operator*()
PETE_Expr_t MakeExpression() const
bool operator==(const ParticleAttribElemIterator< T, Dim > &a) const
ParticleAttrib< T > & Attrib
vec< unsigned, Dim > indx
ParticleAttribElem< T, Dim > * PAE
AppTypeTraits< T >::Element_t Element_t
Inform & endl(Inform &inf)