template<typename ReferenceType> ReferenceType get_ref(); template<typename ReferenceType> const ReferenceType get_ref() const;
Implicit reference access to the internally stored JSON value. No copies are made.
ReferenceType
: reference type; must be a reference to array_t
, object_t
, string_t
, boolean_t
, number_integer_t
, or number_unsigned_t
, number_float_t
, or binary_t
. Enforced by static assertion.
reference to the internally stored JSON value if the requested reference type fits to the JSON value; throws type_error.303
otherwise
Strong exception safety: if an exception occurs, the original value stays intact.
Throws type_error.303
if the requested reference type does not match the stored JSON value type; example: "incompatible ReferenceType for get_ref, actual type is binary"
.
Constant.
!!! warning
Writing data to the referee of the result yields an undefined state.
??? example
The example shows several calls to `get_ref()`. ```cpp --8<-- "examples/get_ref.cpp" ``` Output: ```json --8<-- "examples/get_ref.output" ```