Re[2]: ненависть к итераторам
От: Videoman Россия https://hts.tv/
Дата: 25.12.20 21:00
Оценка:
Здравствуйте, rg45, Вы писали:

R>Мне кажется, основная проблема в том, что ты пытаешься cделать обобщение в привязке к типу, тогда как здесь было бы уместнее делать обобщение в привязке к размеру, если я правильно понимаю задачу. Тогда версия для wchar_t просто отпала бы за недадобностью:


R>
R>template<typename Iterator>
R>using underlying_size = std::integral_constant<size_t, sizeof(*std::declval<Iterator>())>;

R>template<typename It, std::enable_if_t<underlying_size<It>::value = 1, int> = 0>
R>constexpr uint_t CalcSomething(It beg, It end) // ...
R>template<typename It, std::enable_if_t<underlying_size<It>::value = 2, int> = 0>
R>constexpr uint_t CalcSomething(It beg, It end) // ...
R>template<typename It, std::enable_if_t<underlying_size<It>::value = 4, int> = 0>
R>constexpr uint_t CalcSomething(It beg, It end) // ...
R>


У меня закралось сомнение что я не стой стороны подхожу, но я не понял твоей идеи. т.е. будет срабатывать для всех типов имеющих размер 1,2,4. Если это так, то это совсем не то что мен нужно. Мне нужно только для char, char16_t, char32_t, wchar_t (для совместимости со старым кодом)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.