
Ilia
05.10.2018
11:10:14
Ну вот я бы очень удивился, если использование структур с паддингами было бы UB...
Потому что ты никак паддинги не можешь проинициализировать (кроме memcpy/set)

Andrew
05.10.2018
11:12:25
Так ты их и не должен использовать руками. operator= их не обязан копировать — вроде где-то было пример {a=b; memcmp(a, b, sizeof(a)) != 0;} — потому что паддинги не трогались.


Крис
05.10.2018
12:11:58
Сообственно вопрос. Пишу транслятор и вспомогательную программу для демонстрации работоспособности транслятора. Транслятор это приложение с CLI которое в качестве аргументов принимает файлы с исходным кодом а на выходе выдает екзешник. По мере своей работы транслятор генерирует таблицы лексем, таблицы идентификаторов, констант и тд. Вспомогательная программа должна предусматривать возможность написания кода(TextInput в кути, к примеру), загрузку/сохранение файлов, вывод результатов лексического, синтаксического и семантического анализов(возможно еще машинно-независимые и затем машинно-зависимые оптимизации, если оные имели место быть), вывод ошибок трансляции. Допустим, я могу предусмотреть определенные флаги транслятора в дебаг сборке для генерации в доп файлах этих таблиц и их рендера в вспомогательной программе, но как мне перенаправить вывод транслятора в вспомогательное приложение?
P.S. И если есть другие предложения по получению промежуточных результатов трансляции то я буду рад их выслушать.


A.D.
05.10.2018
12:14:59
Сообственно вопрос. Пишу транслятор и вспомогательную программу для демонстрации работоспособности транслятора. Транслятор это приложение с CLI которое в качестве аргументов принимает файлы с исходным кодом а на выходе выдает екзешник. По мере своей работы транслятор генерирует таблицы лексем, таблицы идентификаторов, констант и тд. Вспомогательная программа должна предусматривать возможность написания кода(TextInput в кути, к примеру), загрузку/сохранение файлов, вывод результатов лексического, синтаксического и семантического анализов(возможно еще машинно-независимые и затем машинно-зависимые оптимизации, если оные имели место быть), вывод ошибок трансляции. Допустим, я могу предусмотреть определенные флаги транслятора в дебаг сборке для генерации в доп файлах этих таблиц и их рендера в вспомогательной программе, но как мне перенаправить вывод транслятора в вспомогательное приложение?
P.S. И если есть другие предложения по получению промежуточных результатов трансляции то я буду рад их выслушать.
а что, именованые сокеты уже отменили?

Google

A.D.
05.10.2018
12:15:08
или я не понял задачу?
ну и это в @pro_prog больше, имхо

Крис
05.10.2018
12:17:37
И я не уверен что именованые каналы есть под линукс. Знаю что в WinAPI такое присутствует
UPD: Ямы в знании терминологии. Уже нашел что есть.

A.D.
05.10.2018
12:19:29
ну, БД - это так, для стеба больше )

Igor
05.10.2018
12:21:49
ещё до кучи можно возомнить себя юниксом — пускай результат одного анализа будет уходить в stdout красивым форматированным деревом, а другой анализ будет это дерево читать из stdin
/s, хотяяя... ?

Крис
05.10.2018
12:22:45

Alex Фэils?︙
05.10.2018
12:22:46

A.D.
05.10.2018
12:22:49

Крис
05.10.2018
12:23:11

Igor
05.10.2018
12:23:12

Крис
05.10.2018
12:24:11

Google

A.D.
05.10.2018
12:24:44

Alex Фэils?︙
05.10.2018
12:25:05

Крис
05.10.2018
12:25:30

Ilia
05.10.2018
13:04:26

Крис
05.10.2018
13:04:56

Ilia
05.10.2018
13:05:01

Крис
05.10.2018
13:08:02

Anatoly
05.10.2018
13:12:17
что-то не соображу, а что-то с многословностью decltype(functor(*dummy_value_pointer_for_decltype)) в этом примере можно сделать, чтобы вывести тип возвращаемого функтором результата?
auto custom_operator = [](auto functor) {
return [=](auto observable) {
decltype(observable)::value_type* dummy_value_pointer_for_decltype = nullptr;
return rx::observable<>::create<decltype(functor(*dummy_value_pointer_for_decltype))>([=](auto subscriber) {
return observable.subscribe(
subscriber.get_subscription(),
[=](auto v) {
subscriber.on_next(functor(v));
}, [=](std::exception_ptr ep) {
}, [=]() {
subscriber.on_completed();
});
});
};
};

Крис
05.10.2018
13:18:47

Igor
05.10.2018
13:21:43

Anatoly
05.10.2018
13:22:00

Daniel
05.10.2018
13:22:58
Есть ли возможность собрать libtorrent под os X в dll и юзнуть эту dll в .NET?

Igor
05.10.2018
13:23:00
в каком там стандарте появились шаблонные лямбды template<class F> [](T functor)? с ними можно result_of_t<T> по идее сделать

Aidar
05.10.2018
13:24:53
ахахах

Ilia
05.10.2018
13:25:24

Daniel
05.10.2018
13:25:32

Stanislav
05.10.2018
13:25:42

Google

Ilia
05.10.2018
13:26:12

Daniel
05.10.2018
13:26:26
ну мало ли какие там подводные камни
Вот и спрашиваю

Anatoly
05.10.2018
13:26:45

Daniel
05.10.2018
13:26:49
НАдо бы наверн с этим вопросом в чатик по дотнету

Igor
05.10.2018
13:27:36
если честно немного не понял, какая результ_оф'у разница, лямбда или не лямбда

Anatoly
05.10.2018
13:28:00

Александр
05.10.2018
13:29:29

Igor
05.10.2018
13:30:10
это ещё громоже чем исходный вариант)

Александр
05.10.2018
13:30:38
И если внутри действительно использовать invoke можно будет всё INVOKABLE использовать в качестве функтора, например, указатели на члены дынных.

Igor
05.10.2018
13:33:10
implicit instantiation of undefined template 'std::result_of<(lambda at <source>:12:21)> хмм

Constantine
05.10.2018
13:34:40

Anatoly
05.10.2018
13:35:59

Constantine
05.10.2018
13:37:17
это же функция

Anatoly
05.10.2018
13:38:25
все, разобрался, declval не нужен: std::invoke_result_t<decltype(functor), decltype(observable)::value_type>
@alexander468 @Artalus еще раз спасибо, круто!!!

Google

Igor
05.10.2018
13:38:59
имхо, исходный вариант с указателем - понятнее )

Anatoly
05.10.2018
13:39:08

Побитый
05.10.2018
14:23:12
Там вроде проблемы с дин. либами. Из-за этого LGPL не работает, потому что статическая линковка
Или это только на айфоне...