1 Dec
2011
1 Dec
'11
2:05 p.m.
On 1 December 2011 07:48, Kelvin Chung <kelvSYC@mac.com> wrote:
I'm having a hard time reconciling two distinct notions. Suppose I have a class hierarchy with root class Foo, and subclasses Foo1, Foo2, etc. (all of which are leaf classes) Now, suppose that hash_value() is defined for all the subclasses but not Foo itself (say, if Foo was abstract).
Now suppose I have this:
struct FooList { std::vector<boost::shared_ptr<Foo>> foos; }
std::size_t hash_value(const FooList& list)
You should probably be including something representing the dynamic type in the hash value, but that depends on how you implement 'operator==' for FooList. If you don't then defining 'hash_value' doesn't make much sense.