Boost logo

Boost :

Subject: Re: [boost] [system] Would it be possible to trial a breaking change to Boost.System and see what happens?
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2018-01-13 00:01:04


>> In my code I'm using contextual conversion to bool extensively, e.g.
>> "if (err)" or "if (!err)". This is currently equivalent to comparing
>> against 0, so I assume it will be broken by this change.
>
> It will only be broken if you rely on `error_code( 0, some-category )`
> to contextually-convert to `false`. A default-constructed error_code, or
> one that's been cleared, will still be `false`.
>
> A principled approach would be to ask the category whether a code is
> `true` or `false`, but that might be complexity and overhead nobody needs.

I think it unavoidable myself (and hardly complex to implement). Only an
error category knows if some value or other means success or not.

There would be not much overhead if the category implementation marks
the function used final, as I expect it would.

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk