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.

Referenced by clone().

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 682 of file MemRefExpr.cpp.

References OA::MemRefExprVisitor::visitIdxAccess().

Here is the call graph for this function:

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

return a ptr to a copy of self

Reimplemented from OA::SubSetRef.

Definition at line 687 of file MemRefExpr.cpp.

References IdxAccess().

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 751 of file MemRefExpr.cpp.

References OA::OA_ptr< T >::dump(), dump(), getIdx(), and OA::RefOp::getMemRefExpr().

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 760 of file MemRefExpr.cpp.

References OA::OA_ptr< T >::dump(), dump(), getIdx(), and OA::RefOp::getMemRefExpr().

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 769 of file MemRefExpr.cpp.

Referenced by dump().

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

Reimplemented from OA::SubSetRef.

Definition at line 697 of file MemRefExpr.hpp.

References sOrder.

Referenced by operator<(), and operator==().

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 707 of file MemRefExpr.cpp.

References getIdx(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

Here is the call graph for this function:

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 725 of file MemRefExpr.cpp.

References getIdx(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 742 of file MemRefExpr.cpp.

References OA::int2string(), mIdx, and OA::Annotation::sOutBuild.

Here is the call graph for this function:

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(), and output().

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:

Generated on Sat Oct 31 05:26:57 2009 for OpenAnalysis by  doxygen 1.6.1