Boost logo

Boost :

Subject: Re: [boost] [xint] Review
From: Chad Nelson (chad.thecomfychair_at_[hidden])
Date: 2011-03-03 00:56:53


On Wed, 2 Mar 2011 13:06:54 -0500
Christian Henning <chhenning_at_[hidden]> wrote:

> Hi there,
>
> first I like to congratulate Chad for his very valuable contribution
> to the boost community.

Thanks! And thanks for the review too!

>> - What is your evaluation of the implementation?
>
> I find the code pretty hard to read. Is it true that the code is cut
> to 80 characters a line? I'm not sure if that's a good decision.

Yes, I try to limit my code to 80 characters per line. You have to draw
the line somewhere, and at 80 characters I can refer to documentation
on a comfortably-formatted browser window while working on my code on
the same monitor, and see all of it without side-scrolling.

> There are plenty of warnings when warning level is set to 4 on VS2010.
> Most of them are "warning C4127: conditional expression is constant"
> which seems to me that they could be removed by using compile time
> polymorphism.

Odd... I tested it on VS2005 before, at the highest warning level, and
those didn't come up. Now they do. Strange.

In any case, those warnings are due to the design of the policy system.
They're harmless noise, so I've suppressed that specific warning for
the next release.

>> - What is your evaluation of the documentation?
>
> Looks very nice. Just one thing. Where can I find a list of
> preprocessor symbols that are used during the compilation process. For
> instance, I like to know more about BOOST_XINT_MOVE.

The only ones that the user of the library needs to worry about are:

    BOOST_XINT_USE_MOVE (not documented; enable the use of Boost.Move)
    BOOST_XINT_NO_EXCEPTIONS (documented on the page titled "The
        on_exception Function And -fno-exceptions Support")

Anything else is defined and used internally. If you're curious about
BOOST_XINT_MOVE anyway, it's defined in
boost/xint/detail/basic_types_and_includes.hpp, as either
boost::move(value) (if using Boost.Move), or simply value if not.

> The rsa example is missing the "iterator" header.

Sorry, I'm confused. Why is that header needed for that example?

-- 
Chad Nelson
Oak Circle Software, Inc.
*
*
*



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