-
- Да, так можно, но идея была в том, что сами классы даны в
ощущениях, и менять в них что-либо нежелательно. - йцyкeн(02.07.2020 17:30)
- Ну если программировать "в ощущениях" да "по понятиям", то "не в
падлу" буде на sovf подсмотреть. :) VladislavS.(409 знак., 03.07.2020 06:57)
- Извиняюсь, sovf - это где? Если я правильно понимаю, ваш вариант
отличается от того, что предложил fk0, использованием
std::enable_if_t и std::is_same вместо std::void_t. То есть
проверяется не только наличие функции, но и соответствие
возвращаемого ей типа? - йцyкeн(03.07.2020 12:49)
- stackoverflow. enable_if_t позволяет специфицировать шаблон HasFoo на true или false. is_same в паре с decltype опредедяют наличие foo. Мне думается, результат is_same уже можно использовать там где нужен вызов foo. Дополнительный шаблон HasFoo скорее для красоты. Мопед не мой, если что :) - VladislavS.(03.07.2020 20:09)
- Извиняюсь, sovf - это где? Если я правильно понимаю, ваш вариант
отличается от того, что предложил fk0, использованием
std::enable_if_t и std::is_same вместо std::void_t. То есть
проверяется не только наличие функции, но и соответствие
возвращаемого ей типа? - йцyкeн(03.07.2020 12:49)
- Ну если программировать "в ощущениях" да "по понятиям", то "не в
падлу" буде на sovf подсмотреть. :) VladislavS.(409 знак., 03.07.2020 06:57)
- Да, так можно, но идея была в том, что сами классы даны в
ощущениях, и менять в них что-либо нежелательно. - йцyкeн(02.07.2020 17:30)