proj home

Files   Classes   Functions   Hierarchy  

progrev Class Reference

#include <rpnfunc.h>

Inheritance diagram for progrev:
Collaboration diagram for progrev:

List of all members.

Public Member Functions

 progrev ()
 progrev (deque< rpnbase * > &ds, bool const evaluate=true)
 ~progrev ()
rpnbasecopy () const
void visit (deque< rpnbase * > &ds, rpnprogram &pr)
string const name () const
void eval (deque< rpnbase * > &ds)


Detailed Description

Definition at line 879 of file rpnfunc.h.


Constructor & Destructor Documentation

progrev::progrev (  )  [inline]

Definition at line 883 of file rpnfunc.h.

Referenced by copy().

00883 {}

progrev::progrev ( deque< rpnbase * > &  ds,
bool const   evaluate = true 
)

Definition at line 2616 of file rpnfunc.cpp.

References eval().

02617 {
02618   if (evaluate)
02619     eval(ds);
02620   else
02621     ds.push_front(this);
02622 }

progrev::~progrev (  )  [inline]

Definition at line 885 of file rpnfunc.h.

00885 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 2624 of file rpnfunc.cpp.

References progrev().

02625 {
02626   return new progrev();
02627 }

void progrev::eval ( deque< rpnbase * > &  ds  )  [virtual]

Reimplemented from rpnfunction.

Definition at line 2629 of file rpnfunc.cpp.

References rpnbase::accept(), and rpnbase::dec().

Referenced by progrev().

02630 {
02631   if(!ds.empty())
02632     ds[0]->accept(ds,*this);
02633 
02634   dec();
02635 }

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

Reimplemented from rpnfunction.

Definition at line 890 of file rpnfunc.h.

00890 { return string("prev"); }

void progrev::visit ( deque< rpnbase * > &  ds,
rpnprogram pr 
) [virtual]

Reimplemented from rpnfunction.

Definition at line 2637 of file rpnfunc.cpp.

References rpnprogram::v.

02638 {
02639   reverse(pr.v.begin(),pr.v.end());
02640 }


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

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