Шаблон отложенного/обещания в C++

Недавно я обнаружил и влюбился в шаблон Deferred/Promise, используемый в jQuery. Он просто инкапсулирует так много асинхронных вариантов использования, включая замечательную цепочку и возможность фильтрации, что я не могу поверить, что так долго пропустил это.

Я только что закончил рефакторинг своего кода AS3, чтобы использовать превосходную библиотеку CodeCatalyst/promise -as3(https://github.com/CodeCatalyst/promise-as3), и поэтому я начал думать о том, чтобы вернуться к моему коду C++ и посмотреть, как я могу реализовать шаблон там.

Прежде чем я начал кодировать это сам, я проверил, было ли это сделано раньше, и обнаружил std::future/std::promise(и эквиваленты boost ), но они очень тяжелые (, они, кажется, используют настоящие потоки и т. д. и имеют тяжелый синтаксис шаблона ).

Итак, мой вопрос: :Существует ли облегченная, чистая C++ реализация шаблона Deferred/Promise в стиле jQuery -?

ссылки:

14
задан Shmil The Cat 17 April 2017 в 09:23
поделиться