Public Member Functions | Private Attributes | Static Private Attributes

OA::IdxAccess Class Reference

#include <MemRefExpr.hpp>

Inheritance diagram for OA::IdxAccess:
Inheritance graph
[legend]
Collaboration diagram for OA::IdxAccess:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 IdxAccess (MemRefType mrType, OA_ptr< MemRefExpr > mre, int idx)
 IdxAccess (IdxAccess &mre)
 copy constructor
 ~IdxAccess ()
void acceptVisitor (MemRefExprVisitor &pVisitor)
OA_ptr< MemRefExprclone ()
 return a ptr to a copy of self
bool isaIdxAccess ()
bool isSubClassOfSubSetRef ()
int getIdx ()
virtual std::string typeString ()
bool operator< (MemRefExpr &other)
bool operator== (MemRefExpr &other)
void output (IRHandlesIRInterface &ir)
virtual void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR)
virtual void dump (std::ostream &os, IRHandlesIRInterface &pIR)
virtual void dump (std::ostream &os)
virtual int getOrder ()

Private Attributes

int mIdx

Static Private Attributes

static const int sOrder = 400

Detailed Description

The IdxAccess class indicates a constant array index.

Definition at line 647 of file MemRefExpr.hpp.


Constructor & Destructor Documentation

OA::IdxAccess::IdxAccess ( MemRefType  mrType,
OA_ptr< MemRefExpr mre,
int  idx 
) [inline]

Definition at line 650 of file MemRefExpr.hpp.

OA::IdxAccess::IdxAccess ( IdxAccess mre  )  [inline]

copy constructor

Definition at line 654 of file MemRefExpr.hpp.

OA::IdxAccess::~IdxAccess (  )  [inline]

Definition at line 656 of file MemRefExpr.hpp.


Member Function Documentation

void OA::IdxAccess::acceptVisitor ( MemRefExprVisitor pVisitor  )  [virtual]

Reimplemented from OA::SubSetRef.

Definition at line 678 of file MemRefExpr.cpp.

OA_ptr< MemRefExpr > OA::IdxAccess::clone (  )  [virtual]

return a ptr to a copy of self

Reimplemented from OA::SubSetRef.

Definition at line 683 of file MemRefExpr.cpp.

References OA::MemRefExprVisitor::visitIdxAccess().

Here is the call graph for this function:

void OA::IdxAccess::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface pIR 
) [virtual]

Reimplemented from OA::SubSetRef.

Definition at line 765 of file MemRefExpr.cpp.

void OA::IdxAccess::dump ( std::ostream &  os,
IRHandlesIRInterface pIR 
) [virtual]

Reimplemented from OA::SubSetRef.

Definition at line 756 of file MemRefExpr.cpp.

void OA::IdxAccess::dump ( std::ostream &  os  )  [virtual]

Reimplemented from OA::SubSetRef.

Definition at line 747 of file MemRefExpr.cpp.

int OA::IdxAccess::getIdx (  )  [inline]

Definition at line 672 of file MemRefExpr.hpp.

References mIdx.

Referenced by NotationGenerator::outputMemRefExpr().

virtual int OA::IdxAccess::getOrder (  )  [inline, virtual]

Reimplemented from OA::SubSetRef.

Definition at line 697 of file MemRefExpr.hpp.

References sOrder.

bool OA::IdxAccess::isaIdxAccess (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 666 of file MemRefExpr.hpp.

bool OA::IdxAccess::isSubClassOfSubSetRef (  )  [inline, virtual]

Reimplemented from OA::SubSetRef.

Definition at line 667 of file MemRefExpr.hpp.

bool OA::IdxAccess::operator< ( MemRefExpr other  )  [virtual]

References are ordered first between MemRefExpr subclasses in an specific order: NamedRef < UnnamedRef < Deref < SubSetRefs( IdxAccess < ... ) < UnknownRef. Then there is a consistent ordering within each subclass.

For IdxAccess ordering is done by underlying reference and then then idx.

Any subclasses to SubSetRef that are added later must handle IdxAccess specifically, otherwise there will be inconsistent ordering.

Reimplemented from OA::SubSetRef.

Definition at line 703 of file MemRefExpr.cpp.

bool OA::IdxAccess::operator== ( MemRefExpr other  )  [virtual]

check if two memory references are equal at the level of accuracy provided by the MemRefExpr approximation

Reimplemented from OA::SubSetRef.

Definition at line 721 of file MemRefExpr.cpp.

void OA::IdxAccess::output ( IRHandlesIRInterface ir  )  [virtual]

Reimplemented from OA::SubSetRef.

Definition at line 738 of file MemRefExpr.cpp.

virtual std::string OA::IdxAccess::typeString (  )  [inline, virtual]

Reimplemented from OA::SubSetRef.

Definition at line 673 of file MemRefExpr.hpp.


Member Data Documentation

int OA::IdxAccess::mIdx [private]

Definition at line 701 of file MemRefExpr.hpp.

Referenced by getIdx().

const int OA::IdxAccess::sOrder = 400 [static, private]

Reimplemented from OA::SubSetRef.

Definition at line 700 of file MemRefExpr.hpp.

Referenced by getOrder().


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