or download this
When creating an iterator, the user can pass a set of flags that indic
+ate their requirements for the iterator:
...
The version counter will not be a simple monotonic counter of all
+changes, but rather a 64-bit value consisting of 4 x 16-bit unsigned,
+ rollover counters.
The per iteration check consists of masking the iterator copy and
+comparing against a masked view of the hash version.