proj home

Files   Classes   Functions   Hierarchy  

Public Member Functions | Public Attributes | List of all members
rpnbase Class Reference

#include <rpn.h>

Inheritance diagram for rpnbase:
Inheritance graph
Collaboration diagram for rpnbase:
Collaboration graph

Public Member Functions

virtual void inc ()
void dec ()
 rpnbase ()
virtual ~rpnbase ()=0
virtual rpnbasecopy () const =0
virtual ostreamprint (ostream &os) const
virtual string const name () const
virtual void eval (deque< rpnbase * > &ds)
virtual void accept (deque< rpnbase * > &ds, rpnfunction &f)
virtual bool const isinteger () const
virtual bool const isreal () const
virtual bool const iscomplex () const
virtual bool const isstring () const
virtual bool const isprogram () const
virtual bool const isvariable () const
virtual bool const isvector () const
bool const isnumber () const
virtual void inc ()
void dec ()
 rpnbase ()
virtual ~rpnbase ()=0
virtual rpnbasecopy () const =0
virtual ostreamprint (ostream &os) const
virtual string const name () const
virtual void eval (deque< rpnbase * > &ds)
virtual void accept (deque< rpnbase * > &ds, rpnfunction &f)
virtual bool const isinteger () const
virtual bool const isreal () const
virtual bool const isstring () const
virtual bool const isprogram () const
virtual bool const isvariable () const
virtual bool const isvector () const
bool const isnumber () const

Public Attributes

unsigned int counter

Detailed Description

Definition at line 16 of file rpn.h.

Constructor & Destructor Documentation

rpnbase::rpnbase ( )
inline

Definition at line 28 of file rpn.h.

: counter(1) {}
rpnbase::~rpnbase ( )
pure virtual

Definition at line 32 of file rpn.cpp.

{}
rpnbase::rpnbase ( )
inline

Definition at line 37 of file rpn2.h.

: counter(1) {}
virtual rpnbase::~rpnbase ( )
pure virtual

Member Function Documentation

virtual void rpnbase::accept ( deque< rpnbase * > &  ds,
rpnfunction f 
)
inlinevirtual

Reimplemented in rpnprogram, rpnprogram, rpnvector, rpnvar, rpnvector, rpnstring, rpnvar, rpninteger, rpnstring, rpncomplex, rpninteger, rpnreal, and rpnreal.

Definition at line 43 of file rpn.h.

{}
virtual void rpnbase::accept ( deque< rpnbase * > &  ds,
rpnfunction f 
)
inlinevirtual

Reimplemented in rpnprogram, rpnprogram, rpnvector, rpnvar, rpnvector, rpnstring, rpnvar, rpninteger, rpnstring, rpncomplex, rpninteger, rpnreal, and rpnreal.

Definition at line 52 of file rpn2.h.

{}
rpnbase * rpnbase::copy ( ) const
pure virtual

Implemented in rpngcd, rpnascii, rpnmod, rpnfactorial, rpnstringconvert, rpnintegerconvert, rpnbitshiftright, rpnbitshiftleft, rpnbitand, rpnbitor, rpnbitxor, rpnbitnot, rpnintegerbin, rpnintegerdec, rpnintegeroct, rpnintegerhex, pstream, rpnvectorpointermake, rpnvectormake, rpnpointermake, rpnerase, rpninsert, rpncp, varmv, pathquery, pathcd, isrpnprogram, isrpncomplex, isrpnreal, isrpninteger, isrpnstring, rpndivide, rpnsubtract, progrev, progdecompose, prognew, rpnforn, rpnfor, rpnequal, rpngreaterthan, rpngreaterthanequal, rpnlessthanequal, rpnlessthan, rpnmultiply, rpnadd, rpnr_to_c, rpnneg, rpnnot, rpnp_to_c, varrecall, rpnd_to_r, varreplace, varexists, rpnr_to_d, vardec, varinc, rpnpow, rpnfconj, pathtoggle, varpwd, rpnrealconvert, vartree, rpnfimag, varls, depthd, rpnfnorm, varpopd, varpushd, rpnfarg, vareval, rpnfabs, vardel, var, rpnfatan, thenelseif, ifthenelse, rpnfasin, thenif, rpnfacos, ifthen, dropn, rpnfceil, rpnprogram, rpnffloor, drop, dropi, rpnftanh, rpnswap2, rpnprogram, rpnfcosh, rpnvector, rpnswap, rotn, rpnfsinh, rpnvar, rot, rpnvector, rev, rpnfsqrt, dssize, rpnstring, rpnvar, rpndupn, rpnfexp, rpninteger, rpndup, rpnstring, rpnclearboth, rpnflog10, rpncomplex, rpnclearvar, rpninteger, rpninterp, rpnclear, rpnflog, dictadd, rpnreal, rpnreal, rpneval, rpnsave, dssize2, rpnftan, rpnfunction, rpnpopn, load, rpnfunction, rpnfsin, rpnpushn, stateevalquery, rpnpop, rpnfcos, stateevalunset, rpnpush, stateevalset, and rpnprogset.

Definition at line 33 of file rpn.cpp.

Referenced by rpnvar::eval(), rpnprogramstackstate::evaluate(), rpnprogramstackstate::recall(), vareval::visit(), rpnfor::visit(), and rpnforn::visit().

{ return 0; }
virtual rpnbase* rpnbase::copy ( ) const
pure virtual
void rpnbase::dec ( )
inline
void rpnbase::dec ( )
inline

Definition at line 33 of file rpn2.h.

{ --counter; if (counter==0) delete this; }
virtual void rpnbase::eval ( deque< rpnbase * > &  ds)
inlinevirtual
virtual void rpnbase::eval ( deque< rpnbase * > &  ds)
inlinevirtual
virtual void rpnbase::inc ( )
inlinevirtual
virtual void rpnbase::inc ( )
inlinevirtual

Reimplemented in rpnprogram, rpnprogram, rpnvar, and rpnvar.

Definition at line 31 of file rpn2.h.

{ ++counter; }
virtual bool const rpnbase::iscomplex ( ) const
inlinevirtual

Reimplemented in rpncomplex.

Definition at line 48 of file rpn.h.

Referenced by rpnpow::visit(), rpnadd::visit(), rpnmultiply::visit(), rpnsubtract::visit(), and rpndivide::visit().

{ return false; }
virtual bool const rpnbase::isinteger ( ) const
inlinevirtual
virtual bool const rpnbase::isinteger ( ) const
inlinevirtual

Reimplemented in rpninteger, and rpninteger.

Definition at line 55 of file rpn2.h.

{ return false; }
bool const rpnbase::isnumber ( ) const
inline

Definition at line 53 of file rpn.h.

{ return this->isreal() || this->isinteger(); }
bool const rpnbase::isnumber ( ) const
inline

Definition at line 61 of file rpn2.h.

{ return this->isreal() || this->isinteger(); }
virtual bool const rpnbase::isprogram ( ) const
inlinevirtual

Reimplemented in rpnprogram, and rpnprogram.

Definition at line 50 of file rpn.h.

Referenced by pathstuff::findrelativetree(), rpnprogset::visit(), dictadd::visit(), rpnfor::visit(), rpnforn::visit(), and pstream::visit().

{ return false; }
virtual bool const rpnbase::isprogram ( ) const
inlinevirtual

Reimplemented in rpnprogram, and rpnprogram.

Definition at line 58 of file rpn2.h.

{ return false; }
virtual bool const rpnbase::isreal ( ) const
inlinevirtual
virtual bool const rpnbase::isreal ( ) const
inlinevirtual

Reimplemented in rpnreal, and rpnreal.

Definition at line 56 of file rpn2.h.

{ return false; }
virtual bool const rpnbase::isstring ( ) const
inlinevirtual

Reimplemented in rpnstring, and rpnstring.

Definition at line 49 of file rpn.h.

Referenced by pathstuff::convert().

{ return false; }
virtual bool const rpnbase::isstring ( ) const
inlinevirtual

Reimplemented in rpnstring, and rpnstring.

Definition at line 57 of file rpn2.h.

{ return false; }
virtual bool const rpnbase::isvariable ( ) const
inlinevirtual

Reimplemented in rpnvar, and rpnvar.

Definition at line 51 of file rpn.h.

{ return false; }
virtual bool const rpnbase::isvariable ( ) const
inlinevirtual

Reimplemented in rpnvar, and rpnvar.

Definition at line 59 of file rpn2.h.

{ return false; }
virtual bool const rpnbase::isvector ( ) const
inlinevirtual

Reimplemented in rpnvector, and rpnvector.

Definition at line 52 of file rpn.h.

Referenced by rpnvectorpointermake::visit().

{ return false; }
virtual bool const rpnbase::isvector ( ) const
inlinevirtual

Reimplemented in rpnvector, and rpnvector.

Definition at line 60 of file rpn2.h.

{ return false; }
virtual string const rpnbase::name ( ) const
inlinevirtual

Reimplemented in rpngcd, rpnascii, rpnmod, rpnfactorial, rpnstringconvert, rpnintegerconvert, rpnbitshiftright, rpnbitshiftleft, rpnbitand, rpnbitor, rpnbitxor, rpnbitnot, rpnintegerbin, rpnintegerdec, rpnintegeroct, rpnintegerhex, pstream, rpnvectorpointermake, rpnvectormake, rpnpointermake, rpnerase, rpninsert, rpncp, varmv, pathquery, pathcd, isrpnprogram, isrpncomplex, isrpnreal, isrpninteger, isrpnstring, rpndivide, rpnsubtract, progrev, progdecompose, prognew, rpnforn, rpnfor, rpnequal, rpngreaterthan, rpngreaterthanequal, rpnlessthanequal, rpnlessthan, rpnmultiply, rpnadd, rpnneg, rpnnot, rpnr_to_c, varrecall, rpnp_to_c, varreplace, varexists, rpnd_to_r, vardec, rpnr_to_d, varinc, rpnpow, pathtoggle, varpwd, rpnfconj, rpnrealconvert, vartree, varls, depthd, rpnfimag, varpopd, varpushd, rpnfnorm, vareval, rpnfarg, vardel, var, rpnfabs, thenelseif, ifthenelse, rpnfatan, thenif, rpnfasin, ifthen, rpnfacos, dropn, dropsymb, rpnfceil, drop, rpnffloor, dropi, rpnswap2, rpnftanh, rpnvector, rpnswap, rotn, rpnfcosh, rpnvar, rpnvector, rot, rpnfsinh, rev, rpnvar, dssize, rpnfsqrt, rpndupn, rpninteger, rpndup, rpnfexp, rpnclearboth, rpncomplex, rpninteger, rpnclearvar, rpninterp, rpnflog10, rpnclear, dictadd, rpnreal, rpnreal, rpneval, rpnflog, rpnsave, dssize2, rpnfunction, rpnfunction, rpnpopn, load, rpnftan, rpnpushn, stateevalquery, rpnpop, rpnfsin, stateevalunset, rpnpush, rpnprogset, stateevalset, and rpnfcos.

Definition at line 35 of file rpn.h.

{ return string("undefined"); }
virtual string const rpnbase::name ( ) const
inlinevirtual

Reimplemented in rpngcd, rpnascii, rpnmod, rpnfactorial, rpnstringconvert, rpnintegerconvert, rpnbitshiftright, rpnbitshiftleft, rpnbitand, rpnbitor, rpnbitxor, rpnbitnot, rpnintegerbin, rpnintegerdec, rpnintegeroct, rpnintegerhex, pstream, rpnvectorpointermake, rpnvectormake, rpnpointermake, rpnerase, rpninsert, rpncp, varmv, pathquery, pathcd, isrpnprogram, isrpncomplex, isrpnreal, isrpninteger, isrpnstring, rpndivide, rpnsubtract, progrev, progdecompose, prognew, rpnforn, rpnfor, rpnequal, rpngreaterthan, rpngreaterthanequal, rpnlessthanequal, rpnlessthan, rpnmultiply, rpnadd, rpnneg, rpnnot, rpnr_to_c, varrecall, rpnp_to_c, varreplace, varexists, rpnd_to_r, vardec, rpnr_to_d, varinc, rpnpow, pathtoggle, varpwd, rpnfconj, rpnrealconvert, vartree, varls, depthd, rpnfimag, varpopd, varpushd, rpnfnorm, vareval, rpnfarg, vardel, var, rpnfabs, thenelseif, ifthenelse, rpnfatan, thenif, rpnfasin, ifthen, rpnfacos, dropn, dropsymb, rpnfceil, drop, rpnffloor, dropi, rpnswap2, rpnftanh, rpnvector, rpnswap, rotn, rpnfcosh, rpnvar, rpnvector, rot, rpnfsinh, rev, rpnvar, dssize, rpnfsqrt, rpndupn, rpninteger, rpndup, rpnfexp, rpnclearboth, rpncomplex, rpninteger, rpnclearvar, rpninterp, rpnflog10, rpnclear, dictadd, rpnreal, rpnreal, rpneval, rpnflog, rpnsave, dssize2, rpnfunction, rpnfunction, rpnpopn, load, rpnftan, rpnpushn, stateevalquery, rpnpop, rpnfsin, stateevalunset, rpnpush, rpnprogset, stateevalset, and rpnfcos.

Definition at line 44 of file rpn2.h.

{ return string("undefined"); }
virtual ostream& rpnbase::print ( ostream os) const
inlinevirtual

Reimplemented in rpnprogram, rpnprogram, rpnvector, rpnvar, rpnvector, rpnstring, rpnvar, rpninteger, rpnstring, rpncomplex, rpninteger, rpnreal, and rpnreal.

Definition at line 32 of file rpn.h.

Referenced by operator<<().

{ return os << this->name(); }
virtual ostream& rpnbase::print ( ostream os) const
inlinevirtual

Reimplemented in rpnprogram, rpnprogram, rpnvector, rpnvar, rpnvector, rpnstring, rpnvar, rpninteger, rpnstring, rpncomplex, rpninteger, rpnreal, and rpnreal.

Definition at line 41 of file rpn2.h.

{ return os << this->name(); }

Member Data Documentation

unsigned int rpnbase::counter

Definition at line 21 of file rpn.h.

Referenced by rpnvar::inc(), and rpnprogram::inc().


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