libunifex icon indicating copy to clipboard operation
libunifex copied to clipboard

Add initial implementation of "many sender" concept

Open lewissbaker opened this issue 4 years ago • 0 comments

Add a "many sender" concept that can send a sequence of calls to a "many receiver":

  • zero or more set_next() calls followed by;
  • a call to one of set_value(), set_done() or set_error().

Add a bulk_schedule(scheduler, count) algorithm that sends count calls to set_next(r, idx). This should have a default implementation in terms of schedule(scheduler)

Add a get_execution_policy(receiver) CPO that allows a many-sender to query whether the receiver is able to support unsequenced/concurrent invocations of set_next().

Add some basic many-sender algorithms.

  • reduce()
  • for_each()
  • transform()
  • to_vector()

lewissbaker avatar Jan 29 '20 00:01 lewissbaker