value::try_as_int64

## `value::try_as_int64`

Return `result` with the underlying `std::int64_t`

### Synopsis

    boost::system::result< std::int64_t & >
    try_as_int64() noexcept; (1)

    boost::system::result< std::int64_t >
    try_as_int64() const noexcept; (2)

### Description

If `is_int64()` is `true`, the result contains a reference to (1) or a copy of (2) the underlying `std::int64_t`, otherwise it contains an `error_code`.

### Example

The return value can be used in both a boolean context and to assign a variable:

    if( auto r = jv.try_as_int64() )
        return *r;

But can also be used to throw an exception on error:

    return jv.try_as_int64().value();

### Complexity

Constant.

### Exception Safety

No-throw guarantee.

Edit this page