Public Member Functions | Static Private Attributes

OA::SubSetRef Class Reference

#include <MemRefExpr.hpp>

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

List of all members.

Public Member Functions

 SubSetRef (MemRefType mrType, OA_ptr< MemRefExpr > mre)
 SubSetRef (SubSetRef &mre)
 copy constructor
virtual ~SubSetRef ()
void acceptVisitor (MemRefExprVisitor &pVisitor)
OA_ptr< MemRefExprclone ()
 return a ptr to a copy of self
virtual bool isaSubSetRef ()
virtual bool isSubClassOfSubSetRef ()
virtual bool operator< (MemRefExpr &other)
 an ordering for locations, needed for use within STL containers
virtual bool operator== (MemRefExpr &other)
OA_ptr< MemRefExprcomposeWith (OA_ptr< MemRefExpr > mre)
 Will make this Refop wrap the given mre and return the result.
void output (IRHandlesIRInterface &ir)
virtual std::string typeString ()
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 ()

Static Private Attributes

static const int sOrder = 600

Detailed Description

The SubSetRef implements a decorator pattern for memory references. If we decorate a memory reference with a subclass of SubSetRef it represents some operation such as a field access or array access occuring. Many sub set reference operations are possible abstractions are possible.

Definition at line 583 of file MemRefExpr.hpp.


Constructor & Destructor Documentation

OA::SubSetRef::SubSetRef ( MemRefType  mrType,
OA_ptr< MemRefExpr mre 
) [inline]

Definition at line 586 of file MemRefExpr.hpp.

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

copy constructor

Definition at line 590 of file MemRefExpr.hpp.

virtual OA::SubSetRef::~SubSetRef (  )  [inline, virtual]

Definition at line 592 of file MemRefExpr.hpp.


Member Function Documentation

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

Implements OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 596 of file MemRefExpr.cpp.

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

return a ptr to a copy of self

Implements OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 589 of file MemRefExpr.cpp.

OA_ptr< MemRefExpr > OA::SubSetRef::composeWith ( OA_ptr< MemRefExpr mre  )  [virtual]

Will make this Refop wrap the given mre and return the result.

Implements OA::RefOp.

Definition at line 603 of file MemRefExpr.cpp.

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

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 669 of file MemRefExpr.cpp.

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

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 660 of file MemRefExpr.cpp.

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

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 651 of file MemRefExpr.cpp.

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

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 636 of file MemRefExpr.hpp.

References sOrder.

virtual bool OA::SubSetRef::isaSubSetRef (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 602 of file MemRefExpr.hpp.

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

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 603 of file MemRefExpr.hpp.

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

an ordering for locations, needed for use within STL containers

Need consistent ordering.

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 623 of file MemRefExpr.cpp.

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

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

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 637 of file MemRefExpr.cpp.

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

Reimplemented from OA::RefOp.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 614 of file MemRefExpr.cpp.

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

Reimplemented from OA::RefOp.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 626 of file MemRefExpr.hpp.


Member Data Documentation

const int OA::SubSetRef::sOrder = 600 [static, private]

Reimplemented from OA::MemRefExpr.

Reimplemented in OA::IdxAccess, OA::IdxExprAccess, and OA::FieldAccess.

Definition at line 639 of file MemRefExpr.hpp.

Referenced by getOrder().


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