mirror of
https://github.com/nlohmann/json.git
synced 2025-05-11 05:33:55 +00:00
* 📝 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.