Subject: Re: [boost] Adding polymorphic_value to boost
From: Richard Hodges (hodges.r_at_[hidden])
Date: 2017-11-20 15:27:32
On 20 November 2017 at 16:09, Jonathan Coe via Boost <boost_at_[hidden]>
> > On 20 Nov 2017, at 13:37, Peter Dimov via Boost <boost_at_[hidden]>
> > Jonathan Coe wrote:
> >> I'd like to propose adding the class-template `polymorphic_value` to
> >> `polymorphic_value` is designed to allow the compiler to correctly
> generate special member functions for classes with polymorphic components
> (It's `any` with an interface).
> >> `polymorphic_value` has been proposed for standardisation in P0201 and
> has advanced through the Library Evolution group in Albuquerque (Nov 5-10).
> > Has the name "polymorphic_value" been bike-shedded already?
> > It's a good name in principle, but not good from a usability point of
> view; too long, too hard to type without errors in the absence of
> > - poly_value?
> > - any_value?
> > - basic_any?
> > Also,
> > - poly
> > seems to be popular, but it's probably too short.
> The name has been bike-shedded.
> I agree itâs a little long but it conveys meaning pretty clearly to me.
As an opposing data-point I can offer my own experience. I was not
previously aware of the PR so the name polymorphic_value came to my
attention only yesterday.
My initial reaction to the name was to think, "oh, it must be some kind of
boost::any with some mechanism for providing operators - something I could
use as a polymorphic key in a map" - you know, a kind of value.
Clearly I was misled by the suffix _value.
It took two readings of the PR to finally understand that this was actually
a *pointer* with type-erased cloning.
There was no clue to that in the name at all - at least to me.
It seems to me that the previous name of cloned_ptr is a better choice.
But then I seem to find myself at odds with the thinking of committee
contributors more and more these days, so it's probably me.
> > _______________________________________________
> > Unsubscribe & other changes: http://lists.boost.org/
> Unsubscribe & other changes: http://lists.boost.org/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk