proj home

Files   Classes   Functions   Hierarchy  

rpnvar Class Reference

#include <rpn.h>

Inheritance diagram for rpnvar:
Collaboration diagram for rpnvar:

List of all members.

Public Member Functions

void inc ()
 rpnvar (rpnbase *x_, string const &s)
 rpnvar (rpnprogram &prog, rpnbase *x_, string const &s)
 ~rpnvar ()
rpnbasecopy () const
void accept (deque< rpnbase * > &ds, rpnfunction &f)
void eval (deque< rpnbase * > &ds)
ostreamprint (ostream &os) const
string const name () const
bool const isvariable () const
void inc ()
 rpnvar (rpnbase *x_, string const &s)
 rpnvar (rpnprogram &prog, rpnbase *x_, string const &s)
 ~rpnvar ()
rpnbasecopy () const
void accept (deque< rpnbase * > &ds, rpnfunction &f)
void eval (deque< rpnbase * > &ds)
ostreamprint (ostream &os) const
string const name () const
bool const isvariable () const

Public Attributes

string varname
rpnbasex


Detailed Description

Definition at line 210 of file rpn.h.


Constructor & Destructor Documentation

rpnvar::rpnvar ( rpnbase x_,
string const &  s 
) [inline]

Definition at line 515 of file rpn.cpp.

Referenced by copy().

00516   : varname(s), x(x_)
00517 {
00518 }

rpnvar::rpnvar ( rpnprogram prog,
rpnbase x_,
string const &  s 
) [inline]

Definition at line 509 of file rpn.cpp.

References rpnprogram::variables.

00510   : varname(s), x(x_)
00511 {
00512   prog.variables.push_front(this);
00513 }

rpnvar::~rpnvar (  )  [inline]

Definition at line 501 of file rpn.cpp.

00502 {
00503   if (x==0)
00504     return;
00505 
00506   x->dec();
00507 }

rpnvar::rpnvar ( rpnbase x_,
string const &  s 
)

rpnvar::rpnvar ( rpnprogram prog,
rpnbase x_,
string const &  s 
)

rpnvar::~rpnvar (  ) 


Member Function Documentation

void rpnvar::accept ( deque< rpnbase * > &  ds,
rpnfunction f 
) [inline, virtual]

Reimplemented from rpnbase.

Definition at line 190 of file rpn2.h.

References rpnfunction::visit().

00191     { f.visit(ds,*this); }

void rpnvar::accept ( deque< rpnbase * > &  ds,
rpnfunction f 
) [inline, virtual]

Reimplemented from rpnbase.

Definition at line 224 of file rpn.h.

References rpnfunction::visit().

00225     { f.visit(ds,*this); }

rpnbase* rpnvar::copy (  )  const [virtual]

Implements rpnbase.

rpnbase * rpnvar::copy (  )  const [virtual]

Implements rpnbase.

Definition at line 520 of file rpn.cpp.

References rpnvar(), and varname.

00521 {
00522   return new rpnvar( x->copy(),varname);
00523 }

void rpnvar::eval ( deque< rpnbase * > &  ds  )  [inline, virtual]

Reimplemented from rpnbase.

Definition at line 193 of file rpn2.h.

References rpnbase::copy(), rpnbase::eval(), and x.

00194     { rpnbase* w = x->copy(); w->eval(ds); }

void rpnvar::eval ( deque< rpnbase * > &  ds  )  [inline, virtual]

Reimplemented from rpnbase.

Definition at line 227 of file rpn.h.

References rpnbase::copy(), rpnbase::eval(), and x.

00228     { rpnbase* w = x->copy(); w->eval(ds); }

void rpnvar::inc (  )  [virtual]

Reimplemented from rpnbase.

void rpnvar::inc (  )  [inline, virtual]

Reimplemented from rpnbase.

Definition at line 495 of file rpn.cpp.

References rpnbase::counter.

00496 { 
00497   ++counter;
00498   x->inc();
00499 }

bool const rpnvar::isvariable (  )  const [inline, virtual]

Reimplemented from rpnbase.

Definition at line 200 of file rpn2.h.

00201     { return true; }

bool const rpnvar::isvariable (  )  const [inline, virtual]

Reimplemented from rpnbase.

Definition at line 234 of file rpn.h.

00235     { return true; }

string const rpnvar::name (  )  const [inline, virtual]

Reimplemented from rpnbase.

Definition at line 197 of file rpn2.h.

References varname.

00198     { return varname; }

string const rpnvar::name (  )  const [inline, virtual]

Reimplemented from rpnbase.

Definition at line 231 of file rpn.h.

References varname.

00232     { return varname; }

ostream& rpnvar::print ( ostream os  )  const [virtual]

Reimplemented from rpnbase.

ostream & rpnvar::print ( ostream os  )  const [virtual]

Reimplemented from rpnbase.

Definition at line 525 of file rpn.cpp.

References varname.

00526 {
00527   os << varname << " : ";
00528   return x->print(os);
00529 }


Member Data Documentation

Definition at line 214 of file rpn.h.

Referenced by copy(), pathstuff::findrelativetree(), name(), print(), and dictadd::visit().


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

Generated on Fri Mar 4 00:50:16 2011 for Chelton Evans Source by  doxygen 1.5.8