|
From: <mor...@us...> - 2010-11-05 11:26:26
|
Revision: 3870
http://ecell.svn.sourceforge.net/ecell/?rev=3870&view=rev
Author: moriyoshi
Date: 2010-11-05 11:26:20 +0000 (Fri, 05 Nov 2010)
Log Message:
-----------
* Fixed the bug that some expressions wouldn't be evaluated correctly.
Modified Paths:
--------------
ecell3/trunk/ecell/libecs/scripting/VirtualMachine.cpp
Modified: ecell3/trunk/ecell/libecs/scripting/VirtualMachine.cpp
===================================================================
--- ecell3/trunk/ecell/libecs/scripting/VirtualMachine.cpp 2010-11-05 10:48:20 UTC (rev 3869)
+++ ecell3/trunk/ecell/libecs/scripting/VirtualMachine.cpp 2010-11-05 11:26:20 UTC (rev 3870)
@@ -96,13 +96,12 @@
void push_back(const Telem_& elem)
{
*(++ptr_) = elem;
- last = elem;
}
Telem_& pop()
{
- last = *(ptr_ - 1);
- return *(ptr_--);
+ Telem_& retval(*(ptr_--));
+ return retval;
}
size_type size()
@@ -118,20 +117,23 @@
template<size_type bkidx>
Telem_& peek()
{
- if ( bkidx == 0 )
- return last;
return *( ptr_ - bkidx );
}
+ template<size_type bkidx>
+ Telem_ const& peek() const
+ {
+ return *( ptr_ - bkidx );
+ }
+
void pop_back()
{
- last = *(--ptr_);
+ --ptr_;
}
private:
Telem_ elems_[ maxdepth_ + 1 ];
Telem_* ptr_;
- Telem_ last;
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|