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 a 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.
!!! danger "Undefined behavior"
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"
```
- Added in version 1.1.0.
- Extended to binary types in version 3.8.0.