"Ed Brey" <[EMAIL PROTECTED]> writes:

>> Incidentally, no Boost.Python user has reported confusion about
>> extract, and they tend to be slightly more naive than the average
>> Boost user.
>
> Unfortunately, that data point is of limited use, since Python has a
> lot of names leaving something to be desired (generally those borrowed
> from C and Unix).  When I was a Python newby, insetad of complaining,
> I just got used to looking up functions in the docs to be sure I knew
> what they did.

Are you kidding?  Python users (almost) never read docs!
{sorry all you other Python users out there; it's just my impression}.

>>> I agree the issues goes beyond member vs. free.  By the way, what
>>> is the motivation for using free over a member function?
>>  For one thing, the lovely template keyword:
>> 
>>     var.template extract<T>(); ^^^^^^^^^
>
> Let me make sure I undestand the context here: the template keyword is
> used iff var is a template parameter, right?  

No, iff it's a template parameter or dependent on one.

> That seems like a minor use case to me.  

Not to me.  I'll probably only use variant in a dependent context.

> It doesn't make sense to give up the strong OO correlation that a
> member function provides just because of a keyword in a minor use
> case.  This is especially true considering that a free function
> could be provided in addition for the template case.
>
> I know the "strong OO correlation" phrase can launch into the debate
> over whether member functions really make for better OO, which I don't
> want to go into.  I'm just looking at existing practice with the
> standard library container classes.  If you want to get a piece of the
> contents of those containers, you use a member function.

It's easy to make this case if you assume dependent variants are an
edge case.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

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

Reply via email to