Есть ли способ (и если да, то как) создать концепцию 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
Как создать рекурсивную концепцию C++ с пакетом параметров, вызываемым рекурсивно ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Разница между передачей параметров строки и массива в рекурсивную функцию
Anonymous » » в форуме Python - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Разница между передачей параметров строки и массива в рекурсивную функцию
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-