[ROOT] friend/enemy templates

From: troy d.straszheim (troy@ifh.de)
Date: Sun Aug 01 2004 - 23:31:24 MEST


Hey roottalk --

The attached file compiles/runs OK under gcc, but ACLiC chokes on it.  
This is an extract from the boost::shared_ptr class which I am trying 
(with very good progress recently, I am happy to say) to get working 
with root.

This particular issue is a friend template.  This class template 
shared_ptr needs at certain times (in this example, during 
construction) to be able to see the private members of other classes 
that are also specializations of shared_ptr. ( e.g.  shared_ptr<aap> 
needs to be able to see the private members of shared_ptr<wies>, in 
order to do a dynamic_cast on the underlying bald pointer and see if it 
is convertable.)

The workaround is quite crude, but it works: just make the private 
members of shared_ptr<T> public, which makes the friend declaration 
unnecessary...  anyhow, since I managed to isolate the issue it seemed 
like I should send it through.

Best,

troy d. straszheim






This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:09 MET