|
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