
______________________________________________
9. Win32 Intel fix: by default I get error:
C:\work\reviews\hash\hash\boost/functional/hash.hpp(226): error: no instance of overloaded function "boost::hash_value" matches the argument list argument types are: (const test::custom) return hash_value(val);
one needs to add compiler option: /Qoption,c,--arg_dep_lookup
to enable ADL with Intel when emulating VC6.
The custom test is only going to work on compilers with ADL - that's deliberate so that the test results will show what works and what doesn't.
On compilers without ADL, you'll have to add the overload to the boost namespace.
Could there be page describing what works where and what workarounds may be needed? ______________________________________________
10. performance: wouldn't it be better to provide hand written specialization for std::string/wstring instead of relying on hash_range/combine?
The compiler may not optimize chain of functions out/pass parameters in most efficient way/ keep most data in registers.
It's just feeling, I didn't do any measurements.
Maybe. I would want to do some profiling before doing that sort of optimisation.
If possible within larger app. Compiler may get under time pressure there. /Pavel