Size: a a a

2020 June 24

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Ivan
По-моему это ничего не меняет ровным счётом\
Это исправляет мой сниппет
источник

OS

Oleksandr Senkovych in pro.cxx
Artöm Bakri Al-Sarmini
struct size_t_tag;
template <>
class Average<size_t_tag> {};

// uint32_t и прочее
template class Average<std::conditional_t<is_one_of_v<size_t, uint32_t, прочие_типы...>, size_t_tag, size_t>;
а is_one_of_v есть в стандарте?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Oleksandr Senkovych
а is_one_of_v есть в стандарте?
Нет
источник

I

Ivan in pro.cxx
Artöm Bakri Al-Sarmini
Это исправляет мой сниппет
источник

I

Ivan in pro.cxx
Ворнинг тот же самый
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
В реальном коде эти 2 вещи будут в разных файлах же
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Я бы заглушил варн точечно, если придется
источник

I

Ivan in pro.cxx
Artöm Bakri Al-Sarmini
В реальном коде эти 2 вещи будут в разных файлах же
Нет вроде)
источник

AD

Andrey Davydov in pro.cxx
Ivan
Парни, а есть ли способ опционального инстанциирования класса в compile-time?
Мне нужно инстанциировать класс Average внутри одного TU, чтобы в других TU можно было писать extern template class Average для типов int32_t, int64_t, uint32_t, uint64_t и size_t.
Основная проблема в том, что size_t может быть одним из тех типов, а может и не быть ни одним из них (на разных платформах, в т.ч. и мобильных, на разных тулчейнах).
Вот первая попытка  https://godbolt.org/z/rZ7H4c добавить stub-instantiation Average<void> и использовать его только в случае столкновения с одним из тех *_t типов.
Но тут происходит бяка c clang'ом, который ругается, что класс инстанциируется дважды. Подавление warningов не вариант решения.
Было бы здорово, в случае collision'а просто не иметь template class Average<SizeOrVoid>;, типа как-нибудь enable_if'нуть его хитро. У кого-нибудь есть идеи?
Если вас беспокоит этот warning, оно легко обходится следующим образом — не инстанцируйте явно полную специализацию, инстанцируйте частичную: https://godbolt.org/z/DCEkj7
источник

I

Ivan in pro.cxx
Artöm Bakri Al-Sarmini
Я бы заглушил варн точечно, если придется
Глушилка ворнинга -- это очень toolchain-specific и хотелось бы этого не иметь, как и ad-hoc макросов.
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Ivan
Нет вроде)
Я ошибся. М, пока не знаю, как это обойти
источник

I

Ivan in pro.cxx
Andrey Davydov
Если вас беспокоит этот warning, оно легко обходится следующим образом — не инстанцируйте явно полную специализацию, инстанцируйте частичную: https://godbolt.org/z/DCEkj7
O_o
источник

I

Ivan in pro.cxx
Интересное решение
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Andrey Davydov
Если вас беспокоит этот warning, оно легко обходится следующим образом — не инстанцируйте явно полную специализацию, инстанцируйте частичную: https://godbolt.org/z/DCEkj7
Красиво
источник

I

Ivan in pro.cxx
Andrey Danke schön!
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Как же я слаб в тмп
источник

РД

Равиль Джамбеков... in pro.cxx
Ребят вот такой вопрос : на пути файла есть кирилица,  как сделать так чтобы файл все же находился по этому пути ?
источник

A

Alex Ф-ф-фэils!🌠︙... in pro.cxx
Равиль Джамбеков
Ребят вот такой вопрос : на пути файла есть кирилица,  как сделать так чтобы файл все же находился по этому пути ?
std::filesystem::path
источник

A

Alex Ф-ф-фэils!🌠︙... in pro.cxx
Там есть поддержка родной кодировки fs
источник

ПК

Побитый Кирпич... in pro.cxx
Равиль Джамбеков
Ребят вот такой вопрос : на пути файла есть кирилица,  как сделать так чтобы файл все же находился по этому пути ?
Это зависит от того как ты этот путь юзаешь
источник