Currently, we implicitly require, but do not check, that item_type in parallel is trivially copyable. This check should be explicit, or the code should be extended to allow non-trivially copyable types.
Looking into this now it does not seem that we bit-copy the parallel buffers over - at least I cannot find a failing case. @antialize do you remember where this is a problem?
If you use the ppp branch, and include terrastream/pipe/chunk
Then create a pipe like this
generate_points() | chunk(1024*1024) | parallel(process(), false, 4, 1 ) | unchunk() | consume_points()
Here generate_points, process and consume_points are imaginary classes created by you.
You possibly modify the project example by replacing
chunk(10241024) | parallel( unchunk() | whatever_i_do_now() | chunk(10241024), false, 4, 1) | unchunk()