@ProCxx

Страница 784 из 2477
Antony
12.04.2017
07:08:46
Была ссылка в чате? https://isocpp.org/files/papers/p0636r0.html
Несправедливо пихнули P0031R0 в раздел "прочее"/"что-то специфичное" :(

Evgeniy
12.04.2017
07:10:49
Конечно, лол.
Могли б и открыть, ценности они уже давно не представляют

Хотя вот что С++14, что С++17, очень мало фишек дали которые реально используются постоянно, в отличии от

Google
Andrei
12.04.2017
07:14:03
М-да. В языке который я пилю таких проблем не будет :)

Andrei
12.04.2017
07:15:35
Лол. Нет, просто там by design всё что может быть вычислено в compile time — будет там вычислено.

Alex Фэils?︙
12.04.2017
07:15:49
Andrei
12.04.2017
07:15:58
А пользователи скоро будут.

Александр
12.04.2017
07:26:00
Александреску, залогиньтесь

Evgeniy
12.04.2017
07:28:39
Andrei
12.04.2017
07:30:08
То есть если я пишу везде где можно constexpr, то профита 0?
В том-то и дело, что в плюсах ты не можешь везде писать constexpr.

Пропозал Антона, к примеру, об этом. В стандартной библиотеке не всё еще переползло на constexpr

Alexey
12.04.2017
07:32:47
это канеш прикольная тема, что они хотят побольше вычислений перетянуть на компилятор, но учитывая скорость работы этого плюсового компилятора...

Дед Пегас
12.04.2017
07:33:20
Давайте просто всё это перепишем?)

Evgeniy
12.04.2017
07:35:36
В том-то и дело, что в плюсах ты не можешь везде писать constexpr.
Ну большую часть можно. Звучит как велосипедостроение

Google
Andrei
12.04.2017
07:36:26
Как раз таки большую часть нельзя. И вообще вызывает вопрос, зачем писать то, что по-хорошему должно было бы быть by design.

Энивей, это не кор фича языка вокруг которой всё строится. Просто приятный бонус.

Александр
12.04.2017
07:37:32
Ну не знаю. А если мне нужны строки, которые шифруются в компилтайме, а дешифруются в рантайме? Мне добрый компилятор всё испортит?

Да и проще написать плагины к имеющимся компиляторам c++, чем язве новый изобретать

Alex Фэils?︙
12.04.2017
07:38:49
Его скорость тож опьимтзируют, чуть ли не на уровне стандарта

Александр
12.04.2017
07:39:00
Кстати, в D by design все constexpr, не?

Alexey
12.04.2017
07:40:11
кто-то использует D?)

вопрос без подвоха

Vladislav
12.04.2017
07:41:17
кто-то использует D?)
Александреску же

Александр
12.04.2017
07:42:21
Норм язык, просто не популярен

Antony
12.04.2017
07:53:07
Как раз таки большую часть нельзя. И вообще вызывает вопрос, зачем писать то, что по-хорошему должно было бы быть by design.
Имплементации стандартной библиотеки сильно различаются.В некоторых есть например goto, который нельзя в constexpr пихать. Если автоматом считать constexpr, то код перестанет быть переносимым (например std::sort на libstdc++ будет constexpr, а вот на libc++ - не будет). Поэтому автоматом не считают пока и размечают всё ручками. Лет через 10-15 может сделают автоматом, когда ЛЮБЫЕ выражения компиялторы научатся выполнять как constexpr

Andrei
12.04.2017
07:54:12
Через 15 лет мне будет 39, интересно, будет меня это еще интересовать? :D

Дед Пегас
12.04.2017
07:54:23
Конечно, будет!

Andrei
12.04.2017
07:54:46
В общем надеюсь, что в ближайший год это уже будет сделано.

Antony
12.04.2017
07:55:30
Так сделайте :) Хотя бы в GCC

Andrei
12.04.2017
07:56:05
Уже делаем, только не на базе плюсов. Это реально не самая большая проблема с которой хотелось бы совладать.

Есть как минимум метапрограммирование, которое язык в языке.

Не хватает паттерн-матчинга.

При всех плюсовых достоинствах — эти два пункта довольно серьёзные.

Antony
12.04.2017
07:57:11
Не хватает паттерн-матчинга.
посмотрите на concepts TS

Google
Andrei
12.04.2017
07:57:49
Смотрел же. Проблема в том, что пока это доберется до стандарта и попадёт в компиляторы — пройдет много времени.

Antony
12.04.2017
07:59:13
в GCC уже есть, в C++20 будет

* должно быть в с++20

Сергей
12.04.2017
08:15:41
Ребят, кто нибудь boost::process использует у себя? Есть вопрос один. Не охота использовать асинхронный pipe для чтения из stdout порождённого процесса, однако обычное чтение вызывает lock (вызывающий поток ждёт поступления данных из stream, если данных нет). Можно ли как то деликатно (по типу stream.rdbuf()->in_avail()) узнать, есть ли данные и если есть, прочесть без блокирования потока?

Или по любому нужно выделять поток для каждого процесса на обслуживание IO?

Andrei
12.04.2017
08:18:12
Есть платформозависимое асинхронное IO в консоль.

Как это делать без асинхронщины — не очень понятно.

Tema
12.04.2017
08:19:52
я хочу в сипипи чтобы можно было роботать с шелом ОС

Andrei
12.04.2017
08:20:37
select можно делать наверное из STDIN

Matway
12.04.2017
08:20:41
Есть платформозависимое асинхронное IO в консоль.
На самом деле нет. На винде точно нет асинхронной работы с консолью.

Nikolai
12.04.2017
08:21:11
Andrei
12.04.2017
08:21:36
Сергей
12.04.2017
08:21:37
@AndreiKr мне не интересны системные платформозависимые вызовы. Меня интересуют возможности boost::process

Matway
12.04.2017
08:23:16
Самая печальская печаль для всех вин юзеров
Увы. На винде вообще по-уродски сделана консоль. Для неё запускается отдельный процесс, с которым приходится коммуницировать методами ReadConsole/WriteConsole. Можно через ReadFile/WriteFile, но асинхронные режимы при этом не работают, потому что на самом деле эти методы служат просто обёрткой к тем же ReadConsole/WriteConsole.

А разве ты что-то с APC не придумал?
Нет, вся асинхронщина не работает для консольных буферов.

Сергей
12.04.2017
08:24:25
А boost::process вообще часть boost-а?
скоро будет, как я понимаю. С 1.64

Google
Antony
12.04.2017
08:24:44
Admin
ERROR: S client not available

Сергей
12.04.2017
08:27:51
Ещё один момент. Разве здесь не должен возвращаться const указатель? Или отсутствовать модификатор const... https://github.com/klemens-morgenstern/boost-process/blob/develop/include/boost/process/pipe.hpp#L265

А что не так с async_pipe?
Не хочу для пачки процессов городить пачку io_context и потоков. Как я понимаю один процесс обслуживает 1 поток. Может не прав, ещё не трогал

Andrei
12.04.2017
08:29:20
Если кроссплатформа с учетом винды, то судя по всему придётся.

Evgeniy
12.04.2017
08:29:22
Короче имхо лучше пропихивать в компиляторы/стандарт фичи чем пилить свой язык

Matway
12.04.2017
08:29:57
а разве через OVERLAPPED нельзя работать с HANDLE'ами стдина/аута/етц?
Увы. Самое близкое, что можно сделать - на этих хэндлах можно ждать/поллить методами WaitFor*/MsgWaitFor*. Что я, собственно, и делал для "асинхронной" консоли. Отдельный поток плюс ожидание на всех хэндлах, которые нельзя OVERLAPPED.

Alex Фэils?︙
12.04.2017
08:30:28
очень интересная инфа, спасибо. запишу в телеграф-заметки #windows #console #async #io

Andrei
12.04.2017
08:30:58
Evgeniy
12.04.2017
08:31:40
к тому же у нас есть возможность ?
В компилятор интереснее)

desu
12.04.2017
08:32:08
а народ из варгейминга тут бывает?

Сергей
12.04.2017
08:32:14
Не должен. Метод точно const. А указатель не const, потому что underflow очевидным образом двигает указатели.
А каким образом я могу получить этот указатель, имя ссылку на этот объект на руках?

Andrei
12.04.2017
08:32:55
rdbuf возвращает указатель на буффер.

У буффера есть методы underflow и overflow, которые инкапсулируют логику по записи и чтения из\в ресурс ассоциированный с этим буфером.

Evgeniy
12.04.2017
08:34:31
Релиз системы сборки CMake 3.8 Состоялся релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.8, выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.

Google
Сергей
12.04.2017
08:34:34
Не понял вопроса.
https://pastebin.com/DhyL3HD4

Andrei
12.04.2017
08:34:51
Они внутри себя как правило всегда вызывают setg

setp

Которые явно не константные.

https://pastebin.com/DhyL3HD4
Какая-то фигня, я отчетливо вижу, что _buf неконстантный.

253 строчка

Сергей
12.04.2017
08:36:21
Которые явно не константные.
Я наверно где то косячу) не могу понять, почему я не могу вызвать этот метод

Дед Пегас
12.04.2017
08:37:41
А вот вам ещё мегабыстрый логгер https://github.com/RafaGago/mini-async-log

Страница 784 из 2477