Range primitives for worker-local storage. The purpose of this is to
access results produced by each worker thread from a single thread once you
are no longer using the worker-local storage from multiple threads.
Do not use this struct in the parallel portion of your algorithm.
The proper way to instantiate this object is to call
WorkerLocalStorage.toRange. Once instantiated, this object behaves
as a finite random-access range with assignable, lvalue elements and
a length equal to the number of worker threads in the TaskPool that
created it plus 1.
Range primitives for worker-local storage. The purpose of this is to access results produced by each worker thread from a single thread once you are no longer using the worker-local storage from multiple threads. Do not use this struct in the parallel portion of your algorithm.
The proper way to instantiate this object is to call WorkerLocalStorage.toRange. Once instantiated, this object behaves as a finite random-access range with assignable, lvalue elements and a length equal to the number of worker threads in the TaskPool that created it plus 1.