Как можно представить список функций с разными результатами и вызвать их?

Рейтинг: 0Ответов: 0Опубликовано: 20.06.2023

У меня есть известный на этапе компиляции список функций, возвращающих разные типы (но принимающих одинаковые). Как можно представить такой гетерогенный список, чтобы потом проитерироваться по нему и получить список значений (например, в tuple)?

int foo();
double bar();
constexpr auto functions = {foo, bar, foo, bar};
auto results;
for (function: functions) {
  results.push_back(function());
}
// results is equivalent to std::tuple{foo(), bar(), foo(), bar()}

Ответы

Ответов пока нет.