
Pavel Vozenilek wrote: Note a review, but...
* How does it work on 64 bit systems? Could someone try?
Tried on Tru64 5.1, CXX 7.1-006:
cxx -model ansi -std strict_ansi -I boost-HEAD binary_int_test.cpp
cxx: Error: binary_int.hpp, line 51: incomplete type is not allowed binary_nibble_VALID_VALUES_BINARY_0000_THROUGH_1111<false> t; ---------------------------------------------------------------^ cxx: Warning: binary_int.hpp, line 101: trailing comma is nonstandard shl = 4u, ------------------^ cxx: Warning: binary_int.hpp, line 109: trailing comma is nonstandard shl = 0u, ------------------^ cxx: Warning: binary_int.hpp, line 191: trailing comma is nonstandard v0_ = (v1_ << binary_int_arg<b0>::shl) | binary_int_arg<b0>::value, -----------------------------------------------------------------------------^ cxx: Warning: binary_int.hpp, line 171: missing return statement at end of non-void function "binary_int<b15, b14, b13, b12, b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0>::operator=" binary_int& operator=(const binary_int& rhs) { }; ---------------------------------------------------^ cxx: Info: 1 error detected in the compilation of "binary_int_test.cpp". All compilers I tried (CXX 6.5-042, CXX 7.1-006, G++ 3.4.3, G++ 4.0.1) generate the same error. When enabling the workaround in binary_int.hpp, all compilers accept the code. Executing the resulting binary doesn't give an error. Markus