🐙 Antony
Как это сделать?
Constantine
Как это сделать?
Насколько я понимаю, у них в Intellisense отдельный C++ компилятор вообще
Anonymous
Читаем правила (описание группы), вакансии в личку @AlexFails.
Constantine
На раскрытие type alias-ов
Anton
Constantine
Constantine
Я знаю как минимум одно расхождение clang + ms extensions и msvc, можно на нем проверить
Constantine
А, блин, это ошибка линкера
Constantine
error: unknown type name 'Hello'
Vitaliy
Всем привет. Какие библиотеки вы используете у себя на проектах, если требуется наружу вернуть занчение, а также сообщить о том, чем завершилась работа функции ?
Vitaliy
Или например сделать либо, то либо другое.
Vitaliy
В частном случае это optional, например для задачи поиска чего-либо.
Vitaliy
Через has_value мы определяем есть ли значение или нету.
Vitaliy
Но что, если мы ищем в базе данных к которой не удалось подключиться ? Как сообщить об этом наружу ?
Constantine
Constantine
https://github.com/facebook/folly/blob/master/folly/Expected.h
Constantine
ну идеи явно общие
union {
T m_val;
unexpected<E> m_unexpect;
};
bool m_has_val;
Constantine
я лично по традиции велосипедил, мне очень хотелось в этом месте иметь структуру типа folly::Try с указанием списка возможных исключений
kitsu
kitsu
де факто копия аналогичного типа в расте
Vitaliy
кустомный result.hpp
Уже расплодились во всём проекте пары из була и ещё чего-нибудь. Настало время обратиться к комьюинити.
Properrr
Properrr
ну или enum Status
Vitaliy
Vitaliy
Лично я считаю его отвратным )
Properrr
Vitaliy
Ты смотришь на вызов функции и не понимаешь, что ты от неё ждёшь на самом деле, не залезая внутрь.
Properrr
Vitaliy
kitsu
Ivan
Тогда std::tie должен помочь: val, err; std::tie(val,err) = func( ... ).
Vitaliy
Ivan
"сахарок" который может облегчить чтение, если главная цель - понятность/приятность
Andrey
Vitaliy
Vitaliy
Ivan
Constantine
kitsu
Constantine
почему?
ну я для себя понял, что там безумно существенные тонкости касательно.
kitsu
это конец предложения?
Dumitru
Constantine
это конец предложения?
на самом деле, у меня еще не наработана полноценная база использования, там есть тонкости, в которых я не уверен
Constantine
но кажется, что у этого класса просто нет альтернатив, кроме как уметь врапать std::exception_ptr
Constantine
отсюда кажется, что принципиальной основой является структура folly::Try<T>, выражающее в точности T или исключение
kitsu
Constantine
если она умеет бросать исключения, вся эта схема нафиг не сдалась - просто бросаемся
Anatoliy
Ой как вряд ли
там clang и самый честный intellisense без эвристик
Constantine
kitsu
а так все по сигнатуре ясно
Constantine
Constantine
Constantine
и про то, что емнип технически у Intellisense вообще другой компилятор
Anatoliy
Я не знаю. Пользуюсь студией только если вынужден. Но вроде бы Visual C++ переходит на clang всецело
Constantine
Anatoliy
может быть я и ошибаюсь
Constantine
у вижака legacy объем такой, что я мало верю, что есть смысл его вообще реализовывать в clang
Igor
О_О
Научите этому QtCreator. Я в долгу не останусь
твоё желание услышано https://blog.qt.io/blog/2018/02/07/qt-creator-4-6-beta-released/
The informational tooltips on symbols are now generated from information from Clang instead of the built-in model (if you enabled the Clang code model). It now resolves auto to the actual type and shows template parameters for template types.
Constantine
в частности я не уверен, что clang может в MSVC like name lookup
кажется, clang изначально использует ленивые модели, соответствующие double name lookup
Anatoliy
в QtCreator надо выбрать Clang Code Model, заместо их уже неподдерживаемых эвристик (вот что человек пишет https://bugreports.qt.io/browse/QTCREATORBUG-18675?focusedCommentId=366569&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-366569)
Anatoliy
Kirill
Kirill
doc.qt.io/qtcreator/creator-clang-codemodel.html
Constantine
почините парсер
Vladislav
Properrr
народ, а кто-то пилил интерпретаторы на llvm?