OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
ParticleAttribElem< T, Dim > Class Template Reference

#include <ParticleAttribElem.h>

Inheritance diagram for ParticleAttribElem< T, Dim >:
Inheritance graph
[legend]
Collaboration diagram for ParticleAttribElem< T, Dim >:
Collaboration graph
[legend]

Public Types

enum  { IsExpr = 0 }
 
typedef AppTypeTraits< T >::Element_t Element_t
 
typedef ParticleAttribElemIterator< T, Dimiterator
 
typedef iterator PETE_Expr_t
 
- Public Types inherited from PETE_Expr< ParticleAttribElem< T, Dim > >
typedef ParticleAttribElem< T, DimWrapped
 

Public Member Functions

PETE_Expr_t MakeExpression () const
 
 ParticleAttribElem (ParticleAttrib< T > &pa, const vec< unsigned, Dim > &i)
 
 ParticleAttribElem (const ParticleAttribElem< T, Dim > &pae)
 
iterator begin () const
 
iterator end () const
 
size_t size () const
 
Element_toperator[] (size_t)
 
void create (size_t)
 
void destroy (size_t M, size_t I, bool optDestroy=true)
 
void destroy (const std::vector< std::pair< size_t, size_t > > &dlist, bool optDestroy=true)
 
template<unsigned SDim>
SubParticleAttrib< ParticleAttribElem< T, Dim >, Element_t, SDim > operator[] (const SIndex< SDim > &s) const
 
template<class T1 >
const ParticleAttribElem< T, Dim > & operator= (const PETE_Expr< T1 > &rhs)
 
const ParticleAttribElem< T, Dim > & operator= (const ParticleAttribElem< T, Dim > &rhs)
 
const ParticleAttribElem< T, Dim > & operator= (Element_t rhs)
 
- Public Member Functions inherited from PETE_Expr< ParticleAttribElem< T, Dim > >
ParticleAttribElem< T, Dim > & PETE_unwrap ()
 
const ParticleAttribElem< T, Dim > & PETE_unwrap () const
 

Private Attributes

ParticleAttrib< T > & Attrib
 
vec< unsigned, Dimindx
 

Friends

class ParticleAttribElemIterator< T, Dim >
 

Detailed Description

template<class T, unsigned Dim>
class ParticleAttribElem< T, Dim >

Definition at line 67 of file ParticleAttribElem.h.

Member Typedef Documentation

◆ Element_t

template<class T , unsigned Dim>
typedef AppTypeTraits<T>::Element_t ParticleAttribElem< T, Dim >::Element_t

Definition at line 73 of file ParticleAttribElem.h.

◆ iterator

template<class T , unsigned Dim>
typedef ParticleAttribElemIterator<T,Dim> ParticleAttribElem< T, Dim >::iterator

Definition at line 74 of file ParticleAttribElem.h.

◆ PETE_Expr_t

template<class T , unsigned Dim>
typedef iterator ParticleAttribElem< T, Dim >::PETE_Expr_t

Definition at line 80 of file ParticleAttribElem.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T , unsigned Dim>
anonymous enum
Enumerator
IsExpr 

Definition at line 79 of file ParticleAttribElem.h.

Constructor & Destructor Documentation

◆ ParticleAttribElem() [1/2]

template<class T , unsigned Dim>
ParticleAttribElem< T, Dim >::ParticleAttribElem ( ParticleAttrib< T > &  pa,
const vec< unsigned, Dim > &  i 
)
inline

Definition at line 86 of file ParticleAttribElem.h.

◆ ParticleAttribElem() [2/2]

template<class T , unsigned Dim>
ParticleAttribElem< T, Dim >::ParticleAttribElem ( const ParticleAttribElem< T, Dim > &  pae)
inline

Definition at line 90 of file ParticleAttribElem.h.

Member Function Documentation

◆ begin()

template<class T , unsigned Dim>
iterator ParticleAttribElem< T, Dim >::begin ( ) const
inline

Definition at line 94 of file ParticleAttribElem.h.

Referenced by ParticleAttribElem< T, Dim >::MakeExpression().

◆ create()

template<class T , unsigned Dim>
void ParticleAttribElem< T, Dim >::create ( size_t  M)
inline

Definition at line 230 of file ParticleAttribElem.h.

◆ destroy() [1/2]

template<class T , unsigned Dim>
void ParticleAttribElem< T, Dim >::destroy ( const std::vector< std::pair< size_t, size_t > > &  dlist,
bool  optDestroy = true 
)
inline

Definition at line 243 of file ParticleAttribElem.h.

◆ destroy() [2/2]

template<class T , unsigned Dim>
void ParticleAttribElem< T, Dim >::destroy ( size_t  M,
size_t  I,
bool  optDestroy = true 
)
inline

Definition at line 236 of file ParticleAttribElem.h.

◆ end()

template<class T , unsigned Dim>
iterator ParticleAttribElem< T, Dim >::end ( ) const
inline

Definition at line 97 of file ParticleAttribElem.h.

References ParticleAttribElem< T, Dim >::size().

Here is the call graph for this function:

◆ MakeExpression()

template<class T , unsigned Dim>
PETE_Expr_t ParticleAttribElem< T, Dim >::MakeExpression ( ) const
inline

Definition at line 81 of file ParticleAttribElem.h.

References ParticleAttribElem< T, Dim >::begin().

Here is the call graph for this function:

◆ operator=() [1/3]

template<class T , unsigned Dim>
const ParticleAttribElem<T,Dim>& ParticleAttribElem< T, Dim >::operator= ( const ParticleAttribElem< T, Dim > &  rhs)
inline

Definition at line 150 of file ParticleAttribElem.h.

References assign(), endl(), ERRORMSG, and ParticleAttribElem< T, Dim >::size().

Here is the call graph for this function:

◆ operator=() [2/3]

template<class T , unsigned Dim>
template<class T1 >
const ParticleAttribElem<T,Dim>& ParticleAttribElem< T, Dim >::operator= ( const PETE_Expr< T1 > &  rhs)
inline

Definition at line 143 of file ParticleAttribElem.h.

References assign().

Here is the call graph for this function:

◆ operator=() [3/3]

template<class T , unsigned Dim>
const ParticleAttribElem<T,Dim>& ParticleAttribElem< T, Dim >::operator= ( Element_t  rhs)
inline

Definition at line 160 of file ParticleAttribElem.h.

References assign().

Here is the call graph for this function:

◆ operator[]() [1/2]

template<class T , unsigned Dim>
template<unsigned SDim>
SubParticleAttrib<ParticleAttribElem<T,Dim>, Element_t, SDim> ParticleAttribElem< T, Dim >::operator[] ( const SIndex< SDim > &  s) const
inline

Definition at line 132 of file ParticleAttribElem.h.

◆ operator[]() [2/2]

template<class T , unsigned Dim>
ParticleAttribElem< T, Dim >::Element_t & ParticleAttribElem< T, Dim >::operator[] ( size_t  n)
inline

Definition at line 224 of file ParticleAttribElem.h.

References get_PETE_Element(), and Hypervolume::n.

Here is the call graph for this function:

◆ size()

template<class T , unsigned Dim>
size_t ParticleAttribElem< T, Dim >::size ( void  ) const
inline

Friends And Related Function Documentation

◆ ParticleAttribElemIterator< T, Dim >

template<class T , unsigned Dim>
friend class ParticleAttribElemIterator< T, Dim >
friend

Definition at line 243 of file ParticleAttribElem.h.

Member Data Documentation

◆ Attrib

template<class T , unsigned Dim>
ParticleAttrib<T>& ParticleAttribElem< T, Dim >::Attrib
private

Definition at line 167 of file ParticleAttribElem.h.

◆ indx

template<class T , unsigned Dim>
vec<unsigned,Dim> ParticleAttribElem< T, Dim >::indx
private

Definition at line 170 of file ParticleAttribElem.h.


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