Sergey
Или по любому нужно выделять поток для каждого процесса на обслуживание IO?
Andrei
Есть платформозависимое асинхронное IO в консоль.
Andrei
Как это делать без асинхронщины — не очень понятно.
Deleted Account
я хочу в сипипи чтобы можно было роботать с шелом ОС
Andrei
select можно делать наверное из STDIN
🐙 Antony
Nikolai
Andrei
Sergey
@AndreiKr мне не интересны системные платформозависимые вызовы. Меня интересуют возможности boost::process
Matway
Самая печальская печаль для всех вин юзеров
Увы. На винде вообще по-уродски сделана консоль. Для неё запускается отдельный процесс, с которым приходится коммуницировать методами ReadConsole/WriteConsole. Можно через ReadFile/WriteFile, но асинхронные режимы при этом не работают, потому что на самом деле эти методы служат просто обёрткой к тем же ReadConsole/WriteConsole.
Andrei
Nikolai
Sergey
🐙 Antony
Andrei
🦥Alex Fails
Sergey
Ещё один момент. Разве здесь не должен возвращаться const указатель? Или отсутствовать модификатор const...
https://github.com/klemens-morgenstern/boost-process/blob/develop/include/boost/process/pipe.hpp#L265
Sergey
А что не так с async_pipe?
Не хочу для пачки процессов городить пачку io_context и потоков. Как я понимаю один процесс обслуживает 1 поток. Может не прав, ещё не трогал
Andrei
Если кроссплатформа с учетом винды, то судя по всему придётся.
Evgenii
Короче имхо лучше пропихивать в компиляторы/стандарт фичи чем пилить свой язык
🦥Alex Fails
очень интересная инфа, спасибо. запишу в телеграф-заметки
#windows #console #async #io
🦥Alex Fails
Andrei
Evgenii
rostislav
а народ из варгейминга тут бывает?
Sergey
Andrei
Andrei
rdbuf возвращает указатель на буффер.
Andrei
У буффера есть методы underflow и overflow, которые инкапсулируют логику по записи и чтения из\в ресурс ассоциированный с этим буфером.
Evgenii
Релиз системы сборки CMake 3.8
Состоялся релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.8, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.
Andrei
Они внутри себя как правило всегда вызывают setg
Andrei
setp
Andrei
Которые явно не константные.
Andrei
253 строчка
Andrei
Крылатый
А вот вам ещё мегабыстрый логгер https://github.com/RafaGago/mini-async-log
🦥Alex Fails
Andrei
Andrei
Сразу видно код, который даже не пытаются компилировать после изменений.
🦥Alex Fails
Sergey
cyber
а его что, нужно еще компилировать?
Andrei
Вот вам и boost::process, и кто после этого скажет, что велосипеды не нужны :D
cyber
у вас не всегда с первого раза все получается7
Sergey
блин, а я думал быть может это мне поможет проверить буфер стрима на наличие данных
Evgenii
Evgenii
Или уже приняли
Andrei
Сам только что спрашивал тремя постами выше.
Andrei
🐙 Antony
а ну да, я даже и не заметил в ошибке, что там каст от указателя
Нашел ошибку - молчи ни кому не говори, автору библиотеки не намекай! Ты старался, работал и искал - другие люди тоже должны страдать. Бонусом получишь весёлое занятие по накладыванию своих фиксов при переезде на след релиз библиотеки. </sarcasm>
Evgenii
Ну в любом случае пилят его уже кучу времени и брать не хотели долго, видимо не просто так
Sergey
🦥Alex Fails
Sergey
Evgenii
Evgenii
🐙 Antony
Andrei
Сразу пулреквест.
Andrei
Амперсанд забыл кто-то по-моему.
Evgenii
Sergey
Нее, я только issue сделаю. Мне помимо всего прочего нужно описать другие проблемы и вопросы, которые возникли при работе. Если кто то хочет PR сделать с отсутствующим амперсантом - welcome.
rostislav
desu, [12.04.17 14:49]
привет
desu, [12.04.17 14:50]
кто работал с камерой usb с помощью qt
desu, [12.04.17 14:52]
для cvcapture есть установка исо?
desu, [12.04.17 14:53]
я вижу только iso speed
desu, [12.04.17 14:53]
и установка AWB
Daniil
a iso speed != iso ?
Evgenii
Daniil
rostislav
std::memcpy((uchar*)sourse_3c,(uchar*)cvQueryFrame( dlg->capture )->imageData,dlg->nHeight*dlg->nWidth*3);
rostislav
что-то мне кажется я какуюто глупость написал
rostislav
как вы думаете)
rostislav
чета подтормаживает
rostislav
для распикам сразу было в буфер хм
Tengiz
Привет всем, вопрос про SFINAE.
Как обычно есть функция поведение которой зависит от свойств типов передаваемых параметров (наличие/отсутсвие некоторых методов, арифметрический ли это тип, и т.д.)
сейчас пачка специализаций через enable_if
template<typename T>
typename enable_if_t<has_method_foo<T>::value, bool> doSomething(T t)
template<typename T>
typename enable_if_t<has_method_bar<T>::value, bool> doSomething(T t)
и т.д.
Вопрос как добавить поведение по-умолчанию?,
т.е. если другие enable_if не специализировали функцию, то использовать эту реализацию
Я знаю что это можно делать через тот же enable_if, но с исключающими условиями:
template<typename T>
typename enable_if_t<!has_method_bar<T>::value && !has_method_foo<T>::value, bool> doSomething(T t) { doDefault(t); }
Такой способ подходит, до тех пор пока специализаций мало.
Существует ли более удобный способ использовать SFINAE, где можно было бы удобно указать реализацию по-умолчанию?