Andrei
Andrei
Вообще-то не видел.
Andrei
Только слышал :)
Vladislav
std::cout « sizeof(std::tuple<char, char, char, char, char, char, char, double>) « '\n'; —> 64
std::cout « sizeof(Matway::tuple<char, char, char, char, char, char, char, double>) « '\n'; —> 16
Кстати, в шланге у меня и родной тупл 16 показывает
Andrei
А стдлиб чей? Какой версии?
Vladislav
libc++
Vladislav
3.7
Dmitry
так почему 64 показывает? как чинится?)
Vladislav
ideone.com/l9vXtM
Vladislav
На rextester'е только у msvc проблемы с этим
Matway
Круто. Видимо, свежак.
Matway
1>clang.exe : error : clang frontend command failed due to signal (use -v to see invocation)
А вот мой variant Clang не осилил :( Упал компилятор.
Vladislav
Vladislav
А какая версия шланга?
Matway
Ничего незаконного не делал.
Matway
3.8
Matway
http://ideone.com/g8EgfF
Зачем они их развернули? :)
Berkus
Matway
Matway
Но вообще довольно круто, что такое сделали в стандартной библиотеке.
Dmitry
Наследование в метапроганье - зло.
Matway
Matway
ttldtor
не понимаю, как фичу можно злом называть)
Vladislav
Ну то есть завезли, туплы, но их надо сначала написать как-то)
Dmitry
Покажите что за варианты то пилите
Dmitry
Ну это. Может в личку мне ссыль кините как готово будет.
Anatoly
умеющие что?
Vladislav
Dmitry
Jonson
Anatoly
я понял, друзья, я не понял что хочет человек от jenkinsa
Berkus
да а что
Berkus
смотри gitlab плагин и чо они намудрили там
Berkus
возможно его надо обновить или наоборот даунгрейднуть
Matway
Доделал visitor. Заменяю std::variant и бенчмаркаю.
Stanislav
а нафига женкинс для гитлаба если есть гитлаб си?
Berkus
вероятнее всего к текущему чату этот вопрос относится вообще никак
Berkus
FailsBot
http://en.cppreference.com/w/cpp/container/set/emplace
FailsBot
Search results for "variant"
1. std::variant
2. std::bad_variant_access
Matway
Да. Сравнялось со switch. Причём стало одинаково CLang и MSVC.
Matway
Идея такая: http://ideone.com/bW852w
Matway
Ограничение очевидное - не более N альтернатив. Где N - количество строк, которое не поленились написать в Variant.
Arseny
А лишние case-ы компилятор догадывается в default перенести?
Vladislav
Александр
Ну вот, меня обманули. Стёр либу и сегфолт
Александр
кстати, кто-нибудь знает разумный способ динамической подгрузки либ, но с предварительной их расшифровкой?
Александр
прочитал, расшифровал, сдампил на диск, загрузил
Александр
... с диска слили расшифрованную
Александр
успеют слить за несколько микросекунд думаешь?
Александр
никсы ж файлы не держат как винда
Александр
то есть линукс позволит прогрузить в память, удалить исходный файл и всё будет ок? удивительно
Александр
да, линукс не запрещает удалять используемые файлы
Александр
можно хоть rm -rf / сделать
Крылатый
Пишите в одном сообщении)
Александр
Это цитата отсюда же
Александр
🐙 Antony
Беда с неоптимальной кодогенерацией на variant подобных классах тянется с 2000 годов. В boost это обошли насильно вставив switch вместо рекурсии. За 15 лет можно было бы починить уже проблему на уровне компилятора
Matway
Александр
А как в бусте сделали switch с переменным числом аргументов? Препроцессор?
Крылатый
Упорото.
Крылатый
Впрочем, пилил switch на шаблонах и генерировался такой же код, что и простой switch.
Berkus
бустовато!
Matway
Почему-то boost::variant ещё медленнее, чем std::variant.
🐙 Antony
Anatoly
@MatwayBurkow если есть, можете расшарить синтетический тест?
🐙 Antony
+1
Evgenii
вот это поворот)