Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends

AttributeReference Class Reference

Represents a attribute reference node (like .b) in the expression tree. More...

#include <attrrefs.h>

Inheritance diagram for AttributeReference:
ExprTree ExprTree

List of all members.

Public Member Functions

 AttributeReference (const AttributeReference &ref)
 Copy Constructor.
virtual ~AttributeReference ()
 Destructor.
AttributeReferenceoperator= (const AttributeReference &ref)
 Assignment operator.
void GetComponents (ExprTree *&expr, std::string &attr, bool &abs) const
virtual ExprTreeCopy () const
bool CopyFrom (const AttributeReference &ref)
virtual bool SameAs (const ExprTree *tree) const
 AttributeReference (const AttributeReference &ref)
 Copy Constructor.
virtual ~AttributeReference ()
 Destructor.
AttributeReferenceoperator= (const AttributeReference &ref)
 Assignment operator.
void GetComponents (ExprTree *&expr, std::string &attr, bool &abs) const
virtual ExprTreeCopy () const
bool CopyFrom (const AttributeReference &ref)
virtual bool SameAs (const ExprTree *tree) const

Static Public Member Functions

static AttributeReferenceMakeAttributeReference (ExprTree *expr, const std::string &attrName, bool absolute=false)
static AttributeReferenceMakeAttributeReference (ExprTree *expr, const std::string &attrName, bool absolute=false)

Protected Member Functions

 AttributeReference ()
 Constructor.
 AttributeReference ()
 Constructor.

Friends

bool operator== (const AttributeReference &ref1, const AttributeReference &ref2)
bool operator== (const AttributeReference &ref1, const AttributeReference &ref2)

Detailed Description

Represents a attribute reference node (like .b) in the expression tree.


Member Function Documentation

ExprTree * AttributeReference::Copy (  )  const [virtual]

Return a copy of this attribute reference.

Implements ExprTree.

virtual ExprTree* AttributeReference::Copy (  )  const [virtual]

Return a copy of this attribute reference.

Implements ExprTree.

bool AttributeReference::CopyFrom ( const AttributeReference ref  ) 

Copy from the given reference into this reference.

Parameters:
ref The reference to copy from.
Returns:
true if the copy succeeded, false otherwise.
bool AttributeReference::CopyFrom ( const AttributeReference ref  ) 

Copy from the given reference into this reference.

Parameters:
ref The reference to copy from.
Returns:
true if the copy succeeded, false otherwise.
void AttributeReference::GetComponents ( ExprTree *&  expr,
std::string &  attr,
bool &  abs 
) const

Deconstructor to get the components of an attribute reference

Parameters:
expr The expression part of the reference (NULL for absolute or simple references)
attr The name of the attribute being referred to
abs true iff the reference is absolute (i.e., .attr)
void AttributeReference::GetComponents ( ExprTree *&  expr,
std::string &  attr,
bool &  abs 
) const

Deconstructor to get the components of an attribute reference

Parameters:
expr The expression part of the reference (NULL for absolute or simple references)
attr The name of the attribute being referred to
abs true iff the reference is absolute (i.e., .attr)
static AttributeReference* AttributeReference::MakeAttributeReference ( ExprTree expr,
const std::string &  attrName,
bool  absolute = false 
) [static]

Factory method to create attribute reference nodes.

Parameters:
expr The expression part of the reference (i.e., in case of expr.attr). This parameter is NULL if the reference is absolute (i.e., .attr) or simple (i.e., attr).
attrName The name of the reference. This string is duplicated internally.
absolute True if the reference is an absolute reference (i.e., in case of .attr). This parameter cannot be true if expr is not NULL
static AttributeReference* AttributeReference::MakeAttributeReference ( ExprTree expr,
const std::string &  attrName,
bool  absolute = false 
) [static]

Factory method to create attribute reference nodes.

Parameters:
expr The expression part of the reference (i.e., in case of expr.attr). This parameter is NULL if the reference is absolute (i.e., .attr) or simple (i.e., attr).
attrName The name of the reference. This string is duplicated internally.
absolute True if the reference is an absolute reference (i.e., in case of .attr). This parameter cannot be true if expr is not NULL
bool AttributeReference::SameAs ( const ExprTree tree  )  const [virtual]

Is this attribute reference the same as another?

Parameters:
tree The reference to compare with
Returns:
true if they are the same, false otherwise.

Implements ExprTree.

virtual bool AttributeReference::SameAs ( const ExprTree tree  )  const [virtual]

Is this attribute reference the same as another?

Parameters:
tree The reference to compare with
Returns:
true if they are the same, false otherwise.

Implements ExprTree.


Friends And Related Function Documentation

bool operator== ( const AttributeReference ref1,
const AttributeReference ref2 
) [friend]

Are the two attribute references the same?

Parameters:
ref1 An attribute reference
ref2 Another attribute reference
Returns:
true if they are the same, false otherwise.
bool operator== ( const AttributeReference ref1,
const AttributeReference ref2 
) [friend]

Are the two attribute references the same?

Parameters:
ref1 An attribute reference
ref2 Another attribute reference
Returns:
true if they are the same, false otherwise.

The documentation for this class was generated from the following files:
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends