Boost logo

Boost :

Subject: [boost] make_shared and allocate_shared for classes with private constructors
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2008-10-29 14:22:34


I have some classes that derive from enable_shared_from_this which I've
given private constructors and static creation methods which return a
shared_ptr. This prevents someone from using the class inappropriately.
It seems obvious that at a minimum using make_shared internally here
would be an improvement. Unfortunately this requires that make_shared be
  made a friend for every arity and probably won't work with the
variadic template implementation of make_shared.

Is it possible to make declaring friendship for make_shared and
allocate_shared simpler? I thinking something like serialization does
with friend class boost::serialization::access.

Thanks,

-- 
Michael Marcin

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk