Remix.run Logo
omoikane 2 days ago

> The same iterator object can't be used concurrently in different threads, even for nominally const operations such as dereferencing (internally, thread-unsafe epoch traversal is triggered)

If I understand correctly:

                         thread safety      random access  stable iterators
                         -------------      -------------  ----------------
    std::list            thread-compatible  no             yes
    std::vector          thread-compatible  yes            no
    std::deque           thread-compatible  yes            no
    semistable::vector   thread-unsafe      yes            yes
I think there are more times when I wanted concurrent reads and (random access OR stable iterators), than when I wanted both random access AND stable iterators but not concurrent reads. I wonder what's the intended application?