Files Classes Functions Hierarchy
#include <scopedependentfunctions.h>
Public Member Functions | |
| rpnsave () | |
| rpnsave (deque< rpnbase * > &ds, bool const evaluate=true) | |
| ~rpnsave () | |
| rpnbase * | copy () const |
| void | visit (deque< rpnbase * > &ds, rpnstring &fname) |
| string const | name () const |
| void | eval (deque< rpnbase * > &ds) |
Definition at line 87 of file scopedependentfunctions.h.
| rpnsave::rpnsave | ( | ) | [inline] |
Definition at line 274 of file scopedependentfunctions.cpp.
References eval().
00275 { 00276 if (evaluate) 00277 eval(ds); 00278 else 00279 ds.push_front(this); 00280 }
| rpnsave::~rpnsave | ( | ) | [inline] |
| rpnbase * rpnsave::copy | ( | ) | const [virtual] |
Reimplemented from rpnfunction.
Definition at line 282 of file scopedependentfunctions.cpp.
References rpnsave().
00283 { 00284 return new rpnsave(); 00285 }
| void rpnsave::eval | ( | deque< rpnbase * > & | ds | ) | [virtual] |
Reimplemented from rpnfunction.
Definition at line 287 of file scopedependentfunctions.cpp.
References rpnbase::dec().
Referenced by rpnsave().
00288 { 00289 if(ds.empty()) 00290 return; 00291 00292 ds[0]->accept(ds,*this); 00293 00294 dec(); 00295 }
| string const rpnsave::name | ( | ) | const [inline, virtual] |
Reimplemented from rpnfunction.
Definition at line 383 of file scopedependentfunctions.cpp.
References rpnbase::dec(), and rpnstring::str.
00384 { 00385 rpnbase* x0 = ds.front(); 00386 ds.pop_front(); 00387 00388 ofstream os( fname.str.c_str(), ios::out|ios::trunc ); 00389 if (!os) 00390 { 00391 ds.push_front(x0); 00392 return; 00393 } 00394 00395 bool const preservedmode = SingletonPtr<inputstatescope>()->evalimmediate; 00396 00397 writeprogram(os,rpnprogramstackstate().ps->front()); 00398 00399 os << endl; 00400 00401 os.clear(); 00402 00403 SingletonPtr<inputstatescope>()->evalimmediate = preservedmode; 00404 00405 x0->dec(); 00406 }
1.5.8