...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Return result
with the
underlying double
boost::system::result
< double >
try_as_double() const noexcept;
If is_double()
is true
, the result contains
a copy of the underlying double
,
otherwise it contains an error_code
.
The return value can be used in both a boolean context and to assign a variable:
if( auto r = jv.try_as_double() ) return *r;
But can also be used to throw an exception on error:
return jv.try_as_double().value();
Constant.
No-throw guarantee.