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

#include <SIndex.h>

Inheritance diagram for SIndex< Dim >:
Inheritance graph
[legend]
Collaboration diagram for SIndex< Dim >:
Collaboration graph
[legend]

Public Types

typedef std::vector
< std::shared_ptr< LSIndex
< Dim > > > 
container_t
 
typedef unsigned int size_type
 
typedef container_t::iterator iterator_iv
 
typedef container_t::const_iterator const_iterator_iv
 
typedef container_t::size_type size_type_iv
 
typedef LSIndex< Dim >::iterator iterator_indx
 
typedef LSIndex< Dim >
::const_iterator 
const_iterator_indx
 
- Public Types inherited from User
typedef Unique::type ID_t
 

Public Member Functions

 SIndex ()
 
 SIndex (FieldLayout< Dim > &)
 
 SIndex (const SIndex< Dim > &)
 
virtual ~SIndex ()
 
void initialize (FieldLayout< Dim > &)
 
bool needInitialize () const
 
template<class T1 >
SIndex< Dim > & operator= (const PETE_Expr< T1 > &rhs)
 
SIndex< Dim > & operator= (const SIndex< Dim > &)
 
SIndex< Dim > & operator= (const SOffset< Dim > &)
 
SIndex< Dim > & operator= (const NDIndex< Dim > &)
 
SIndex< Dim > & operator&= (const SIndex< Dim > &)
 
SIndex< Dim > & operator&= (const SOffset< Dim > &)
 
SIndex< Dim > & operator&= (const NDIndex< Dim > &)
 
SIndex< Dim > & operator|= (const SIndex< Dim > &)
 
SIndex< Dim > & operator|= (const SOffset< Dim > &)
 
SIndex< Dim > & operator|= (const NDIndex< Dim > &)
 
bool addIndex (const SOffset< Dim > &)
 
bool addIndex (iterator_iv &, const SOffset< Dim > &)
 
void addIndex (const NDIndex< Dim > &)
 
bool removeIndex (const SOffset< Dim > &)
 
bool removeIndex (iterator_iv &, const SOffset< Dim > &)
 
void removeIndex (const NDIndex< Dim > &)
 
void reserve (double=1.0)
 
void clear ()
 
SOffset< Dim > & getOffset ()
 
const SOffset< Dim > & getOffset () const
 
FieldLayout< Dim > & getFieldLayout () const
 
void setFieldLayout (FieldLayout< Dim > &)
 
const NDIndex< Dim > & getDomain () const
 
void setDomain (const NDIndex< Dim > &ndi)
 
SIndex< Dimoperator() (int)
 
SIndex< Dimoperator() (int, int)
 
SIndex< Dimoperator() (int, int, int)
 
SIndex< Dimoperator() (int, int, int, int)
 
SIndex< Dimoperator() (int, int, int, int, int)
 
SIndex< Dimoperator() (int, int, int, int, int, int)
 
SIndex< Dimoperator() (const SOffset< Dim > &)
 
SIndex< Dimoperator() (const int *)
 
IndexedSIndex< Dim, 1 > operator[] (const Index &)
 
template<unsigned int Dim2>
IndexedSIndex< Dim, Dim2 > operator[] (const NDIndex< Dim2 > &ndi)
 
void toNDIndex (const SOffset< Dim > &, NDIndex< Dim > &)
 
iterator_iv begin_iv ()
 
iterator_iv end_iv ()
 
const_iterator_iv begin_iv () const
 
const_iterator_iv end_iv () const
 
size_type_iv size_iv () const
 
size_type_iv size () const
 
bool hasIndex (const SOffset< Dim > &) const
 
virtual void Repartition (UserList *)
 
virtual void notifyUserOfDelete (UserList *)
 
void printDebug (Inform &) const
 
- Public Member Functions inherited from FieldLayoutUser
 FieldLayoutUser ()
 
virtual ~FieldLayoutUser ()
 
- Public Member Functions inherited from User
 User ()
 
virtual ~User ()
 
ID_t get_Id () const
 

Private Member Functions

 SIndex (const SIndex< Dim > &, const SOffset< Dim > &)
 
 SIndex (const SIndex< Dim > &, const int *)
 
void setup ()
 

Private Attributes

FieldLayout< Dim > * Layout
 
SOffset< DimOffset
 
NDIndex< DimBoundingBox
 
container_t IndexList
 

Friends

SIndex< Dimoperator+ (const SIndex< Dim > &si, const SOffset< Dim > &so)
 
SIndex< Dimoperator+ (const SOffset< Dim > &so, const SIndex< Dim > &si)
 
SIndex< Dimoperator+ (const SIndex< Dim > &si, const int *so)
 
SIndex< Dimoperator+ (const int *so, const SIndex< Dim > &si)
 
SIndex< Dimoperator- (const SIndex< Dim > &si, const SOffset< Dim > &so)
 
SIndex< Dimoperator- (const SOffset< Dim > &so, const SIndex< Dim > &si)
 
SIndex< Dimoperator- (const SIndex< Dim > &si, const int *so)
 
SIndex< Dimoperator- (const int *so, const SIndex< Dim > &si)
 

Additional Inherited Members

- Protected Attributes inherited from User
ID_t Id
 

Detailed Description

template<unsigned Dim>
class SIndex< Dim >

Definition at line 28 of file SIndex.h.

Member Typedef Documentation

template<unsigned Dim>
typedef LSIndex<Dim>::const_iterator SIndex< Dim >::const_iterator_indx

Definition at line 75 of file SIndex.h.

template<unsigned Dim>
typedef container_t::const_iterator SIndex< Dim >::const_iterator_iv

Definition at line 72 of file SIndex.h.

template<unsigned Dim>
typedef std::vector< std::shared_ptr<LSIndex<Dim> > > SIndex< Dim >::container_t

Definition at line 69 of file SIndex.h.

template<unsigned Dim>
typedef LSIndex<Dim>::iterator SIndex< Dim >::iterator_indx

Definition at line 74 of file SIndex.h.

template<unsigned Dim>
typedef container_t::iterator SIndex< Dim >::iterator_iv

Definition at line 71 of file SIndex.h.

template<unsigned Dim>
typedef unsigned int SIndex< Dim >::size_type

Definition at line 70 of file SIndex.h.

template<unsigned Dim>
typedef container_t::size_type SIndex< Dim >::size_type_iv

Definition at line 73 of file SIndex.h.

Constructor & Destructor Documentation

template<unsigned int Dim>
SIndex< Dim >::SIndex ( )

Definition at line 39 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim >::SIndex ( FieldLayout< Dim > &  fl)

Definition at line 47 of file SIndex.hpp.

References SIndex< Dim >::setup().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim >::SIndex ( const SIndex< Dim > &  si)

Definition at line 58 of file SIndex.hpp.

References SIndex< Dim >::Layout.

template<unsigned int Dim>
SIndex< Dim >::~SIndex ( )
virtual

Definition at line 113 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim >::SIndex ( const SIndex< Dim > &  si,
const SOffset< Dim > &  so 
)
private

Definition at line 75 of file SIndex.hpp.

References SIndex< Dim >::Layout.

template<unsigned int Dim>
SIndex< Dim >::SIndex ( const SIndex< Dim > &  si,
const int *  so 
)
private

Definition at line 95 of file SIndex.hpp.

References SIndex< Dim >::Layout.

Member Function Documentation

template<unsigned int Dim>
bool SIndex< Dim >::addIndex ( const SOffset< Dim > &  so)
template<unsigned Dim>
bool SIndex< Dim >::addIndex ( iterator_iv ,
const SOffset< Dim > &   
)
template<unsigned int Dim>
void SIndex< Dim >::addIndex ( const NDIndex< Dim > &  constndi)

Definition at line 204 of file SIndex.hpp.

References Dim, and NDIndex< Dim >::size().

Here is the call graph for this function:

template<unsigned Dim>
iterator_iv SIndex< Dim >::begin_iv ( )
inline
template<unsigned Dim>
const_iterator_iv SIndex< Dim >::begin_iv ( ) const
inline

Definition at line 248 of file SIndex.h.

References SIndex< Dim >::IndexList.

template<unsigned int Dim>
void SIndex< Dim >::clear ( )

Definition at line 334 of file SIndex.hpp.

Referenced by SIndexAssignTraits< Dim, OpAssign >::initialize().

template<unsigned Dim>
iterator_iv SIndex< Dim >::end_iv ( )
inline

Definition at line 247 of file SIndex.h.

References SIndex< Dim >::IndexList.

Referenced by assign(), and SIndex< Dim >::operator|=().

template<unsigned Dim>
const_iterator_iv SIndex< Dim >::end_iv ( ) const
inline

Definition at line 249 of file SIndex.h.

References SIndex< Dim >::IndexList.

template<unsigned Dim>
const NDIndex<Dim>& SIndex< Dim >::getDomain ( void  ) const
inline
template<unsigned Dim>
FieldLayout<Dim>& SIndex< Dim >::getFieldLayout ( ) const
inline

Definition at line 148 of file SIndex.h.

References SIndex< Dim >::Layout.

template<unsigned Dim>
SOffset<Dim>& SIndex< Dim >::getOffset ( )
inline

Definition at line 144 of file SIndex.h.

References SIndex< Dim >::Offset.

template<unsigned Dim>
const SOffset<Dim>& SIndex< Dim >::getOffset ( ) const
inline

Definition at line 145 of file SIndex.h.

References SIndex< Dim >::Offset.

template<unsigned int Dim>
bool SIndex< Dim >::hasIndex ( const SOffset< Dim > &  so) const

Definition at line 348 of file SIndex.hpp.

Referenced by SIndex< Dim >::operator&=().

template<unsigned int Dim>
void SIndex< Dim >::initialize ( FieldLayout< Dim > &  fl)
template<unsigned Dim>
bool SIndex< Dim >::needInitialize ( ) const
inline
template<unsigned int Dim>
void SIndex< Dim >::notifyUserOfDelete ( UserList userlist)
virtual

Implements User.

Definition at line 732 of file SIndex.hpp.

References UserList::getUserListID().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator&= ( const SIndex< Dim > &  si)

Definition at line 430 of file SIndex.hpp.

References SIndex< Dim >::addIndex(), SIndex< Dim >::begin_iv(), SIndex< Dim >::BoundingBox, and SIndex< Dim >::hasIndex().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator&= ( const SOffset< Dim > &  so)

Definition at line 464 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator&= ( const NDIndex< Dim > &  ndi)

Definition at line 481 of file SIndex.hpp.

References SIndex< Dim >::addIndex(), and SIndex< Dim >::begin_iv().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0)

Definition at line 576 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0,
int  i1 
)

Definition at line 585 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0,
int  i1,
int  i2 
)

Definition at line 593 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0,
int  i1,
int  i2,
int  i3 
)

Definition at line 602 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4 
)

Definition at line 611 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( int  i0,
int  i1,
int  i2,
int  i3,
int  i4,
int  i5 
)

Definition at line 620 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( const SOffset< Dim > &  so)

Definition at line 630 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim > SIndex< Dim >::operator() ( const int *  so)

Definition at line 638 of file SIndex.hpp.

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

Definition at line 99 of file SIndex.h.

References assign().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator= ( const SIndex< Dim > &  si)
template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator= ( const SOffset< Dim > &  so)

Definition at line 392 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator= ( const NDIndex< Dim > &  ndi)

Definition at line 411 of file SIndex.hpp.

template<unsigned int Dim>
IndexedSIndex< Dim, 1 > SIndex< Dim >::operator[] ( const Index i)

Definition at line 652 of file SIndex.hpp.

References CTAssert, and Dim.

template<unsigned Dim>
template<unsigned int Dim2>
IndexedSIndex<Dim,Dim2> SIndex< Dim >::operator[] ( const NDIndex< Dim2 > &  ndi)
inline

Definition at line 223 of file SIndex.h.

References CTAssert, and Dim.

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator|= ( const SIndex< Dim > &  si)

Definition at line 514 of file SIndex.hpp.

References SIndex< Dim >::begin_iv(), and SIndex< Dim >::end_iv().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator|= ( const SOffset< Dim > &  so)

Definition at line 541 of file SIndex.hpp.

template<unsigned int Dim>
SIndex< Dim > & SIndex< Dim >::operator|= ( const NDIndex< Dim > &  ndi)

Definition at line 558 of file SIndex.hpp.

template<unsigned int Dim>
void SIndex< Dim >::printDebug ( Inform o) const

Definition at line 767 of file SIndex.hpp.

References endl().

Here is the call graph for this function:

template<unsigned int Dim>
bool SIndex< Dim >::removeIndex ( const SOffset< Dim > &  so)

Definition at line 243 of file SIndex.hpp.

Referenced by SIndexAssignTraits< Dim, OpBitwiseAndAssign >::apply().

template<unsigned Dim>
bool SIndex< Dim >::removeIndex ( iterator_iv ,
const SOffset< Dim > &   
)
template<unsigned int Dim>
void SIndex< Dim >::removeIndex ( const NDIndex< Dim > &  constndi)

Definition at line 281 of file SIndex.hpp.

References Dim, and NDIndex< Dim >::size().

Here is the call graph for this function:

template<unsigned int Dim>
void SIndex< Dim >::Repartition ( UserList userlist)
virtual

Implements FieldLayoutUser.

Definition at line 716 of file SIndex.hpp.

References UserList::getUserListID().

Here is the call graph for this function:

template<unsigned int Dim>
void SIndex< Dim >::reserve ( double  fraction = 1.0)

Definition at line 320 of file SIndex.hpp.

template<unsigned Dim>
void SIndex< Dim >::setDomain ( const NDIndex< Dim > &  ndi)
inline

Definition at line 155 of file SIndex.h.

References SIndex< Dim >::BoundingBox.

Referenced by assign().

template<unsigned int Dim>
void SIndex< Dim >::setFieldLayout ( FieldLayout< Dim > &  fl)

Definition at line 698 of file SIndex.hpp.

template<unsigned int Dim>
void SIndex< Dim >::setup ( void  )
private

Definition at line 137 of file SIndex.hpp.

References FieldLayout< Dim >::end_iv().

Referenced by SIndex< Dim >::SIndex().

Here is the call graph for this function:

template<unsigned int Dim>
SIndex< Dim >::size_type_iv SIndex< Dim >::size ( void  ) const

Definition at line 681 of file SIndex.hpp.

Referenced by assign().

template<unsigned Dim>
size_type_iv SIndex< Dim >::size_iv ( ) const
inline

Definition at line 250 of file SIndex.h.

References SIndex< Dim >::IndexList.

template<unsigned int Dim>
void SIndex< Dim >::toNDIndex ( const SOffset< Dim > &  val,
NDIndex< Dim > &  NDI 
)

Definition at line 667 of file SIndex.hpp.

References Dim.

Friends And Related Function Documentation

template<unsigned Dim>
SIndex<Dim> operator+ ( const SIndex< Dim > &  si,
const SOffset< Dim > &  so 
)
friend

Definition at line 165 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator+ ( const SOffset< Dim > &  so,
const SIndex< Dim > &  si 
)
friend

Definition at line 170 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator+ ( const SIndex< Dim > &  si,
const int *  so 
)
friend

Definition at line 175 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator+ ( const int *  so,
const SIndex< Dim > &  si 
)
friend

Definition at line 180 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator- ( const SIndex< Dim > &  si,
const SOffset< Dim > &  so 
)
friend

Definition at line 185 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator- ( const SOffset< Dim > &  so,
const SIndex< Dim > &  si 
)
friend

Definition at line 190 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator- ( const SIndex< Dim > &  si,
const int *  so 
)
friend

Definition at line 195 of file SIndex.h.

template<unsigned Dim>
SIndex<Dim> operator- ( const int *  so,
const SIndex< Dim > &  si 
)
friend

Definition at line 200 of file SIndex.h.

Member Data Documentation

template<unsigned Dim>
NDIndex<Dim> SIndex< Dim >::BoundingBox
private
template<unsigned Dim>
container_t SIndex< Dim >::IndexList
private
template<unsigned Dim>
FieldLayout<Dim>* SIndex< Dim >::Layout
private
template<unsigned Dim>
SOffset<Dim> SIndex< Dim >::Offset
private

Definition at line 281 of file SIndex.h.

Referenced by SIndex< Dim >::getOffset(), and SIndex< Dim >::operator=().


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