...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 a
reference to the underlying string
.
boost::system::result
<string
& > try_as_string() noexcept;
If is_string()
is true
, the result contains
a reference to the underlying string
, 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_string() ) return *r;
But can also be used to throw an exception on error:
return jv.try_as_string().value();
Constant.
No-throw guarantee.