value::as_uint64

Return a reference to the underlying std::uint64_t, or throw an exception.

Synopsis

std::uint64_t&
as_uint64(
    boost::source_location const& loc = BOOST_CURRENT_LOCATION); (1)

std::uint64_t
as_uint64(
    boost::source_location const& loc = BOOST_CURRENT_LOCATION) const; (2)

Description

If is_uint64() is true, returns a reference to the underlying std::uint64_t, otherwise throws an exception.

Exception Safety

Strong guarantee.

Parameters

Name Description

loc

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_uint64().

Complexity

Constant.

Note

This function is intended for direct access to the underlying object, if it has the type std::uint64_t. It does not convert the underlying object to type std::uint64_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::uint64_t number, consider using to_number instead.