Boost logo

Boost :

Subject: Re: [boost] [xint] Boost.XInt formal review
From: Beman Dawes (bdawes_at_[hidden])
Date: 2011-03-02 21:12:27


On Wed, Mar 2, 2011 at 8:28 PM, Chad Nelson
<chad.thecomfychair_at_[hidden]> wrote:
> On Wed, 02 Mar 2011 18:18:33 +0100
> Mathias Gaunard <mathias.gaunard_at_[hidden]> wrote:
>
>> This is not a review, just a few comments from going through the docs
>> quickly.
>>
>> - XInt uses COW and passes everything by value. COW is useless in the
>> presence of move semantics (which the library seems to partially
>> implement), and passing by value everywhere unless you mean to copy is
>> a bad idea.
>
> Thank you for your comments.
>
> Boost.Move wasn't an accepted Boost library at the time I wrote that
> code, so I didn't feel that I could rely on it. As such, it's only
> there as an option at present. As it turns out, it's *still* not an
> official Boost library (though through no fault in it or of its
> author), so I think my caution is justified.
>
> I don't recall the reason for passing by value offhand, but I believe
> Boost.Move was part of it. I'll research that before the next update.

Major compiler vendors have already been shipping rvalue reference
enabled compilers for a year or more. So any library that doesn't take
advantage of move semantics is already starting to look dated. And any
library that wants to make the jump from Boost to TR2 or the C++
standard itself is going to have to use all C++0x features that seem
appropriate. So please don't let your design be dictated by
Boost.Move's status.

--Beman


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