Daniel James wrote:
Martin Wartens wrote:
PS: there is a small problem in hash_table.hpp causing a warning in VC7.1 line 278 should be: return (*prev_ptr)!=0; instead of return *prev_ptr;
Ah, I just found out why I didn't do this before - prev_ptr might be a pointer object (depending on the allocator), so the correct line is:
return (*prev_ptr) != link_ptr();
Which can potentially be inefficient. I think the best thing to do is to use a pragma to disable the warning,
If it's the warning I'm thinking of (C4800: "forcing value to bool 'true' or 'false'" - well, *duh*) then this is the right approach.
or maybe:
return static_cast<bool>(*prev_ptr);
or:
return boost::implicit_cast<bool>(*prev_ptr);
would work.
Neither of those prevents the warning. Ben.