Boost logo

Boost :

Subject: Re: [boost] [Root Pointer] Benchmark
From: Phil Bouchard (philippeb8_at_[hidden])
Date: 2016-03-14 19:18:05


On 03/14/2016 11:27 AM, Rob Stewart wrote:
> On March 14, 2016 7:21:40 AM EDT, Phil Bouchard <philippeb8_at_[hidden]> wrote:
>>
>> I just re-added the unification of proxies so now root_ptr<>s can be
>> unified:
>>
>> https://github.com/philippeb8/root_ptr/blob/master/example/root_ptr_test1.cpp#L63
>>
>> It is pretty much bullet-proof now functionality wise. But I still
>> need to clean up the code.
>
> I really wonder about that claim. You seem to keep changing design aspects, adding and removing things, so I wonder how comprehensive your tests are. (I realize that you may be adding more test cases in response to queries on this list, but the instability is worrisome.)

I was gravitating around a central goal for a while but the design is
really solid right now.

>> Now I have a question: in my code I use a series of const_casts and
>> mutable qualifiers. Does that automatically removes its eligibility
>> for eventual inclusion into Boost?
>>
>> https://github.com/philippeb8/root_ptr/blob/master/include/boost/smart_ptr/root_ptr.hpp#L67
>
> I can't tell which is line 67 via my phone, but taking an argument by reference to const and then casting away constness is always cause for concern.

I can take away the const_casts because it's just an internal shortcut I
used but mutable members will stay mutable because it's not modifying
the objects externally and won't break constant parameters. It is used
internally only, just like caching.


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