
Beman Dawes wrote:
Good question.
While the other relationals have to use std::lexicographical_compare(), operators == and != can do a simple string compare, as you suggest.
SVN trunk updated. It is a bit too late for these changes to make it into 1.38.0, however.
Thanx!!!
It would be interesting if you could report back what impact that change has on you timings.
There is nothing unexpected to report :). Doing typedef boost::filesystem::path location_t; struct location_equal_to : std::binary_function<location_t, location_t, bool> { bool operator()(const location_t& lhs, const location_t& rhs) const { return lhs.string() == rhs.string(); } }; to use location_equal_to predicate in unordered_map, I got no more do_increment and... remove this bottleneck at all. Can't say about numbers but this operator == replacement was very helpful.