Re[3]: Создать новый std::tuple из подмножества имеющегося
От: rg45 СССР  
Дата: 22.02.23 12:46
Оценка: 2 (1)
Здравствуйте, SaZ, Вы писали:

SaZ>Спасибо, то что надо, но я никак не могу осилить enable_if:


SaZ>
SaZ>// template <typename T, std::enable_if_t<std::is_convertible_v<T*, my_base *>, bool> = true>
SaZ>// template <typename T, typename = std::enable_if_t<std::is_base_of_v<my_base, T>, bool>>
SaZ>template <typename T, std::enable_if_t<std::is_base_of_v<my_base, T>, bool> = true>
SaZ>auto my_filter(const T& v)
SaZ>{
SaZ>    return std::make_tuple(v);
SaZ>}
SaZ>


SaZ>Эта перегрузка никогда не вызывается. Хотя пробовал static_assert вне этой функции — всё ок.


Сама по себе функция написана правильно. Не вызываться она может по разным причинам:


Могут быть и другие варианты. Чтоб диагностировать точно, желательно видеть минимальный пример, воспроиводящий проблему.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 22.02.2023 13:28 rg45 . Предыдущая версия . Еще …
Отредактировано 22.02.2023 13:16 rg45 . Предыдущая версия .
Отредактировано 22.02.2023 13:15 rg45 . Предыдущая версия .
Отредактировано 22.02.2023 13:00 rg45 . Предыдущая версия .
Отредактировано 22.02.2023 12:53 rg45 . Предыдущая версия .
Отредактировано 22.02.2023 12:52 rg45 . Предыдущая версия .
Отредактировано 22.02.2023 12:48 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.