$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.