Polaris: ExprSignature Class Reference

ExprSignature Class Reference

a class for Expression Signatures More...

#include <ExprSignature.h>

List of all members.

Public Member Functions

 ExprSignature ()
 Construct an undefined ExprSignature.
 ExprSignature (const ExprSignature &s)
 Construct a ExprSignature with a copy of another ExprSignature's current value.
 ~ExprSignature ()
 destructor
void print (ostream &o) const
 print the object.
ExprSignatureoperator= (const ExprSignature &s)
 assignment operator.
Boolean has_wildcard () const
 check to see if the _has_wildcard bit is set.
Boolean has_fn_call () const
 check to see if the _has_fn_call bit is set.
int hash_value () const
 return the hash_value.
void has_wildcard (Boolean value)
 set the flag to the new value.
void has_fn_call (Boolean value)
 set the flag to the new value.
void hash_value (int value)
 set the flag to the new value.
void merge (const ExprSignature &s)
 merge a child Signature into the parent.
void merge (int value)
 merge an integer value into the signature.
void merge (const char *s)
 merge a string into the signature.
void clear ()
 reset the values of the signature to zero.

Friends

ostream & operator<< (ostream &o, const ExprSignature &s)


Detailed Description

a class for Expression Signatures

Polaris Expression

See also:
Expression/ExprSignature.h

Expression/ExprSignature.h

Expression/ExprSignature.cc

Description

A ExprSignature is a hash value of the expression, plus several boolean variables which flag situations such as whether it contains a Wildcard or function call.

Bugs

No known bugs.

Definition at line 38 of file ExprSignature.h.


Constructor & Destructor Documentation

ExprSignature::ExprSignature  )  [inline]
 

Construct an undefined ExprSignature.

Definition at line 96 of file ExprSignature.h.

References clear().

ExprSignature::ExprSignature const ExprSignature s  )  [inline]
 

Construct a ExprSignature with a copy of another ExprSignature's current value.

Definition at line 102 of file ExprSignature.h.

ExprSignature::~ExprSignature  )  [inline]
 

destructor

< nothing to do

Definition at line 108 of file ExprSignature.h.


Member Function Documentation

void ExprSignature::print ostream &  o  )  const [inline]
 

print the object.

Definition at line 122 of file ExprSignature.h.

References has_fn_call(), has_wildcard(), and hash_value().

ExprSignature & ExprSignature::operator= const ExprSignature s  )  [inline]
 

assignment operator.

Definition at line 114 of file ExprSignature.h.

Boolean ExprSignature::has_wildcard  )  const [inline]
 

check to see if the _has_wildcard bit is set.

Definition at line 130 of file ExprSignature.h.

References ExprSigData::_has_wildcard.

Referenced by Expression::_backup(), Expression::_match(), Wildcard::_wildcard_update_signature(), print(), MultipleArgWildcard::update_signature(), and wildcard_compare_args().

Boolean ExprSignature::has_fn_call  )  const [inline]
 

check to see if the _has_fn_call bit is set.

Definition at line 136 of file ExprSignature.h.

References ExprSigData::_has_fn_call.

Referenced by _is_not_in_siglist(), _loc_in_siglist(), _loc_in_siglist_expon(), _non_wc_match(), print(), and FunctionCallExpr::update_signature().

int ExprSignature::hash_value  )  const [inline]
 

return the hash_value.

Definition at line 142 of file ExprSignature.h.

References ExprSigData::_hash_value.

Referenced by _is_not_in_siglist(), _loc_in_siglist(), _loc_in_siglist_expon(), _non_wc_match(), merge(), print(), and test_expr_str().

void ExprSignature::has_wildcard Boolean  value  )  [inline]
 

set the flag to the new value.

Definition at line 148 of file ExprSignature.h.

References ExprSigData::_has_wildcard.

void ExprSignature::has_fn_call Boolean  value  )  [inline]
 

set the flag to the new value.

Definition at line 154 of file ExprSignature.h.

References ExprSigData::_has_fn_call.

void ExprSignature::hash_value int  value  )  [inline]
 

set the flag to the new value.

Definition at line 160 of file ExprSignature.h.

References ExprSigData::_hash_value.

void ExprSignature::merge const ExprSignature s  )  [inline]
 

merge a child Signature into the parent.

Definition at line 177 of file ExprSignature.h.

References ExprSigData::_has_fn_call, and ExprSigData::_has_wildcard.

Referenced by Wildcard::_wildcard_update_signature(), merge(), AnyOfType::update_signature(), AnySuchThat::update_signature(), InfinityExpr::update_signature(), TableExpr::update_signature(), StringExpr::update_signature(), LabelExpr::update_signature(), IntConstExpr::update_signature(), IDExpr::update_signature(), FormatExpr::update_signature(), ArgNumberExpr::update_signature(), and Expression::update_signature().

void ExprSignature::merge int  value  )  [inline]
 

merge an integer value into the signature.

Definition at line 166 of file ExprSignature.h.

References hash_value().

void ExprSignature::merge const char *  s  )  [inline]
 

merge a string into the signature.

Definition at line 186 of file ExprSignature.h.

References merge().

void ExprSignature::clear  )  [inline]
 

reset the values of the signature to zero.

Definition at line 193 of file ExprSignature.h.

References ExprSigData::_has_fn_call, ExprSigData::_has_wildcard, and ExprSigData::_hash_value.

Referenced by Wildcard::_wildcard_update_signature(), ExprSignature(), InfinityExpr::update_signature(), TableExpr::update_signature(), StringExpr::update_signature(), LabelExpr::update_signature(), IntConstExpr::update_signature(), IDExpr::update_signature(), FormatExpr::update_signature(), ArgNumberExpr::update_signature(), and Expression::update_signature().


Friends And Related Function Documentation

ostream& operator<< ostream &  o,
const ExprSignature s
[friend]
 

Definition at line 39 of file ExprSignature.h.


The documentation for this class was generated from the following file:
 © 1995-2005 University of Illinois, Urbana-Champaign. All rights reserved.  Fri Mar 25 23:07:23 2005