[ROOT] "ROOST": (boost::shared_ptr<> for ROOT)

From: troy d. straszheim (troy@resophonic.com)
Date: Fri Aug 20 2004 - 20:27:23 MEST


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