json/doc/mkdocs/docs/api/json_pointer/operator_slasheq.md
Florian Albrechtskirchinger 616caea27a
Re-template json_pointer on string type (#3415)
* Make exception context optional

Change exception context parameter to pointer and replace context with
nullptr where appropriate.

* Support escaping other string types

* Add string concatenation function

Add variadic concat() function for concatenating char *, char, and
string types.

* Replace string concatenations using + with concat()

* Template json_pointer on string type

Change json_pointer from being templated on basic_json to being
templated on string type.

* Add unit test for #3388

Closes #3388.

* Fix regression test for #2958

* Add backwards compatibility with json_pointer<basic_json>

* Update json_pointer docs

* Allow comparing different json_pointers

* Update version numbers
2022-04-12 14:18:16 +02:00

1.2 KiB

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
  2. append an unescaped reference token at the end of this JSON pointer
  3. 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
  2. JSON pointer with token appended without escaping token
  3. JSON pointer with array_idx appended

Complexity

  1. Linear in the length of ptr.
  2. Amortized constant.
  3. Amortized constant.

Examples

??? example

The example shows the usage of `operator/=`.
 
```cpp
--8<-- "examples/json_pointer__operator_add.cpp"
```

Output:

```json
--8<-- "examples/json_pointer__operator_add.output"
```

Version history

  1. Added in version 3.6.0.
  2. Added in version 3.6.0. Changed type of token to string_t in version 3.11.0.
  3. Added in version 3.6.0.