proj home

Files   Classes   Functions   Hierarchy  

rpnpush Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnpush:
Collaboration diagram for rpnpush:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 28 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnpush::rpnpush (  )  [inline]

Definition at line 32 of file rpnfunc.h.

Referenced by copy().

00032 {}

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

Definition at line 89 of file rpnfunc.cpp.

References eval().

00090 {
00091   if (evaluate)
00092     eval(ds);
00093   else
00094     ds.push_front(this);
00095 }

rpnpush::~rpnpush (  )  [inline]

Definition at line 34 of file rpnfunc.h.

00034 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 97 of file rpnfunc.cpp.

References rpnpush().

00098 {
00099   return new rpnpush(); 
00100 }

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

Reimplemented from rpnfunction.

Definition at line 102 of file rpnfunc.cpp.

References rpnbase::dec().

Referenced by rpnpush().

00103 {
00104   if (!ds.empty())
00105   {
00106     rpnprogramstackstate().ds2.push_front(ds.front());
00107     ds.pop_front();
00108   }
00109 
00110   dec();
00111 }

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

Reimplemented from rpnfunction.

Definition at line 37 of file rpnfunc.h.

00037 { return string("push"); }


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