Boost logo

Boost :

Subject: Re: [boost] [ValueRef] Interest in a new library for immutable values with internal sharing?
From: Rob Stewart (rob.stewart_at_[hidden])
Date: 2015-04-22 10:30:53


On April 21, 2015 5:33:26 AM EDT, Sam Kellett <samkellett_at_[hidden]> wrote:
> On 20 April 2015 at 18:07, Thomas Jordan <tomjordan766_at_[hidden]>
> wrote:
>
> > I had a similar idea for a new smart pointer that would aim to
> obsolete the
> >> shared_ptr-to-const idiom. The problem I found with that idiom is
> that it
> >> only guarantees that you can't change it. There's no promise that
> somebody
> >> else doesn't have a non-const ref to the data and so it could in
> the worst
> >> case completely change from under your feet (even if you know it
> won't get
> >> destroyed).
> >
> > ValueRef doesn't expose (shared) pointers/pointees, they are a
> hidden,
> > implementation detail. Its interface just deals in values (as shown
> > in the example usage).
>
> Absolutely! Hence the ref in the name. :)
>
> I kept the pointer as part of the interface seeing as I saw it as a
> smart
> pointer to replace another smart pointer, but either direction is not
> wrong for sure.

"Value" doesn't suggest pointer semantics. What's more, I think the value (no pun intended) of such a class is to actually provide value semantics, hiding the pointer semantics.

___
Rob

(Sent from my portable computation engine)


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