$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Gavin Lambert (boost_at_[hidden])
Date: 2023-02-20 05:47:26
On 20/02/2023 18:25, Peter Dimov wrote:
> Whatever your definition of equivalence, X is neither equivalent to an int,
> nor to a 'none', and 'none' doesn't even have operator==.
Regarding this point specifically, the author of X has indeed declared 
that X has an equivalence to int, by implementing that operator.
Being able to ask if `x == 4` inherently implies that `x` can somehow be 
equivalent to `4`.  If that equivalence is not intended to be implied, 
then it shouldn't have been defined.  (or perhaps a different type from 
`int` should have been used)
This does *not* mean that an X is-a int, or even that it can be 
converted from or to an int -- those are separate operations.  But it is 
-- somehow -- able to answer if it is currently equivalent to an int or 
not.  That is precisely what defining the operator means.