> We could have a similar problem > with not finding +0.0 values because a -0.0 is written to the max_value > field by some component that considers them the same.
My hope is that the filtering would behave sanely, since -0.0 == +0.0 under the real-number-inspired ordering, which is distinguished from total Ordering, and which is also what you get when you use the default C/C++ operators <, >, <=, ==, and so on. You can distinguish between -0.0 and +0.0 without using total ordering by taking their reciprocal: 1.0/-0.0 is -inf. There are some other ways to distinguish, I suspect, but that's the simplest one I recall at the moment.