This commit is contained in:
nlohmann
2026-07-08 18:19:46 +00:00
parent 9a231845c2
commit 279d757031
758 changed files with 56489 additions and 503 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,83 @@
# nlohmann::json_pointer::operator/=
```
// (1)
json_pointer& operator/=(const json_pointer& ptr);
// (2)
json_pointer& operator/=(string_t token);
// (3)
json_pointer& operator/=(std::size_t array_idx)
```
1. append another JSON pointer at the end of this JSON pointer
1. append an unescaped reference token at the end of this JSON pointer
1. append an array index at the end of this JSON pointer
## Parameters
`ptr` (in) : JSON pointer to append
`token` (in) : reference token to append
`array_idx` (in) : array index to append
## Return value
1. JSON pointer with `ptr` appended
1. JSON pointer with `token` appended without escaping `token`
1. JSON pointer with `array_idx` appended
## Complexity
1. Linear in the length of `ptr`.
1. Amortized constant.
1. Amortized constant.
## Examples
Example
The example shows the usage of `operator/=`.
```
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main()
{
// create a JSON pointer
json::json_pointer ptr("/foo");
std::cout << "\"" << ptr << "\"\n";
// append a JSON Pointer
ptr /= json::json_pointer("/bar/baz");
std::cout << "\"" << ptr << "\"\n";
// append a string
ptr /= "fob";
std::cout << "\"" << ptr << "\"\n";
// append an array index
ptr /= 42;
std::cout << "\"" << ptr << "\"" << std::endl;
}
```
Output:
```
"/foo"
"/foo/bar/baz"
"/foo/bar/baz/fob"
"/foo/bar/baz/fob/42"
```
## Version history
1. Added in version 3.6.0.
1. Added in version 3.6.0. Changed type of `token` to `string_t` in version 3.11.0.
1. Added in version 3.6.0.