mirror of
https://github.com/nlohmann/json.git
synced 2025-07-28 12:02:00 +03:00
Consolidate documentation (#3071)
* 🔥 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
This commit is contained in:
@ -1,11 +1,11 @@
|
||||
# basic_json::items
|
||||
# <small>nlohmann::basic_json::</small>items
|
||||
|
||||
```cpp
|
||||
iteration_proxy<iterator> items() noexcept;
|
||||
iteration_proxy<const_iterator> items() const noexcept;
|
||||
```
|
||||
|
||||
This function allows to access `iterator::key()` and `iterator::value()` during range-based for loops. In these loops, a
|
||||
This function allows accessing `iterator::key()` and `iterator::value()` during range-based for loops. In these loops, a
|
||||
reference to the JSON values is returned, so there is no access to the underlying iterator.
|
||||
|
||||
For loop without `items()` function:
|
||||
@ -36,7 +36,7 @@ for (auto& el : j_object.items())
|
||||
}
|
||||
```
|
||||
|
||||
The `items()` function also allows to use
|
||||
The `items()` function also allows using
|
||||
[structured bindings](https://en.cppreference.com/w/cpp/language/structured_binding) (C++17):
|
||||
|
||||
```cpp
|
||||
@ -68,7 +68,7 @@ When iterating over an array, `key()` will return the index of the element as st
|
||||
Using `items()` on temporary objects is dangerous. Make sure the object's lifetime exceeds the iteration. See
|
||||
<https://github.com/nlohmann/json/issues/2040> for more information.
|
||||
|
||||
## Example
|
||||
## Examples
|
||||
|
||||
??? example
|
||||
|
||||
@ -86,11 +86,15 @@ When iterating over an array, `key()` will return the index of the element as st
|
||||
|
||||
## Version history
|
||||
|
||||
- Added in version 3.0.0.
|
||||
- Added `iterator_wrapper` in version 3.0.0.
|
||||
- Added `items` and deprecated `iterator_wrapper` in version 3.1.0.
|
||||
- Added structured binding support in version 3.5.0.
|
||||
|
||||
!!! note
|
||||
!!! warning "Deprecation"
|
||||
|
||||
This function replaces the static function `iterator_wrapper` which was introduced in version 1.0.0, but has been
|
||||
deprecated in version 3.1.0. Function `iterator_wrapper` will be removed in version 4.0.0. Please replace all
|
||||
occurrences of `#!cpp iterator_wrapper(j)` with `#!cpp j.items()`.
|
||||
|
||||
You should be warned by your compiler with a `-Wdeprecated-declarations` warning if you are using a deprecated
|
||||
function.
|
||||
|
Reference in New Issue
Block a user