"Peter Dimov" <[EMAIL PROTECTED]> writes:

> From: "David Abrahams" <[EMAIL PROTECTED]>
>
> [get_deleter]
>
>> I think that considering the alternatives require:
>>
>>    1. Periodic map sweeps (we might as well be doing GC ;->), or
>>
>>    2. Solving the constructor forwarding problem for tacking on
>>       additional data to the pointed-to class
>>
>> IMO it's worth giving serious consideration to deleter
>> introspection.
>
> Looks like I have to apply my mad "diligent reader" skills to the above.
>
  <snip>
>
> Correct?

Yep, you got mad skills.

> Now the interface questions.
>
> Q: Why a free function? A: a member would require the p.template
> get_deleter<D>() syntax when p is dependent on a template parameter.

That's one answer.  There's also p.get_deleter(type<D>). Either one is
slightly ugly. But mostly I suggested a free function because it was
what came to mind.

> Q: Why use a generic 'get_deleter' name for the free function? A: ???

Heh. I suggest that it /not/ be intended for invocation via Koenig
Lookup, so the name would be OK.

There is another option, of course: make it a class template, like
boost::python::extract. Since introspection is a two-phase process
anyway, maybe that's better.

-- 
                       David Abrahams
   [EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to