proj home

Files   Classes   Functions   Hierarchy  

rpnswap Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnswap:
Collaboration diagram for rpnswap:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 246 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnswap::rpnswap (  )  [inline]

Definition at line 250 of file rpnfunc.h.

Referenced by copy().

00250 {}

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

Definition at line 559 of file rpnfunc.cpp.

References eval().

00560 {
00561   if (evaluate)
00562     eval(ds);
00563   else
00564     ds.push_front(this);
00565 }

rpnswap::~rpnswap (  )  [inline]

Definition at line 252 of file rpnfunc.h.

00252 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 567 of file rpnfunc.cpp.

References rpnswap().

00568 {
00569   return new rpnswap();
00570 }

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

Reimplemented from rpnfunction.

Definition at line 572 of file rpnfunc.cpp.

References rpnbase::dec().

Referenced by rpnswap().

00573 {
00574   if (ds.size()>1)
00575   {
00576     rpnbase* p = ds[0];
00577     ds[0] = ds[1];
00578     ds[1] = p;
00579   }
00580 
00581   dec();
00582 }

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

Reimplemented from rpnfunction.

Definition at line 255 of file rpnfunc.h.

00255 { return string("swap"); }


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