Size: a a a

2021 July 05

p

paperbot_cpp in pro.cxx
источник

m

magras in pro.cxx
Честно говоря я уже не знаю чего хотел бы. В целом подход раста мне кажется достаточно удачным: есть односимвольный оператор для проброса ошибок через expected; и есть исключения которые называются паниками и которые стараются не кидать без причины (но далеко не у всех выходит).

Мне не очень нравится, что Саттер позиционирует новый механизм как постепенную замену старому механизму исключений, но в остальном мне нравится его предложение.
источник

O

Ofee in pro.cxx
Я, кстати, всё же, кратко посмотрел [P2232] и мне эта бумага нравится больше хотя бы потому что действительно расширяет языковые возможности, не пытаясь добавить в язык то, что можно было бы сделать библиотечно. Но у новой бумаги тоже, кажется, есть свои проблемы
источник

p

paperbot_cpp in pro.cxx
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Он еще сырой
источник

В

Влад in pro.cxx
Нужно просто его вернуть и использовать уже как нормальное значение(int, double...) вне функции for
не получается реализовать, чтобы возвращалось нормальное значение
Вариант с internalValue не совсем то, т.к нужно знать какой именно тип искать
Идея в том, что тип может быть один из тех, что в листе, но какой именно - неизвестно
Нужно пройтись по списку и при успешном катсе(один точно будет успешен) вернуть значение этого типа
источник

АК

Александр Караев... in pro.cxx
https://godbolt.org/z/PYf4Psch3
С минимальными изменениями - вот

Было две проблемы:
1. auto выводился в Type<double>* (первый тип из списка), нужно явно указать возврат IType*
2. не было return в некоторых ветках, в частности - при шаге рекурсии
источник

В

Влад in pro.cxx
Можно ли возвращать value->Value() или Type<CorrectType>*, IType* не очень полезен, я не могу из него взять Value()?
источник

АК

Александр Караев... in pro.cxx
Нельзя. C++ - статически типизированный язык. Тип любого выражения должен быть известен во время компиляции и не может зависеть от рантайм аргумента.

std::unique_ptr<IType> data;
if (rand() % 2) {
 data.reset(new Type(10));
} else {
 data.reset(new Type(3.1415));
}

auto value = FOR<....>(data.get());
decltype(value) ? // какой тип?
источник

АК

Александр Караев... in pro.cxx
Если множество типов известно заранее, стоит предпочесть std::variant, а не пытаться обойти ограничения языка рекурсивными шаблонами - всё равно не выйдет.
источник

В

Влад in pro.cxx
Окей, спасибо, посмотрю в этом направлении
источник

AP

Antony Polukhin in pro.cxx
там мелкие правки текста стандарта
источник

@N

@urandon Nikita Khom... in pro.cxx
ErrorMonad с трансформером и авто-выводом типов из тела функции и хранении типа в мете модуля.

Но это явно не про ближайшие стандарты C++ (запланировано в Q5)
источник

ПК

Побитый Кирпич... in pro.cxx
Q5 это что? 2125 год?)
источник

DP

Denis Paukaev in pro.cxx
что-то не близкое
источник
2021 July 06

D

Dmitry in pro.cxx
Для zip что нынче самое проверенное и рабочее?
источник

П

Пашечка in pro.cxx
Читать/писать?

Мы вообще пользуем libarchive, хавает почти всё, не только zip, нам хватает с головой. Но у нас только чтение.

Из минусов: пришлось крестовую обвязку писать с RAII, но это не особо сложно.
источник

D

Dmitriy in pro.cxx
Присоединяюсь к вопросу. И читать, и писать...
источник

D

Dmitry in pro.cxx
Мне паковать
источник

П

Пашечка in pro.cxx
Ну, libarchive и писать (паковать) умеет. Но я не пользовал этого, поэтому не компетентен.
источник