
2 Apr
2005
2 Apr
'05
12:57 p.m.
Daniel James wrote:
Peter Dimov wrote:
* boost::hash derived from std::unary_function
This introduces a completely unnecessary dependency on <functional>. boost::hash only needs to define result_type and argument_type.
I thought this was required by TR1. I'll happily remove it if isn't.
It's required; I just don't agree with the requirement, it's overly strict. I prefer to view the standard wording as a shorthand notation for the typedefs. User code should never depend on the inheritance relationship between a function object and std::*nary_function... and neither should our tests. (There are other defects in TR1 along the same lines, but it's far too late now to fix them.)