@@ -20,7 +20,7 @@ Here are the steps (in commit eafc9ef86e229c2f4340263c6 or later) to do that:
## examples of new value types
For an example, look for `Rps_JsonZone` (implemented in commit 60917995a0131420e78) and `Rps_JsonValue` (in commit 8c71c64a80e3368d7815d0), and the new RefPerSys transient boxing of Qt [smart pointer](https://en.wikipedia.org/wiki/Smart_pointer)s, e.g. `Rps_QtPtrZone` and transient `Rps_QtPtrValue` of commit 0cc00f41f34fa1d74193b97.
A `QtPtrValue` (pointing to a `Rps_QtPtrZone`) hold - as a transient non-persistent RefPerSys value- a [`QPointer`](https://doc.qt.io/qt-5/qpointer.html) to some Qt widget or object (or a null pointer). As every RefPerSys value, it should be comparable and hashable. We don't want to compare Qt pointers, so our `Rps_QtPtrZone` contains a *unique*
A `QtPtrValue` (pointing to a `Rps_QtPtrZone`) holds - as a transient non-persistent RefPerSys value- a [`QPointer`](https://doc.qt.io/qt-5/qpointer.html) to some Qt widget or object (or a null pointer). Notice that `QPointer`-s are automagically cleared by Qt when the pointed to Qt widget disappears. As every RefPerSys value, `QtPtrValue` should be comparable and hashable. We don't want to compare Qt pointers, so our `Rps_QtPtrZone` contains a *unique*
rank (which can be compared and hashed), `_qptr_rank`.