Size: a a a

2020 September 23

AT

Anatoly Tomilov in pro.cxx
std::ssize завезли, а std::udistance — нет
источник

АР

Андрей Руссков... in pro.cxx
а чем size_t size = std::distance ... не устроил?
источник

AT

Anatoly Tomilov in pro.cxx
тем. что будет ворнинг
источник

АР

Андрей Руссков... in pro.cxx
блин в идеальном языке signed/unsigned это функции конвертации типов/значений
источник

АР

Андрей Руссков... in pro.cxx
signed(uint32_t) -> int32_t
unsigned(5) -> uint32_t(5)
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
signed(uint32_t) -> int32_t
unsigned(5) -> uint32_t(5)
int i; auto u = std::make_unsigned_t<decltype(i)>(i); сравнительно немного многословнее
источник

AT

Anatoly Tomilov in pro.cxx
не понятно только как ссылочность типа задиспатчить
источник

AT

Anatoly Tomilov in pro.cxx
template<typename T> operator T && () ловит ссылочный, но если рядом определить template<typename T> operator T (), то будет неоднозначность
источник

AT

Anatoly Tomilov in pro.cxx
можно два сделать AtRefResult и AtResult
источник

АР

Андрей Руссков... in pro.cxx
проблема в том, что фундаментальная разница между "unsigned" и "std::make_unsigned_t<decltype(i)>(i)" в многословности
источник

АР

Андрей Руссков... in pro.cxx
Anatoly Tomilov
не понятно только как ссылочность типа задиспатчить
std::remove_cvref_t?
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
проблема в том, что фундаментальная разница между "unsigned" и "std::make_unsigned_t<decltype(i)>(i)" в многословности
согласен. Я не искушён идеальными языками, поэтому не замечаю это, как гравитацию.
источник

AT

Anatoly Tomilov in pro.cxx
Андрей Руссков
std::remove_cvref_t?
нет. Это здесь не при чём
источник

АР

Андрей Руссков... in pro.cxx
а, я понял
источник

АР

Андрей Руссков... in pro.cxx
ну свою функцию писать, да
источник

AT

Anatoly Tomilov in pro.cxx
это коментарий к моему коду был
источник

SE

Stanislav Ershov in pro.cxx
Anatoly Tomilov
int i; auto u = std::make_unsigned_t<decltype(i)>(i); сравнительно немного многословнее
template<class T> auto as_unsigned(T t){ return make_unsigned_t<T>(t); }
источник

NP

Nikita Provotorov in pro.cxx
Stanislav Ershov
template<class T> auto as_unsigned(T t){ return make_unsigned_t<T>(t); }
а тут ворнингов не будет? возможно следует статик кастом обмазать
источник

SE

Stanislav Ershov in pro.cxx
Nikita Provotorov
а тут ворнингов не будет? возможно следует статик кастом обмазать
уже дяде Саттеру не доверяете? )
источник

АК

Александр Караев... in pro.cxx
Stanislav Ershov
template<class T> auto as_unsigned(T t){ return make_unsigned_t<T>(t); }
Можно даже сделать as<unsigned>(1)
источник