* 📝 overwork macro documentation * 📝 address review comments * 🔧 add style check to Makefile * 🙈 overwork .gitignore * 📌 Pygments 2.12.0 is broken * ✏️ fix links * 🚸 adjust output to cppcheck * 📝 add titles to more admonitions * ✏️ fix typos * 📝 document future behavior change
1.6 KiB
1.6 KiB
nlohmann::basic_json::get_ref
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.
Template parameters
ReferenceType- reference type; must be a reference to
array_t,object_t,string_t,boolean_t,number_integer_t, ornumber_unsigned_t,number_float_t, orbinary_t. Enforced by a static assertion.
Return value
reference to the internally stored JSON value if the requested reference type fits to the JSON value; throws
type_error.303 otherwise
Exception safety
Strong exception safety: if an exception occurs, the original value stays intact.
Exceptions
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".
Complexity
Constant.
Notes
!!! danger "Undefined behavior"
Writing data to the referee of the result yields an undefined state.
Examples
??? example
The example shows several calls to `get_ref()`.
```cpp
--8<-- "examples/get_ref.cpp"
```
Output:
```json
--8<-- "examples/get_ref.output"
```
Version history
- Added in version 1.1.0.
- Extended to binary types in version 3.8.0.