value::as_int64

Return the underlying std::int64_t, or throw an exception.

Synopsis

std::int64_t&
as_int64(
    boost::source_location const& loc = BOOST_CURRENT_LOCATION); (1)

std::int64_t
as_int64(
    boost::source_location const& loc = BOOST_CURRENT_LOCATION) const; (2)

Description

If is_int64() is true, returns a reference to (1) or a copy of (2) the underlying std::int64_t, otherwise throws an exception.

This function is the intended for direct access to the underlying object, if it has the type std::int64_t. It does not convert the underlying object to the type std::int64_t even if a lossless conversion is possible. If you are not sure which kind your value has, and you only care about getting a std::int64_t number, consider using to_number instead.

Exception Safety

Strong guarantee.

Parameters

Name Description

loc

boost::source_location to use in thrown exception; the source location of the call site by default.

Exceptions

Type Thrown On

boost::system::system_error

! this->is_int64().

Complexity

Constant.