Vsevolod
Well, the answer is simply that the preprocessor is _not_ Turing complete, at least not if the program is preprocessed only once.
Vsevolod
собственно, от этого еще и пляски со всякими PASTE в макросах
Vladislav
сам язык
скоро еще метаклассы завезут
Alexander "SonnySlave"
скоро еще метаклассы завезут
на самом деле штуки можно классные с ними творить
Alexander "SonnySlave"
я как-то сидел вечером, игрался. Очень и очень прикольно
Alexander "SonnySlave"
правда не придумал юзкейса нормального 😊
Vladislav
а где-то уже есть экспериментальная поддержка?
Alexander "SonnySlave"
cppx.godbolt.org
Alexander "SonnySlave"
это форк шланга
Berkus
там написано в чъём
Evgenii
good enough for production
Alexander "SonnySlave"
надо потиху все алгоритмы обмазывать constexpr, чтобы когда завезут рефлексию, могли всё использовать по полной
Alexander "SonnySlave"
не представляю лица компилторописателей, когда от них всё больше и больше компайлтайма хотят
Alexander "SonnySlave"
просто добавь ко всему constexpr :)
и сделай constexpr_allocator 😊
Alexander "SonnySlave"
и constexpr_filesystem. и нетворкинг
Evgenii
и constexpr_filesystem. и нетворкинг
и в итоге все будет считаться в компайлтайме
Alexander "SonnySlave"
и в итоге все будет считаться в компайлтайме
ага. И компиляторы плавно превратились в ОС
Evgenii
ага. И компиляторы плавно превратились в ОС
но и сам компилятор будет компайлтайм
Berkus
и ос, и пользователи
Evgenii
даже небо, даже Аллах
Constantine
даже небо, даже Аллах
Всевышний точно в компильтайме. Он не может быть в рантайме
Ender
посоны, в qt есть отображение иерархии классов графическое, как в msvs?
Ender
или как его можно фастом сгенерировать из проекта?
Ender
профилирование?
vladislav
профилирование?
Кароч посмотри кейбиндинги, точно есть
Ender
иерархия типов недоступна
Ender
кек
vladislav
посоны, в qt есть отображение иерархии классов графическое, как в msvs?
В смысле, если ты хочешь иерархию наследования для конкретного класса посмотреть. Если хочешь, чтобы он тебе граф зависимостей построил, то такого не помою
Ender
ctrl+shift+t ты мне говорил.
Ender
есть обзор классов. почти то, что надо.
Ender
http://pastexen.com/i/JvDkYGUJ1R.png
Ender
Но всё равно не то. Граф хочу.
Alexander "SonnySlave"
http://bincrafters.readthedocs.io/en/latest/
Alexander "SonnySlave"
Но всё равно не то. Граф хочу.
неа, такого нет. Можешь генерировать с помощью doxygen
Ender
можно подробнее?
Anton
можно подробнее?
Идёшь в гугл :)
Ender
лол
Ender
Да сходил уже
Ender
говно какое-то мне нагенерировало.
Ender
ModelEditor был полезнее.
Aleksei
Всем привет. У меня вопрос по boost::asio и многопоточности. Есть сервер, который принимает коннекты. Код клиента примерно такой https://paste.fedoraproject.org/paste/7vKrpr3Q63UVYsTU8VA3gA Несколько потоков выполняют io_service.run(). При таком подходя я просто обязан был нарваться на такую ситуацию https://paste.fedoraproject.org/paste/ruq9105Mnzuk~LDktJ88JA Т.е. уже был вызван onRead, где таймер отменен, вызван wite и получен колбек onWrite (без ошибок, т.е. отправка прошла успешно). В другом потоке одновременно с этим был получен колбек onTimer без ошибки (т.е. не отменен), где был закрыт сокет. И в потоке с onWrite при попытке чтения из закрытого сокета приложение падает. Как лучше защититься от этого? Поможет ли в этом случае обернуть все колбеки в strand? Или мьютекс во всех колбеках лочить? Не сильно ли это просадит производительность (сейчас там порядка 10к коннектов)?
Nikita
Идёшь в гугл :)
О, поздравляю. На какую позицию?
Anonymous
Ребятки как работвет функция switch case?
melvin
это не функция а statement
Anonymous
И что это такое?
Anonymous
Новичку сможете объяснить?
Anton
https://t.me/supapro чат для новичков
Крылатый
Vladislav
гентушник в треде!
Roman
Ребятки как работвет функция switch case?
это конструкция "ветвления", на подобии if-else-if, но организована должна быть оптимальнее при определенных условиях.
Alexander "SonnySlave"
Вот вам для посмеяться: https://habrahabr.ru/post/345268/
Anatoly
Вот вам для посмеяться: https://habrahabr.ru/post/345268/
Саш, а ты на нее вышел поскольку тебе надо QR распознавать?
Alexander "SonnySlave"
Саш, а ты на нее вышел поскольку тебе надо QR распознавать?
неа, мне скинули эту статью просто в телеге
Alexander "SonnySlave"
Саш, а ты на нее вышел поскольку тебе надо QR распознавать?
а QR я пока что не занимаюсь - я интегрирую image processing в gImageReader. Там работы вагон и маленькая тележка
Alexander "SonnySlave"
потом займусь распознаванием qr and barcodes
Vsevolod
я как-то крутил хвост tessercat, чтобы распознавать спам в картинках - он бывывает популярным
Vsevolod
но, увы, примелемой скорости особо не удалось добиться
Vsevolod
значит взять картинку и извлечь из нее текст
Vsevolod
то есть, текст просто представлен в виде искаженного скриншота
Alexander "SonnySlave"
значит взять картинку и извлечь из нее текст
ну так картинку предобработать надо, чтобы распознало
Vsevolod
или рекламный слоган какой-нибудь дикий ("СРЕДСТВА ОТ ПСОРИАЗА")
Alexander "SonnySlave"
предобрабатываешь и получаешь приемлемый результат
Vsevolod
а что именно нужно делать?
Alexander "SonnySlave"
есть ещё ocropy, но это немного другое
Alexander "SonnySlave"
а что именно нужно делать?
всё зависит от вида входного изображения
Alexander "SonnySlave"
убрать шумы, блики, тени, применить правильную бинаризацию
Vsevolod
я не знаю вида входного изображения - это спамеры шлют, а не я
Alexander "SonnySlave"
Vsevolod
ну, я в итоге делал DCT, разрезая все на квадраты 8x8, потом брал значение яркости, уравнивал по медиане и генерировал шинглами нечеткий хеш
Vsevolod
но в итоге не понравилось количество false positive на всяких логотипах :\
Berkus
Всем привет. У меня вопрос по boost::asio и многопоточности. Есть сервер, который принимает коннекты. Код клиента примерно такой https://paste.fedoraproject.org/paste/7vKrpr3Q63UVYsTU8VA3gA Несколько потоков выполняют io_service.run(). При таком подходя я просто обязан был нарваться на такую ситуацию https://paste.fedoraproject.org/paste/ruq9105Mnzuk~LDktJ88JA Т.е. уже был вызван onRead, где таймер отменен, вызван wite и получен колбек onWrite (без ошибок, т.е. отправка прошла успешно). В другом потоке одновременно с этим был получен колбек onTimer без ошибки (т.е. не отменен), где был закрыт сокет. И в потоке с onWrite при попытке чтения из закрытого сокета приложение падает. Как лучше защититься от этого? Поможет ли в этом случае обернуть все колбеки в strand? Или мьютекс во всех колбеках лочить? Не сильно ли это просадит производительность (сейчас там порядка 10к коннектов)?
возьми beast. мьютекс убьет производительность всяко, надо аккуратно структурировать и ловко использовать странды в нужных местах
Aleksei
с кастомным протоколом