Constantine
А шаблонами их никак не нагенерить?
Виртуальные функции-то?
Constantine
С одинаковым именем?
Berkus
правда найти не могу BOOST_AUTO_TEST_CASE
поиск на гитхабе в boostorg
Constantine
По всем объявленным потомкам одного интерфейса?
Vladislav
Тогда я не понимаю, чего ты хочешь сделать
Constantine
Я хочу event dispatch
Constantine
В форме OnEvent... на самом деле
Berkus
он бы хотел бросить принимать наркотики, но не может в этом признаться в публичном чяте!
Constantine
Кофеин считается за наркотики?
Нет, наркотик def. внесенное в список наркотических веществ :)
Berkus
кекеке, но он точно есть!
Constantine
Какой конкретно страны?)
Которая тебя будет судить за их незаконное хранение :)
Roman
ты макрос видишь?.. а он есть
Roman
не, безнадёжно, обыскал все версии, все header'ы, нет ни следа
Vladislav
Которая тебя будет судить за их незаконное хранение :)
То есть в нейтральных водах наркотиков не бывает)
Constantine
То есть в нейтральных водах наркотиков не бывает)
Торговать все равно нельзя, я тебе вбрасывал экстерриториальность УК РФ
Berkus
https://github.com/boostorg/test/search?p=3&q=BOOST_AUTO_TEST_CASE&type=&utf8=✓ у меня находит 17 страниц
Roman
бляя, я в boostorg/boost искал, а не boostorg/test 😑
Vladislav
Торговать все равно нельзя, я тебе вбрасывал экстерриториальность УК РФ
А я - про "аксиоматика может делать определения неверными", или как там было)
Berkus
бляя, я в boostorg/boost искал, а не boostorg/test 😑
https://github.com/boostorg/test/blob/ea9d9b9a8ea3f9aceb71cce41d48c820f05b2fdc/include/boost/test/unit_test_suite.hpp#L207 а вот и definition
Constantine
А я - про "аксиоматика может делать определения неверными", или как там было)
Мой собеседник уже указал, что "Существование алгебр, в которых нет ни одного положительного числа, опровергает определение положительного числа в виде "число называется положительным, если оно больше нуля"" и не согласен, что свойства в определении есть аксиома, а "ошибочно" и "опровергнуто" по его мнению значат одно и то же
Constantine
Копипаста осталась :)
Berkus
бляя, я в boostorg/boost искал, а не boostorg/test 😑
остается только развернуть 800 уровней вложенных макросов и золотой ключик у тебя в кармане
Roman
🤠
Berkus
рекомендую сунуть это в IDE :)
Roman
да ну, меня Test tst({someCase}) устраивает 😁
Constantine
Constantine
а зачем?))
С ними крайне удобно работать :)
Roman
С ними крайне удобно работать :)
лучше и легче на другой язык пересесть в таком случае, более высокоуровневый и более простой, как Go например
Constantine
Собственно эти форматы создали читаемыми для людей, а С++ создали читаемым для компилятора
Constantine
я бы сказал "программилятора"
да хоть мозгонасилятора
Constantine
не человека точно
Constantine
и интроспекция бесплатная, кстати
Roman
C++ парсить тяжело из-за того что backwardscompatibility к C и предыдущим версиям C++ держали и держат
Roman
which is great and horrible at the same time
Constantine
не знаю, я никогда не был расстроен потому, что мне сгенерировали сразу сериализатор, operator == и я умею перечислять всех потомков интерфейса
Vladislav
при том что в C надобавляли фич, не совместимых с C++, это довольно печально
Constantine
это все хорошо, но лишняя (и велосипедная) стадия сборки - плохо
я известный любитель велосипедов, но она совершенно не лишняя
Constantine
например, все сгенерированные файлы пишут автоматически include и экономят намного больше времени запуска генератора
Constantine
а потом еще подумали, что надо все-таки явно прообъявлять деструкторы и знаешь сколько времени заняло написание 500 деструкторов классов? 😆
Constantine
кстати, на полной пересборке проекта экономия 20 секунд из примерно 10 минут
Vladislav
у нас для простых случаев thrift, а сложные случаи обычно все равно под шалон не подходят
Constantine
а кто-нибудь еще умеет в файлы _impl с ручной реализацией всего того, что описано в интерфейсе?
Constantine
у меня под генератором не интерфейс класса, а весь класс
Constantine
собственно поскольку мне вломы, у меня генератор еще пишет _impl.cpp в который дампит сигнатуры всех функций, код которых не сгенерирован, и просит меня там все это понаписать
Arseny
да вот, пробую, просто хочется опять-же от boilerplate'а избавиться... $Test(someTestCase) { readFile("/some/file.txt", [] (std::string result) { $AssertEqual(std::string, result, "bla") $Finish }); }
По модулю кучи деталей делают примерно так: TEST_CASE(A) //разворачивается в class TestCaseA : public TestCase { public: void run() override; }; RegisterTestCase(TestCaseA()); void TestCaseA::run()
Ruslan
по идее они не могут идеально паралельно работать
Ruslan
их исполнение может завесеть от того что происходит в ос
Ruslan
просто создай пять потоков и посмотри как они будут печатать числа
Pepe 🐸
C++ парсить тяжело из-за того что backwardscompatibility к C и предыдущим версиям C++ держали и держат
Вообще я читал что C++ один из немногих языков с контекстно зависимой грамматикой. Поэтому тяжело
Vladislav
Вообще я читал что C++ один из немногих языков с контекстно зависимой грамматикой. Поэтому тяжело
любой язык с layout-синтоксисом - контекстно-зависимый (питон, хаскель те же)
Pepe 🐸
любой язык с layout-синтоксисом - контекстно-зависимый (питон, хаскель те же)
Может их тоже тяжело. Не помню какие были примеры приведены, которые контекстно свободные. Но я точно не знаю.
Pepe 🐸
https://stackoverflow.com/questions/898489/what-programming-languages-are-context-free
Cargeh
Всем привет. Занимался кто-нибудь memory reading в играх? Интересует преимущественно WoW.
Pepe 🐸
https://stackoverflow.com/questions/898489/what-programming-languages-are-context-free
Вот тут такой верхний ответ предложен, правда без уточнений и ещё не понимаю как может быть код который компилится не синтаксически корректным
Pepe 🐸
И вот тут конкретно про С++ https://www.quora.com/Is-all-programming-language-grammar-context-free-or-nearly-context-free
🦥Alex Fails
там от сайзоф лонг большн зависит, чем от архитектуры
Ruslan
проблема граматики пришла от С
Ruslan
так как С писался из потребностей производства
Ruslan
но С запихнули до LAL(1)
Ruslan
а насчет с++ хз
Vladislav
не, проблема грамматики из-за использования угловых скобок для шаблонов
Крылатый
Убрать стримы да и всё.
Крылатый
Или лучше переделать C++ на ML.
Крылатый
Хм, и правда, как бы выглядел C++ в ML?
Anonymous
Крылатый
Сам такой.