Boost::shared_ptr dictionnary creation

Hi Rooters

I read from the Internet and different presentations on PyRoot that PyRoot was able to use smart pointers. It also looks like that boost::shared_ptr is supported (I don’t need streamers, just the dictionnaries). But how can I do that?
I found this topic root.cern.ch/phpBB2/viewtopic.ph … 082e30bc02

but I can’t mange to create a dictionnary for shared_ptr wher MyClass is my own class for which I already have a dictionnary.

Is there somewhere a small example along with a LinkDef.h file?

Thanks

Hi,

The post you pointed to says (unfortunately):[quote]You need to hide all boost header file from CINT:[/quote]Boost used complex and ‘newer’ feature of the C++ standard that are not yet support by CINT.

We are currently working on a significant upgrade of the CINT code that will allow us to address this sort of issues.

In the meantime, you might need to use some time of work around to generate the dictionary of the shared_ptr. For example you could extract the declaration of shared_ptr from boost and simply it (without changing any function or class names) and have this alternative file being use by rootcint to generate the dictionary (this technique is used by CINT for the STL containers).

Cheers,
Philippe.