My only qualm, really, is that proposed Boost.Asynchronous does not appear to me to implement pull-push pipeline management which is the hard part of a Pipelines implementation. I am under the possibly mistaken understanding that HPX does.
What do you mean with pull-push? Maybe I'm making it myself too easy but I'd see every pipeline stage as a scheduler, say, for Asynchronous a stealing threadpool scheduler(with one or more threads), every stage getting a job transforming input data and posting to the queue of the next scheduler a functor doing the next stage transformation, etc. Then I'd create a composite in one line of code to make sure work-stealing happens and that would be it for the infrastructure. Am I missing something? Cheers, Christophe