
"Daniel James" <daniel@calamity.org.uk> wrote
When running your tests, the intel linux compiler gives this warning:
main.cpp(143): warning #858: type qualifier on return type is meaningless const int cf();
which means that BOOST_TYPEOF_PRESERVE_LVALUE(cf()) gives int, and your test fails, so you might want to remove that test.
OK. Is it the only problem with Intel? I did not realize things are so good -- I've been only testing with VC7.1 and GCC 3.3.
Also neither encode_signed nor encode_unsigned seem to work for zero values. I think encode_signed is missing a check for zero, and I guess encode_unsigned should add 1 to value when encoding, and then subtract 1 when decoding - or have a special case like encode_signed does.
I see, both are buggy... I guess I'll have to use the second integer for unsigned to properly handle UINT_MAX (somehow I think this value is likely to be used).
Other than those small points the library is looking good.
Thanks for your comments. I am glad you liked the library after all... I'll make the fixes and post the modified version sometime soon. Regards, Arkadiy