$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Boost.Algorithm design question
From: Andrew Sutton (asutton.list_at_[hidden])
Date: 2011-11-03 08:53:54
> In these case the equivalence relation is not a property of the types
> but of the values they represent, no matter how much handwaving goes
> on around here about how those cases aren't important. They can be a
> property of the types involved, but they just aren't in this
> circumstance, as const char* can mean too many different things.
>From this argument, I might be led to believe that exceptional cases
are viable arguments against generality. If there isn't sufficient
memory to compute a + b for strings, then + must not be associative?
If I can't divide by 0, then division by any number doesn't have
meaning? A C-string with an embedded \0 invalidates some equality
comparisons, so the rest can't be trusted to compare equal?
They're preconditions. They state where an operation is undefined for
a specific set of values. They aren't contradictions.