Boost logo

Boost :

From: Alexander Nasonov (alnsn-boost_at_[hidden])
Date: 2005-05-26 12:31:59

My review was ready two days ago, I just couldn't post it. Sorry for delay.

Andy Little <andy <at>> writes:

> What is your evaluation of the design?
> What is your evaluation of the implementation?

I don't fully understand it so I can comment only few things.

- Why decode_type_impl and encode_type_impl primary templates are declared
in unnamed namespace? All specializations are also in (other) unnamed
namespaces. Is it intentional?

- It would be nice to put some functionality like get_unsigned<T> in
  correspondent libraries. This way, we could have better support for
  them. In this particular case, non-standard integral types could be
 supported as well. See also my note about documentation.

- encode_integral casts integral type to size_t. Is there any guarantee
  that size_t is always big enough?

- I don't understand why some big contants are hardcoded? For example,
  encode_size_t template checks if n >= 0x3fffffff. If it's magic,
  can you please comment it explicitly?

> What is your evaluation of the documentation?

Not yet complete.

- There's no references to online versions of Steve Dewhurst's articles.
  They can be found at
- No information at all about how to compile in compliant mode.
- Why only "well-known integral type" are registered implicitly?
  I think that all integral types supported by boost::is_integral
  should be supported by the library as well.

> What is your evaluation of the potential usefulness of the library?
Very useful

> Did you try to use the library? With what compiler? Did you have any
> problems?
I've tried gcc 3.2 in both native and compliant modes. It works fine.
Free version of Intel 8.0 under linux compiles in native mode. Linux
version of this compiler comes with gcc emulation mode and, AFAIK,
__typeof__ is also emulated. Though, I don't know whether it differs
from gcc __typeof__.
Intel compiler fails to compile in compliant mode because of bug
in the compiler.
BTW, who is a best person to send a bug report to Intel? Me or the

> How much effort did you put into your evaluation? A glance? A quick
> In-depth study?

Somewhere between "A quick reading" and "In-depth study".

> Are you knowledgeable about the problem domain?

I heard about typeof but I never read WG21 papers.

> And finally, every review should answer this question:
> Do you think the library should be accepted as a Boost library?

It should be accepted.

Alexander Nasonov

Boost list run by bdawes at, gregod at, cpdaniel at, john at