Trip Report¶

  • On April 26th, 2018, I attended the ISO C++ Futures Design Meeting at Nvidia
  • Goal of meeting; reach closure on a design for futures in C++20
    • Must support the Executors proposal which is on track for C++20
      • Executors support heterogenous computation contexts, including GPGPU, and grid computing
    • Coroutine TS support which is planned to be included in C++20
    • The current futures defined in the Concurrency TS are not sufficient
    • Plan is for a Concurrency TS part 2 which can be incorporated into C++20
  • Notable progress
    • Refinement of future concepts
      • SharedFuture is Regular
    • Allow rvalue optimizations
      • SharedFuture concept does not unnessarily penalize Copyable futures
    • Support for optional task cancelation
      • Including cancelation across heterogenous contexts
    • Error handling no longer requires exceptions
      • Agreement reached on the capability, but o design consensus reached
  • stlab::future<> should be able to model SharedFuture with minor modifications