OPAL (Object Oriented Parallel Accelerator Library) 2022.1
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

◆ PETE_Expr_t

Definition at line 469 of file Index.h.

Constructor & Destructor Documentation

◆ Index() [1/7]

Index::Index ( )
inline

Definition at line 22 of file IndexInlines.h.

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

◆ Index() [2/7]

Index::Index ( unsigned  n)
inline

Definition at line 36 of file IndexInlines.h.

◆ Index() [3/7]

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

Definition at line 50 of file IndexInlines.h.

◆ Index() [4/7]

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

Definition at line 61 of file IndexInlines.h.

◆ ~Index()

Index::~Index ( )
inline

Definition at line 384 of file Index.h.

◆ Index() [5/7]

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

Definition at line 84 of file IndexInlines.h.

◆ Index() [6/7]

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

Definition at line 94 of file IndexInlines.h.

◆ Index() [7/7]

Index::Index ( DontInitialize  )
inlineprivate

Definition at line 501 of file Index.h.

Member Function Documentation

◆ begin()

iterator Index::begin ( )
inline

Definition at line 429 of file Index.h.

References First, and Stride.

◆ contains()

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

Definition at line 248 of file IndexInlines.h.

References a, max(), and min().

Here is the call graph for this function:

◆ containsAllPoints()

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:

◆ empty()

bool Index::empty ( ) const
inline

Definition at line 126 of file IndexInlines.h.

References Length.

◆ end()

iterator Index::end ( )
inline

Definition at line 431 of file Index.h.

References First, Length, and Stride.

◆ findPut()

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

◆ first()

int Index::first ( ) const
inline

◆ general_intersect()

Index Index::general_intersect ( const Index that) const
private

Definition at line 173 of file Index.cpp.

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

Referenced by intersect().

Here is the call graph for this function:

◆ getBase()

int Index::getBase ( ) const
inline

Definition at line 151 of file IndexInlines.h.

References Base.

◆ getMessage()

Message & Index::getMessage ( Message m)
inline

Definition at line 460 of file Index.h.

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

Here is the call graph for this function:

◆ id()

int Index::id ( ) const
inline

Definition at line 385 of file Index.h.

References Base.

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

◆ intersect()

Index Index::intersect ( const Index rhs) const

Definition at line 108 of file Index.cpp.

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

Referenced by general_intersect(), and spap().

Here is the call graph for this function:

◆ last()

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().

◆ length()

unsigned int Index::length ( ) const
inline

◆ MakeExpression()

cursor Index::MakeExpression ( ) const
inline

Definition at line 470 of file Index.h.

◆ max()

int Index::max ( ) const
inline

Definition at line 146 of file IndexInlines.h.

References First, Length, and Stride.

Referenced by contains(), containsAllPoints(), general_intersect(), and touches().

◆ min()

int Index::min ( ) const
inline

Definition at line 141 of file IndexInlines.h.

References First, Length, and Stride.

Referenced by contains(), containsAllPoints(), general_intersect(), and touches().

◆ operator<()

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

Definition at line 434 of file Index.h.

References First, Length, and Stride.

◆ operator==()

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

Definition at line 441 of file Index.h.

References First, Length, and Stride.

◆ plugBase()

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

Definition at line 215 of file IndexInlines.h.

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

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

◆ putMessage()

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

Definition at line 449 of file Index.h.

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

Here is the call graph for this function:

◆ reverse()

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:

◆ sameBase()

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

Definition at line 208 of file IndexInlines.h.

References Base.

◆ split() [1/2]

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:

◆ split() [2/2]

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

Definition at line 303 of file IndexInlines.h.

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

Here is the call graph for this function:

◆ stride()

int Index::stride ( ) const
inline

◆ touches()

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

Definition at line 242 of file IndexInlines.h.

References a, max(), and min().

Referenced by spap().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ operator* [1/2]

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

Definition at line 187 of file IndexInlines.h.

◆ operator* [2/2]

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

Definition at line 192 of file IndexInlines.h.

◆ operator+ [1/2]

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

Definition at line 162 of file IndexInlines.h.

◆ operator+ [2/2]

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

Definition at line 167 of file IndexInlines.h.

◆ operator- [1/3]

Index operator- ( const Index i)
friend

Definition at line 182 of file IndexInlines.h.

◆ operator- [2/3]

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

Definition at line 172 of file IndexInlines.h.

◆ operator- [3/3]

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

Definition at line 177 of file IndexInlines.h.

◆ operator/

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

Definition at line 197 of file IndexInlines.h.

Member Data Documentation

◆ Base

int Index::Base
private

Definition at line 486 of file Index.h.

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

◆ BaseFirst

unsigned Index::BaseFirst
private

Definition at line 482 of file Index.h.

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

◆ First

int Index::First
private

◆ Length

unsigned Index::Length
private

Definition at line 477 of file Index.h.

Referenced by empty(), end(), intersect(), last(), length(), max(), min(), operator<(), operator==(), plugBase(), reverse(), and split().

◆ Stride

int Index::Stride
private

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