Подскажите тёмному
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 12.10.24 19:46
Оценка:
Здравствуйте!

Есть некий обработчик типа
std::function<void(Type1 v1, Type2 v2)>


Лямбды с auto параметрами присовываются туда нормально.

Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.

Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?
Маньяк Робокряк колесит по городу
Re: Подскажите тёмному
От: qaz77  
Дата: 13.10.24 04:18
Оценка:
Здравствуйте, Marty, Вы писали:

M>Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.


M>Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?


Структура-функтор — шаблон без auto.
Для удобства make_... шаблонная функция с auto (как std::make_unique и т.п.).
Re: Подскажите тёмному
От: vopl Россия  
Дата: 13.10.24 05:14
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте!


M>Есть некий обработчик типа

M>
M>std::function<void(Type1 v1, Type2 v2)>
M>


M>Лямбды с auto параметрами присовываются туда нормально.


M>Лямбды надоело писать одни и те же, хочу написать класс-функтор. Проблема в том, что не хочу завязываться на конкретные типы: Type1, Type2 надо через длинную жопу доставать, и не хочу лишнюю связность делать.


M>Попробовал сделать обычную структуру, у которой у operator() все параметры типа auto. Не прокатило. Видимо надо делать шаблон. Шаблоном должен быть тип, или можно обойтись шаблоннным operator()?


А что именно не прокатило? https://gcc.godbolt.org/z/Ezxa3T77x
Re[2]: Подскажите тёмному
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.10.24 08:54
Оценка:
Здравствуйте, vopl, Вы писали:

V>А что именно не прокатило? https://gcc.godbolt.org/z/Ezxa3T77x


MSVC насыпал кучу странных сообщений на это auto, и это я ещё не использоват свой функтор, а просто подключил хидер с ним.
Маньяк Робокряк колесит по городу
Re[3]: Подскажите тёмному
От: vopl Россия  
Дата: 13.10.24 08:57
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, vopl, Вы писали:


V>>А что именно не прокатило? https://gcc.godbolt.org/z/Ezxa3T77x


M>MSVC насыпал кучу странных сообщений на это auto, и это я ещё не использоват свой функтор, а просто подключил хидер с ним.


https://gcc.godbolt.org/z/bxGGdKKMM
Re[4]: Подскажите тёмному
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.10.24 08:59
Оценка:
Здравствуйте, vopl, Вы писали:

V>https://gcc.godbolt.org/z/bxGGdKKMM


На 17ом не собирается
Маньяк Робокряк колесит по городу
Re[3]: Подскажите тёмному
От: Великий Реверс google
Дата: 13.10.24 09:01
Оценка: +1
поставь новую студию с новым компилем
включи c++20
и хватит ныть
в каждом твоем сообщении в ветке cpp
про то как ты своей старой 19 студией
пытаешься и рыбку съесть и ... сесть
Re[4]: Подскажите тёмному
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.10.24 09:04
Оценка:
Здравствуйте, Великий Реверс, Вы писали:

Успокойся
Маньяк Робокряк колесит по городу
Re[4]: Подскажите тёмному
От: opfor  
Дата: 13.10.24 09:06
Оценка:
Здравствуйте, Великий Реверс, Вы писали:

ВР>поставь новую студию с новым компилем


Вероятно на новую студию лицензии уже не купить.
А комьюнити сливает данные в Майкрософт.
Приходится хитрить.
Re[5]: Подскажите тёмному
От: vopl Россия  
Дата: 13.10.24 09:48
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, vopl, Вы писали:


V>>https://gcc.godbolt.org/z/bxGGdKKMM


M>На 17ом не собирается


Ну, что тут можно сказать.. С таким подходом далеко не уедешь наверное.
Re[5]: Подскажите тёмному
От: Великий Реверс google
Дата: 13.10.24 10:00
Оценка:
у меня clang 19.1.1
и msvc 19.42.34321
если нужен будет последний gcc, тоже билдов под все платформы в гугле хватает
так что я спокоен

а вот ты похоже свой жезл обо что то повредил
постоянно на форуме с "КУ" приседаешь
Re[5]: Подскажите тёмному
От: so5team https://stiffstream.com
Дата: 13.10.24 10:16
Оценка: +1
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, vopl, Вы писали:


V>>https://gcc.godbolt.org/z/bxGGdKKMM


M>На 17ом не собирается


https://gcc.godbolt.org/z/acaces9Po ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.