proj home

Files   Classes   Functions   Hierarchy  

rpnbitnot Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnbitnot:
Collaboration diagram for rpnbitnot:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 1224 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnbitnot::rpnbitnot (  )  [inline]

Definition at line 1228 of file rpnfunc.h.

Referenced by copy().

01228 {}

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

Definition at line 3862 of file rpnfunc.cpp.

References eval().

03863 {
03864   if (evaluate)
03865     eval(ds);
03866   else
03867     ds.push_front(this);
03868 }

rpnbitnot::~rpnbitnot (  )  [inline]

Definition at line 1230 of file rpnfunc.h.

01230 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 3870 of file rpnfunc.cpp.

References rpnbitnot().

03871 {
03872   return new rpnbitnot();
03873 }

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

Reimplemented from rpnfunction.

Definition at line 3875 of file rpnfunc.cpp.

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

Referenced by rpnbitnot().

03876 {
03877   if (!ds.empty())
03878     ds[0]->accept(ds,*this);
03879 
03880   dec();
03881 }

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

Reimplemented from rpnfunction.

Definition at line 1235 of file rpnfunc.h.

01235 { return string("not"); }

void rpnbitnot::visit ( deque< rpnbase * > &  ds,
rpninteger n 
) [virtual]

Reimplemented from rpnfunction.

Definition at line 3883 of file rpnfunc.cpp.

References rpninteger::num.

03884 {
03885   n.num = ~n.num;
03886 }


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

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