Почему в C++ нет концепции std::invocable_r?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Почему в C++ нет концепции std::invocable_r?

Сообщение Гость »


В C++20 добавлены новые концепции, и стандартная библиотека включает немало из них. Мое внимание особенно привлекла одна концепция: std::invocable, которая проверяет, что функтор может быть вызван с набором аргументов.

std::invocable — это просто синтаксический сахар для std::is_invocable. Однако стандартная библиотека дополнительно определяет std::is_invocable_r, который проверяет, можно ли вызвать функтор с набором аргументов, а также возвращает определенный тип после вызова. Существуют также версии обеих этих утилит nothrow. Однако в стандарте не определены эквивалентные понятия.

Есть ли причина, по которой стандарт не определяет эти понятия, или это просто недосмотр? Возможно, есть какие-то мелочи, которые не уловил случайный читатель, и которые заставили комитет принять решение не включать их?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»