From: Braden M. <br...@us...> - 2007-01-02 00:08:35
|
Update of /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16735/src/libopenvrml/openvrml Modified Files: vrml97node.cpp Log Message: ScopeGuard as initially described by Alexandrescu and Marginean copies the callback function parameters to the guard implementation. This means that the callback is called with the values given when make_guard gets called--not whatever the values might be when execution in the scope completes. > > This changes OpenVRML's implementation of ScopeGuard to keep const references to the parameters in the guard implementation. Also, use of boost::multi_index::detail::scope_guard (where use of OpenVRML's ScopeGuard implementation is inconvenient) now explicitly gives a reference template parameter to the instantiation of make_guard to circumvent this problem. Index: vrml97node.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/libopenvrml/openvrml/vrml97node.cpp,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** vrml97node.cpp 28 Dec 2006 23:12:20 -0000 1.116 --- vrml97node.cpp 2 Jan 2007 00:08:33 -0000 1.117 *************** *** 39,43 **** # include <boost/algorithm/string/predicate.hpp> # include <boost/array.hpp> - # include <boost/multi_index/detail/scope_guard.hpp> # include <boost/thread.hpp> # ifdef OPENVRML_ENABLE_RENDER_TEXT_NODE --- 39,42 ---- *************** *** 69,73 **** using namespace openvrml; using namespace openvrml::node_impl_util; - using namespace boost::multi_index::detail; // for scope_guard /** --- 68,71 ---- |