Boost logo

Boost :

From: Eric Friedman (ebf_at_[hidden])
Date: 2006-06-04 19:35:21


Beman,

I haven't looked at the implementation, but I did look through the
documentation and caught up with this conversation thread today. For the
most part, I like the new iteration quite a bit. Two comments:

First, the new names are a lot better than the old bin/bun names. But I
think the aligned types could use spelling out, i.e., aligned_big2_t
instead of abig2_t. Unlike unsigned types, where it is standard to
abbreviate them to names like uint, aligned types are not so common.

Second, when I first read the docs I objected to the arithmetic
operations. Then I read the following statement you made on June 2nd:

    Let's say you have to increment a variable in a record. It
    is very convenient to be able to write:

     ++record.foo.

    Rather than:

     int temp( record.foo);
     ++temp;
     record.foo = temp;

    Now I know that automatic conversions in some "placeholder"
    style endian classes make them pretty convenient, but there
    is no additional cost to providing the arithmetic operations.
    If you don't need/want/like them, don't use them."

This argument convinced me. I think this, or something like it, should
appear in the docs instead of the more hand-wavy "Providing a full set
of operations reduces program clutter and makes code both easier to
write and to read."

Eric

Beman Dawes wrote:
> A refresh of the .zip file for the Endian library, based on comments
> received so far, is available at
> http://mysite.verizon.net/~beman/endian-0.2.zip
>
> The docs are online at
> http://mysite.verizon.net/~beman/endian-0.2/libs/endian/index.html
>
> Changes include:
>
> * Templates are exposed.
>
> * The four outermost templates have been folded into a single endian
> class template.
>
> * The integer_cover_operators class template has been moved into a
> separate header file, boost/integer_cover_operators.hpp. No docs yet,
> but functionality is pretty obvious from the header.
>
> * Provision has been made for native endianness. Not implemented yet.
>
> * More explicit names have been given to the forty-four typedefs. A
> careful explanation of the naming rationale has been added to the docs.
>
> * The docs have been expanded.
>
> * The example program has been rewritten and is much more realistic.
>
> * I haven't looked at Scott McMurray's exact.hpp header yet, so that may
> kick off yet more changes to come.
>
> --Beman
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>


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