
AMDG On 04/12/2011 08:04 AM, Dave Abrahams wrote:
On Apr 12, 2011, at 3:54 AM, Phil Bouchard<philippe@fornux.com> wrote:
On 4/11/2011 11:19 PM, Nevin Liber wrote:
But it may be undefined behavior to pass that pointer to is_from.
That's right but I am not sure about the complexity in making its behavior non-undefined even if the complexity is not constant. Because otherwise is_from() would be quite useless
I think you are severely missing the point: it is not implementable, no matter the cost in complexity, without causing undefined behavior. You're just not allowed to compare arbitrary pointers with<, and the total ordering produce by std::less isn't guaranteed to be meaningful.
Sure it's implementable. You just have to compare it for /equality/ with every address inside the pool. You should be able to enumerate them. In Christ, Steven Watanabe