Как создать рекурсивную концепцию C++ с пакетом параметров, вызываемым рекурсивноC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как создать рекурсивную концепцию C++ с пакетом параметров, вызываемым рекурсивно

Сообщение Anonymous »

Есть ли способ (и если да, то как) создать концепцию C++, включающую пакет параметров для проверяемого типа и затем вызываемую рекурсивно, чтобы большее количество совпадений приводило к лучшему совпадению для перегрузки?Скажем, да,
template
struct MyType {};

struct TypeA {};
struct TypeB {};

Для чего я хочу иметь концепцию:
template
concept WithMyType = requires (...);

Такое, что я могу:
void foo(WithMyType auto); // (1)
void foo(WithMyType auto); // (2)
void foo(WithMyType auto); // (3)

int main() {
auto aa = MyType();
auto ab = MyType();
auto bb = MyType();

foo(aa); // matches (1), (2); calls (2) (better match)
foo(ab); // matches (1), (2), (3); calls (3) (better match)
foo(bb); // matches (1); calls (1) (only match)
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... lled-recur
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как определить «концепцию», которая использует «концепцию» в C++ 20?
    Anonymous » » в форуме C++
    0 Ответы
    69 Просмотры
    Последнее сообщение Anonymous
  • Разница между передачей параметров строки и массива в рекурсивную функцию
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Разница между передачей параметров строки и массива в рекурсивную функцию
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • React Native 0.68.7 > 0.69.12 — модуль AppRegistry не является зарегистрированным вызываемым модулем
    Anonymous » » в форуме IOS
    0 Ответы
    107 Просмотры
    Последнее сообщение Anonymous
  • Ошибка: обратный вызов должен быть вызываемым Kivymd Clock.
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

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