Hi there roottalk-- I've prepared a distribution of the "smart pointers" (shared pointers, specifically) from the boost libraries (http://www.boost.org), that work with root. These pointers allow one to forget about "delete" as the pointers maintain reference counts of the objects they point to and delete, on their own, at the appropriate time. This is a fairly widely used memory management strategy in larger C++ projects. The ROOST shared pointer has exactly the same interface (though hybridized internals) as the standard boost shared pointer, for reasons of compatibility and consistency. Those doing individual analyses, making graphs, running macros and so forth probably won't have much of a need for such a technique, but those working on larger architectural issues (how am I going to integrate root with my framework?) might be quite interested. This distribution has become possible thanks (*many* thanks) to recent improvements in root's handling of templates. If other boost-related techniques are needed in our project and are portable to the root environment, I'll be adding these to the ROOST distribution in the future. The tarball downloads and builds in the standard gnu way. There are some tests that demonstrate that objects can go to and come from ROOT files with reference counting and proper behavior intact. It works on the mac and on linux. I'm available for quesions, and if you have a use for the software, please shoot me a mail, let me know it's in use. Thanks, troy d. straszheim ROOST: http://www.resophonic.com/software/ROOST-1.0.tar.gz
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET