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