Boost logo

Boost :

From: Ed Brey (edbrey_at_[hidden])
Date: 2001-09-26 09:26:03


I think that the int and gcd libraries should be accepted into boost. I've read the documentation, looked casually at the code, and exercised the test programs.

I only have one design comment: Why doesn't the GCD Function Object inherit from std::binary_function?

My test results under VC6SP5 STLport4.5 were dismal. I didn't have the time to dig into whether the problems are with the library or compiler, but I'm willing to believe that the compiler is to blame, and I don't see lack of VC bug workarounds as a reason against library inclusion.

Here's a quick snapshot of some of the problems I encountered. I grabbed the latest versions of the libraries from the vault this morning:

common_factor_test.cpp:
- Internal compiler error on inner_helper<0UL> specialization.
- "'int_type' : illegal use of this type as an expression" for each test of gcd() and lcm().
- "'static_lcm<0,0>' : is not a class or namespace name" for each test of static_lcm/gcd.

integer_mask_test.cpp:
Run-time test failures on lines 94 and 102.

integer_test, static_lb_test.cpp, static_min_max_test.cpp:
Don't compile. Similar errors as common_factor_test.cpp.

There were no test successes.

Finally, some minor documentation clarification opportunities:

GCD Function Object:
- even if any -> even if either
- should (partially) specialize -> should specialize [since full specialization is fine; the word "partial" confused me more than it helped].

In the paragraph describing usage of Compile-Time Extrema Templates, Usage, two sentences are comma splices (run-on sentences).


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