OA::LocIdxSubSet Class Reference

#include <LocIdxSubSet.hpp>

Inheritance diagram for OA::LocIdxSubSet:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LocIdxSubSet (OA_ptr< Location > loc, int idx)
 LocIdxSubSet (LocIdxSubSet &other)
 copy constructor
 ~LocIdxSubSet ()
void acceptVisitor (LocationVisitor &pVisitor)
bool isaIdxSubSet ()
bool isFull ()
 something useful to have for all LocSubSet's
int getIdx ()
bool operator< (Location &other)
bool operator== (Location &other)
 indicate whether this location is semantically equivalent
bool mayOverlap (Location &other)
bool mustOverlap (Location &other)
bool subSetOf (Location &other)
 Indicate whether this location is a subset of the given location.
void output (IRHandlesIRInterface &ir)
void dump (std::ostream &os)
void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR)
std::string toString (OA_ptr< IRHandlesIRInterface > pIR)
virtual int getOrder ()

Private Attributes

int mIdx

Static Private Attributes

static const int sOrder = 400


Detailed Description

The LocIdxSubSet describes a subset for an array that includes one constant index. Way of representing an individual element of an array.

Definition at line 24 of file LocIdxSubSet.hpp.


Constructor & Destructor Documentation

OA::LocIdxSubSet::LocIdxSubSet ( OA_ptr< Location loc,
int  idx 
)

Definition at line 21 of file LocIdxSubSet.cpp.

References OA::debug, and OA_DEBUG_CTRL_MACRO.

OA::LocIdxSubSet::LocIdxSubSet ( LocIdxSubSet other  )  [inline]

copy constructor

Definition at line 29 of file LocIdxSubSet.hpp.

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

Definition at line 31 of file LocIdxSubSet.hpp.


Member Function Documentation

void OA::LocIdxSubSet::acceptVisitor ( LocationVisitor pVisitor  )  [virtual]

Reimplemented from OA::LocSubSet.

Definition at line 28 of file LocIdxSubSet.cpp.

References OA::LocationVisitor::visitLocIdxSubSet().

Here is the call graph for this function:

bool OA::LocIdxSubSet::isaIdxSubSet (  )  [inline, virtual]

Reimplemented from OA::LocSubSet.

Definition at line 38 of file LocIdxSubSet.hpp.

bool OA::LocIdxSubSet::isFull (  )  [inline, virtual]

something useful to have for all LocSubSet's

Reimplemented from OA::LocSubSet.

Definition at line 43 of file LocIdxSubSet.hpp.

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

bool OA::LocIdxSubSet::operator< ( Location other  )  [virtual]

Locations are ordered first between Location subclasses based on their sOrder value. Then there is an ordering within each subclass.

When comparing between LocIdxSubSet's will first compare base locations and will then will compare indices.

Reimplemented from OA::LocSubSet.

Definition at line 42 of file LocIdxSubSet.cpp.

References getIdx(), OA::LocSubSet::getLoc(), OA::Location::getOrder(), and getOrder().

Here is the call graph for this function:

bool OA::LocIdxSubSet::operator== ( Location other  )  [virtual]

indicate whether this location is semantically equivalent

Reimplemented from OA::LocSubSet.

Definition at line 57 of file LocIdxSubSet.cpp.

References getIdx(), OA::LocSubSet::getLoc(), OA::Location::getOrder(), and getOrder().

Here is the call graph for this function:

bool OA::LocIdxSubSet::mayOverlap ( Location other  )  [virtual]

Indicate whether this location may overlap with the given location either fully or partially.

Reimplemented from OA::LocSubSet.

Definition at line 71 of file LocIdxSubSet.cpp.

References OA::LocSubSet::getLoc().

Here is the call graph for this function:

bool OA::LocIdxSubSet::mustOverlap ( Location other  )  [virtual]

Indicate whether this location must overlap fully with the given location.

Reimplemented from OA::LocSubSet.

Definition at line 105 of file LocIdxSubSet.cpp.

References OA::Location::acceptVisitor(), and OA::LocIdxSubSetMustOverlapVisitor::mMustOverlap.

Referenced by subSetOf().

Here is the call graph for this function:

bool OA::LocIdxSubSet::subSetOf ( Location other  )  [virtual]

Indicate whether this location is a subset of the given location.

Reimplemented from OA::LocSubSet.

Definition at line 114 of file LocIdxSubSet.cpp.

References OA::LocSubSet::getLoc(), and mustOverlap().

Here is the call graph for this function:

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

Reimplemented from OA::LocSubSet.

Definition at line 125 of file LocIdxSubSet.cpp.

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

Here is the call graph for this function:

void OA::LocIdxSubSet::dump ( std::ostream &  os  ) 

Reimplemented from OA::LocSubSet.

Definition at line 136 of file LocIdxSubSet.cpp.

References getIdx(), and OA::LocSubSet::getLoc().

Here is the call graph for this function:

void OA::LocIdxSubSet::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface pIR 
)

Reimplemented from OA::LocSubSet.

Definition at line 144 of file LocIdxSubSet.cpp.

References getIdx(), and OA::LocSubSet::getLoc().

Here is the call graph for this function:

std::string OA::LocIdxSubSet::toString ( OA_ptr< IRHandlesIRInterface pIR  )  [virtual]

Reimplemented from OA::LocSubSet.

Definition at line 152 of file LocIdxSubSet.cpp.

References getIdx(), and OA::LocSubSet::getLoc().

Here is the call graph for this function:

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

Reimplemented from OA::LocSubSet.

Definition at line 77 of file LocIdxSubSet.hpp.

References sOrder.

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


Member Data Documentation

int OA::LocIdxSubSet::mIdx [private]

Definition at line 80 of file LocIdxSubSet.hpp.

Referenced by getIdx(), and output().

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

Reimplemented from OA::LocSubSet.

Definition at line 81 of file LocIdxSubSet.hpp.

Referenced by getOrder().


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

Generated on Fri Nov 7 05:28:02 2008 for OpenAnalysis by  doxygen 1.5.5