Ivan
И это хороший вариант
Anonymous
alexandrescu approves
Berkus
Pavel
таблица в памяти лучше десятка сдвигов?
Pavel
делаа..
Денис
Эх. С трудом вспоминал. RedSoft на D точно пишет, в Роскосмосе чувак из конфы D пропушил тему и теперь там какие-то отделы пишут, и Entel для встроенных систем пилят.
Говорят в гермашке он оче популярный у всяких мелко-средних конторок, но тут просто слухи.
Anonymous
а что-то вроде такого можно сделать в С++17?:
auto& [ ... ] : foo
Вывести(...);
Типа вывести все элементы, что есть в foo, но при этом программист заранее не знает какой тип у foo и сколько внутри переменных
Berkus
Anonymous
ну, так не интересно. Это ж руками писать надо, чтобы дать компилятору понять что он работает с контейнером
У меня такая больная идея возникла после прочтения structured bindings
Stanislav
Berkus
есть еще boost.hana там тоже вроде можно
Денис
О, вот это было бы интересно. Всё-таки люблю D, язык настолько хорош, что умудряется выживать при совершенно уебанском менеджменте создателей.
MrSmith
Ivan
Чуваку в рантайме надо было, шаблоны не подходят, я решил помочь чуваку
Evgenii
"А я люблю обмазываться метаклассами и компилировать. Каждый день я хожу по интернету, скачивая ночные билды компиляторов в большую папку загрузок, и собираю туда все билды. На два билда уходит целый день. Зато, когда после тяжелого дня я закрываю браузер и иду в ту папку, включаю компиляторы... ммм... и сваливаю в них свое метаклассное сокровище. И компилирую, представляя, что меня поглотил метакласс. Мне вообще кажется, что метаклассы умеют думать, у них есть свои семьи, города, чувства, не выбрасывайте пропозал с ними из предстоящего стандарта, лучше приютите их, говорите с ними, ласкайте их... А вчера мне приснился чудный сон, как будто я нырнул в шаблоны, и они превратились в метаклассы, constexpr, STL-контейнеры, асинки - все из метаклассов, даже небо, даже Аллах!"
у меня мощный комп, на два билда уходит пара часов
🦥Alex Fails
а, збс
Денис
Господа, а такой вопрос. Есть у меня приложение на qt (QWSServer). При запуске происходит подгрузка библиотек, проверка дисков, короче - хочу рисовать прогресс-бар. Вот можно ли как-то рисовать виджеты qt до запуска основного event-loop'a? Или можно ли как-то рисовать widget в другом потоке со своим event-loop'ом, опять же до вызова QCoreApplication::exec()?
ep
Deleted Account
ep
И да, зачем "рисовать виджеты qt до запуска основного event-loop'a?" В чём соль?
Dr. Friedrich
Stanislav
Денис
Deleted Account
Stanislav
ну в любом случае processevents в сплешскрине надо использовать :)
Ivan
Парни, а почему в static_assert в качестве ошибки нельзя вставить constexpr const char*?
Александр
Александр
это не ответ на вопрос, знаю
Constantine
мелковато как по мне
Constantine
улучшения static_assert сами по себе совершенно не снимут проблему полнейшей неинформативности сообщений об ошибках выводов типа и невозможности отладки этого самого вывода типа
Александр
а причем тут вывод типа?
Constantine
ну, может быть я криво выражаюсь, но сама по себе шаблонная механика с подобными проверками as for me это способ вывода типов
🐙 Antony
Constantine
опять же, as for me я бы здесь предпочел синтаксис requires в объявлении класса
Александр
Александр
да и сообщения могут быть не только вида "здесь нннада T integral", но и прочие
Aidar
Constantine
ну... опять же, лично я фанат жесткой типизации и если существует сообщение об ошибке, существует естественный предикат, который может быть именован
Aidar
но в плюсах это место через жопу сделано
Ivan
Constantine
и не считая предикатов вроде is-complete-type я слабо представляю, что там может стоять под static_assert на самом деле
Constantine
в любом случае, у меня есть только один вопрос: будут ли новые модули компиляции до C++30
Ivan
То есть первую часть static_assert, компилятор может определить non-constant condition for static assertion, а для второго аргумента нет?
Constantine
Ivan
Откуда я знаю, я вас спрашиваю
Constantine
Ну компилятор уверен, что справа стоит string literal
Ivan
Ладно, в общем, proposal я увидел
Constantine
Я в него не верю :)
Roman
клиентских GraphQL библиотек для C++ пока не наблюдается?
Constantine
кстати, а есть предложение сделать таки sfinae-friendly сравнения для контейнеров?
Aidar
Aidar
Тоесть алокаторы может быть
Aidar
Но не потенциально разные типы
Constantine
Я против
я к тому, что у std::vector сравнение не обмазано проверкой сравниваемости на уровне sfinae
Constantine
т.е. is_detected для std::vector::operator == приходится ручками писать
Constantine
в той же задаче допроверенного вызова operator == категорически не хватало decllastcall() который вернет для выражения последнюю функцию при вычислении выражения (из адресуемых, разумеется, то есть кроме конструкторов и деструкторов)
Constantine
кажется, компилятору это не сложнее, чем decltype вернуть
🐙 Antony
Berkus
то есть LUT таки быстрее?
Evgenii
Stanislav
🐙 Antony
Вообще надо это как-то осознать, и завести тикеты на GCC и CLANG, чтобы автоматически векторизировали подобные битовые операции
Vitaliy ◀️TriΔng3l▶️
А если цикл с какими-нибудь BitScanForward/Reverse?
Vitaliy ◀️TriΔng3l▶️
Но в худшем случае (11111111111111111111111111111111) будет 32 итерации
🐙 Antony
Где? Что? Когда? Я ничего не понял
Berkus
🐙 Antony
Что за polly?
Anonymous
https://polly.llvm.org/
Berkus
Vitaliy ◀️TriΔng3l▶️
🐙 Antony
тогда не влезет в uint64_T
Constantine
хм... вот идея в рамках бреда
Constantine
вот пусть x = a*2^3 + b*2^2 + c*2^1 + d
Constantine
тогда нам в принципе достаточно вычислить (a*2^3)^2 + (b*2^2)^2 + (c*2^1)^2 + (d*2^0)^2
Vitaliy ◀️TriΔng3l▶️
а, блин, 4*16 же
Constantine
а нельзя подшаманить и переразложить все это?
Vitaliy ◀️TriΔng3l▶️
да, не влезет(