Re[4]: перегрузки с приоритетами
От: kov_serg Россия  
Дата: 30.06.23 17:53
Оценка:
Здравствуйте, Кодт, Вы писали:

_>>А что мешает вместо dispatch делать return_function, а у неё брать сигнатуру ?

К>То, что семейство функций — не первоклассный объект. Как ты из hf вернёшь f?
А что мешает вместо line возвращать функцию или её номер.

enum {
    fun0_auto,
    fun5_int,
    fun5_const_char_ptr,
    fun10_ref_int,
    fun10,
    fun20_short,
    fun20_short_ref,
    fun20_long_ref,
    fun30_int_int
};

int fun(prio<0>, auto&&...) { return fun0_auto; }

int fun(prio<5>, int) { return fun5_int; }
int fun(prio<5>, const char*) { return fun5_const_char_ptr; }

int fun(prio<10>, int&) { return fun10_ref_int; }
int fun(prio<10>) { return fun10; }  // перегрузка с другим количеством аргументов

//int fun(prio<20>, short) { return fun20_short; }
int fun(prio<20>, short&) { return fun20_short_ref; }
int fun(prio<20>, long&) { return fun20_long_ref; }

int fun(prio<30>, int, int) { return fun30_int_int; }
Отредактировано 30.06.2023 17:59 kov_serg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.