proj home

Files   Classes   Functions   Hierarchy  

rpnintegerconvert Class Reference

#include <rpnfunc.h>

Inheritance diagram for rpnintegerconvert:
Collaboration diagram for rpnintegerconvert:

List of all members.

Public Member Functions

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


Detailed Description

Definition at line 1320 of file rpnfunc.h.


Constructor & Destructor Documentation

rpnintegerconvert::rpnintegerconvert (  )  [inline]

Definition at line 1324 of file rpnfunc.h.

Referenced by copy().

01324 {}

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

Definition at line 4078 of file rpnfunc.cpp.

References eval().

04079 {
04080   if (evaluate)
04081     eval(ds);
04082   else
04083     ds.push_front(this);
04084 }

rpnintegerconvert::~rpnintegerconvert (  )  [inline]

Definition at line 1326 of file rpnfunc.h.

01326 {}


Member Function Documentation

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

Reimplemented from rpnfunction.

Definition at line 4086 of file rpnfunc.cpp.

References rpnintegerconvert().

04087 {
04088   return new rpnintegerconvert();
04089 }

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

Reimplemented from rpnfunction.

Definition at line 4091 of file rpnfunc.cpp.

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

Referenced by rpnintegerconvert().

04092 {
04093   if(!ds.empty())
04094     ds[0]->accept(ds,*this);
04095 
04096   dec();
04097 }

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

Reimplemented from rpnfunction.

Definition at line 1332 of file rpnfunc.h.

01332 { return string("integer"); }

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

Reimplemented from rpnfunction.

Definition at line 4099 of file rpnfunc.cpp.

References rpnbase::dec(), and rpnreal::num.

04100 {
04101   rpnbase* x0 = ds.front();
04102   ds.pop_front();
04103 
04104   long int num = (long int)(n.num);
04105 
04106   new rpninteger(ds,num);
04107 
04108   x0->dec();
04109 }

void rpnintegerconvert::visit ( deque< rpnbase * > &  ds,
rpnstring s 
) [virtual]

Reimplemented from rpnfunction.

Definition at line 4112 of file rpnfunc.cpp.

References rpnbase::dec(), and rpnstring::str.

04113 {
04114   rpnbase* x0 = ds.front();
04115   ds.pop_front();
04116 
04117   long int n;
04118   stringstream ss(s.str.c_str());
04119   ss >> n;
04120   new rpninteger(ds,n);
04121 
04122   x0->dec();
04123 }


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

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