OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
Index Class Reference

#include <Index.h>

Inheritance diagram for Index:
Inheritance graph
[legend]
Collaboration diagram for Index:
Collaboration graph
[legend]

Classes

class  cursor
 
class  DontInitialize
 
class  iterator
 

Public Types

typedef cursor PETE_Expr_t
 
- Public Types inherited from PETE_Expr< Index >
typedef Index Wrapped
 

Public Member Functions

 Index ()
 
 Index (unsigned n)
 
 Index (int f, int l)
 
 Index (int f, int l, int s)
 
 ~Index ()
 
int id () const
 
int min () const
 
int max () const
 
unsigned int length () const
 
int stride () const
 
int first () const
 
int last () const
 
bool empty () const
 
int getBase () const
 
Index intersect (const Index &) const
 
Index plugBase (const Index &) const
 
bool sameBase (const Index &) const
 
bool touches (const Index &a) const
 
bool contains (const Index &a) const
 
bool containsAllPoints (const Index &b) const
 
bool split (Index &l, Index &r) const
 
bool split (Index &l, Index &r, double a) const
 
iterator begin ()
 
iterator end ()
 
bool operator< (const Index &r) const
 
bool operator== (const Index &r) const
 
MessageputMessage (Message &m) const
 
MessagegetMessage (Message &m)
 
cursor MakeExpression () const
 
- Public Member Functions inherited from PETE_Expr< Index >
IndexPETE_unwrap ()
 
const IndexPETE_unwrap () const
 

Static Public Member Functions

static void findPut (const Index &, const Index &, const Index &, Index &, Index &)
 

Private Member Functions

Index reverse () const
 
 Index (int m, int a, const Index &b)
 
 Index (int f, int s, const Index *b)
 
Index general_intersect (const Index &) const
 
 Index (DontInitialize)
 

Private Attributes

int First
 
int Stride
 
unsigned Length
 
unsigned BaseFirst
 
int Base
 

Friends

Index operator+ (const Index &, int)
 
Index operator+ (int, const Index &)
 
Index operator- (const Index &, int)
 
Index operator- (int, const Index &)
 
Index operator- (const Index &)
 
Index operator* (const Index &, int)
 
Index operator* (int, const Index &)
 
Index operator/ (const Index &, int)
 

Detailed Description

Definition at line 236 of file Index.h.

Member Typedef Documentation

Definition at line 484 of file Index.h.

Constructor & Destructor Documentation

Index::Index ( )
inline

Definition at line 22 of file IndexInlines.h.

Referenced by general_intersect(), getMessage(), and split().

Index::Index ( unsigned  n)
inline

Definition at line 36 of file IndexInlines.h.

Index::Index ( int  f,
int  l 
)
inline

Definition at line 50 of file IndexInlines.h.

References PAssert_GE.

Index::Index ( int  f,
int  l,
int  s 
)
inline

Definition at line 61 of file IndexInlines.h.

References Length, and PAssert_NE.

Index::~Index ( )
inline

Definition at line 399 of file Index.h.

Index::Index ( int  m,
int  a,
const Index b 
)
inlineprivate

Definition at line 84 of file IndexInlines.h.

Index::Index ( int  f,
int  s,
const Index b 
)
inlineprivate

Definition at line 94 of file IndexInlines.h.

Index::Index ( DontInitialize  )
inlineprivate

Definition at line 516 of file Index.h.

Member Function Documentation

iterator Index::begin ( )
inline

Definition at line 444 of file Index.h.

References First, and Stride.

bool Index::contains ( const Index a) const
inline

Definition at line 248 of file IndexInlines.h.

References max(), and min().

Here is the call graph for this function:

bool Index::containsAllPoints ( const Index b) const
inline

Definition at line 253 of file IndexInlines.h.

References Physics::a0, max(), min(), and stride().

Here is the call graph for this function:

bool Index::empty ( ) const
inline

Definition at line 126 of file IndexInlines.h.

References Length.

iterator Index::end ( )
inline

Definition at line 446 of file Index.h.

References First, Length, and Stride.

static void Index::findPut ( const Index ,
const Index ,
const Index ,
Index ,
Index  
)
static
int Index::first ( ) const
inline
Index Index::general_intersect ( const Index that) const
private

Definition at line 190 of file Index.cpp.

References Base, BaseFirst, First, Index(), intersect(), max(), min(), PAssert_GE, reverse(), and Stride.

Referenced by intersect().

Here is the call graph for this function:

int Index::getBase ( ) const
inline

Definition at line 151 of file IndexInlines.h.

References Base.

Message& Index::getMessage ( Message m)
inline

Definition at line 475 of file Index.h.

References Message::get(), and Index().

Here is the call graph for this function:

int Index::id ( ) const
inline

Definition at line 400 of file Index.h.

References Base.

Referenced by Index::cursor::id().

Index Index::intersect ( const Index rhs) const

Definition at line 108 of file Index.cpp.

References Base, BaseFirst, endl(), first(), First, general_intersect(), last(), Length, PAssert_EQ, stride(), and Stride.

Referenced by PatchBC< T, D, M, C >::apply(), general_intersect(), and spap().

Here is the call graph for this function:

int Index::last ( ) const
inline

Definition at line 136 of file IndexInlines.h.

References First, Length, and Stride.

Referenced by intersect(), operator<<(), RegionLayout< T, Dim, MeshType >::RegionLayout(), reverse(), and spap().

unsigned int Index::length ( ) const
inline
cursor Index::MakeExpression ( ) const
inline

Definition at line 485 of file Index.h.

int Index::max ( ) const
inline
int Index::min ( ) const
inline
bool Index::operator< ( const Index r) const
inline

Definition at line 449 of file Index.h.

References First, Length, and Stride.

bool Index::operator== ( const Index r) const
inline

Definition at line 456 of file Index.h.

References First, Length, and Stride.

Index Index::plugBase ( const Index a) const
inline

Definition at line 215 of file IndexInlines.h.

References Base, BaseFirst, First, Length, and Stride.

Referenced by Index::cursor::plugBase().

Message& Index::putMessage ( Message m) const
inline

Definition at line 464 of file Index.h.

References first(), length(), Message::put(), and stride().

Here is the call graph for this function:

Index Index::reverse ( ) const
inlineprivate

Definition at line 228 of file IndexInlines.h.

References Base, BaseFirst, First, last(), Length, and Stride.

Referenced by general_intersect().

Here is the call graph for this function:

bool Index::sameBase ( const Index i) const
inline

Definition at line 208 of file IndexInlines.h.

References Base.

bool Index::split ( Index l,
Index r 
) const
inline

Definition at line 285 of file IndexInlines.h.

References first(), First, Index(), length(), Length, PAssert_EQ, PAssert_GT, and Stride.

Here is the call graph for this function:

bool Index::split ( Index l,
Index r,
double  a 
) const
inline

Definition at line 303 of file IndexInlines.h.

References first(), First, Index(), length(), Length, PAssert_EQ, PAssert_GT, PAssert_LT, and Stride.

Here is the call graph for this function:

int Index::stride ( ) const
inline
bool Index::touches ( const Index a) const
inline

Definition at line 242 of file IndexInlines.h.

References max(), and min().

Referenced by PatchBC< T, D, M, C >::apply(), and spap().

Here is the call graph for this function:

Friends And Related Function Documentation

Index operator* ( const Index i,
int  m 
)
friend

Definition at line 187 of file IndexInlines.h.

Index operator* ( int  m,
const Index i 
)
friend

Definition at line 192 of file IndexInlines.h.

Index operator+ ( const Index i,
int  off 
)
friend

Definition at line 162 of file IndexInlines.h.

Index operator+ ( int  off,
const Index i 
)
friend

Definition at line 167 of file IndexInlines.h.

Index operator- ( const Index i,
int  off 
)
friend

Definition at line 172 of file IndexInlines.h.

Index operator- ( int  off,
const Index i 
)
friend

Definition at line 177 of file IndexInlines.h.

Index operator- ( const Index i)
friend

Definition at line 182 of file IndexInlines.h.

Index operator/ ( const Index i,
int  d 
)
friend

Definition at line 197 of file IndexInlines.h.

Member Data Documentation

int Index::Base
private

Definition at line 501 of file Index.h.

Referenced by general_intersect(), getBase(), id(), intersect(), plugBase(), reverse(), and sameBase().

unsigned Index::BaseFirst
private

Definition at line 497 of file Index.h.

Referenced by general_intersect(), intersect(), plugBase(), and reverse().

int Index::First
private
unsigned Index::Length
private
int Index::Stride
private

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