proj home

Files   Classes   Functions   Hierarchy  

rpnnot Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnnot:
Collaboration diagram for rpnnot:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 652 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnnot::rpnnot (  )  [inline]

Definition at line 656 of file rpnfunc.h.

Referenced by copy().

00656 {}

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

Definition at line 974 of file rpnfunc.cpp.

References eval().

00975 {
00976   if (evaluate)
00977     eval(ds);
00978   else
00979     ds.push_front(this);
00980 }

rpnnot::~rpnnot (  )  [inline]

Definition at line 658 of file rpnfunc.h.

00658 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 982 of file rpnfunc.cpp.

References rpnnot().

00983 {
00984   return new rpnnot();
00985 }

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

Reimplemented from rpnfunction.

Definition at line 987 of file rpnfunc.cpp.

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

Referenced by rpnnot().

00988 {
00989   if(!ds.empty())
00990     ds[0]->accept(ds,*this);
00991 
00992   dec();
00993 }

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

Reimplemented from rpnfunction.

Definition at line 664 of file rpnfunc.h.

00664 { return string("!"); }

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

Reimplemented from rpnfunction.

Definition at line 1003 of file rpnfunc.cpp.

References rpninteger::num.

01004 {
01005   if (n.num==0)
01006     n.num = 1;
01007   else
01008     n.num = 0;
01009 }

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

Reimplemented from rpnfunction.

Definition at line 995 of file rpnfunc.cpp.

References rpnreal::num.

00996 {
00997   if (n.num==0)
00998     n.num = 1;
00999   else
01000     n.num = 0;
01001 }


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

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