Простите мое невежество в задании этого базового вопроса, но я настолько привык к использованию Python, что такого рода вещи тривиальны, что я полностью забыл, как я попытаюсь это сделать на С++.
Я хочу иметь возможность передать обратный вызов функции, которая выполняет медленный процесс в фоновом режиме, и вызывать ее позже, когда процесс завершен. Этот обратный вызов может быть свободной функцией, статической функцией или функцией-членом. Я также хотел бы иметь возможность вводить какие-либо произвольные аргументы там для контекста. (т.е. в какой-то мере реализует очень плохой man coroutine.) Кроме того, эта функция всегда будет принимать std::string, который является результатом процесса. Я не возражаю, если позиция этого аргумента в последнем списке параметров обратного вызова исправлена.
У меня возникает ощущение, что ответ будет включать boost:: bind и boost:: function, но я не могу выработать точные вызовы, которые необходимы для создания произвольных вызываемых вызовов (в то время как они просто берут один string), сохраните их в фоновом процессе и вызовите правильно вызываемый с параметром строки.