mirror of
https://github.com/nlohmann/json.git
synced 2025-05-11 21:53:56 +00:00
* 🔥 consolidate documentation * ♻️ overwork std specializations * 🚚 move images files to mkdocs * ♻️ fix URLs * 🔧 tweak MkDocs configuration * 🔧 add namespaces * 📝 document deprecations * 📝 document documentation generation * 🚸 improve search * 🚸 add examples * 🚧 start adding documentation for macros * 📝 add note for https://github.com/nlohmann/json/issues/874#issuecomment-1001699139 * 📝 overwork example handling * 📝 fix Markdown tables
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 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
!!! warning
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.