Size: a a a

2020 May 26

IA

Igor Akhmetov in pro.cxx
Побитый Кирпич
Чтоб патчить препроцессированный код
Препроцессор второго уровня? Это хорошая идея.
источник

NP

Nikita Provotorov in pro.cxx
Igor Akhmetov
Включи /Zc:preprocessor. На практике какая разница, и со старым препроцессором твой пример компилируется, просто неправильно делает дамп.
а этот флаг когда появился? у меня 19 вижак такого не знает, правда версия не последняя
источник

ПК

Побитый Кирпич... in pro.cxx
Nikita Provotorov
а этот флаг когда появился? у меня 19 вижак такого не знает, правда версия не последняя
Вроде они в последнем как раз препроцессор пофиксили
источник

IA

Igor Akhmetov in pro.cxx
Nikita Provotorov
а этот флаг когда появился? у меня 19 вижак такого не знает, правда версия не последняя
https://devblogs.microsoft.com/cppblog/announcing-full-support-for-a-c-c-conformant-preprocessor-in-msvc/ 16.6, но если не хочется апдейтиться то наверное можно experimental:preprocessor использовать.
источник

NP

Nikita Provotorov in pro.cxx
спасибо
источник
2020 May 27

CD

Constantine Drozdov in pro.cxx
вопрос чисто гипотетический
namespace boost {
   struct namespace_tag {};
   template <typename T> namespace_tag namespace_detect(T const&);
}
template <typename T>
concept is_boost_class = requires (T t) {
   { namespace_detect(t) } -> boost::namespace_tag
};
подобный код позволит детектировать, что объект расположен в namespace boost, но не boost::*
можно ли как-то это починить?
задача: сделать детектор, что класс расположен в boost или его подпространстве
источник

IS

Iskander Saitbatalov in pro.cxx
Constantine Drozdov
вопрос чисто гипотетический
namespace boost {
   struct namespace_tag {};
   template <typename T> namespace_tag namespace_detect(T const&);
}
template <typename T>
concept is_boost_class = requires (T t) {
   { namespace_detect(t) } -> boost::namespace_tag
};
подобный код позволит детектировать, что объект расположен в namespace boost, но не boost::*
можно ли как-то это починить?
задача: сделать детектор, что класс расположен в boost или его подпространстве
Можно попробовать через ADL: написать функцию, которая расположена в namespace-е boost-а, и чтобы была дефолтная реализация в глобале, которая тянется для остальных. Ну и каким-нибудь методом пометить эти функции (а именно типы возвращаемого значения сделать разные).
источник

CD

Constantine Drozdov in pro.cxx
Iskander Saitbatalov
Можно попробовать через ADL: написать функцию, которая расположена в namespace-е boost-а, и чтобы была дефолтная реализация в глобале, которая тянется для остальных. Ну и каким-нибудь методом пометить эти функции (а именно типы возвращаемого значения сделать разные).
а я что делаю в примере? но, насколько мне известно, ADL не заходит в подпространства и надпространства
источник

IS

Iskander Saitbatalov in pro.cxx
Constantine Drozdov
а я что делаю в примере? но, насколько мне известно, ADL не заходит в подпространства и надпространства
А да, действительно) Не очень внимательно код глядел.
источник

IZ

Ilia Zviagin in pro.cxx
Nikita Provotorov
Какой результат раскрытия макроса в следующем коде должен быть?
#define m(x) x
m(int)myfunc( ) { return 0; }


intmyfunc( ) { return 0; } или int myfunc( ) { return 0; }?

у MSVC и GCC/Clang разные мнения на этот счет
Пробел ты должен ставить сам, руками. Препроцессор это делать не обязан.
источник

Ct

Casual tears in pro.cxx
Кто-нибудь концепты/корутины/модули в clang/msvc тыкал? Судя по вот этой страничке https://en.cppreference.com/w/cpp/compiler_support для всего этого дела только partial implementation есть. Насколько оно partial? В петпроджектах уже юзабельно?
источник

AZ

Alexander Zaitsev in pro.cxx
Casual tears
Кто-нибудь концепты/корутины/модули в clang/msvc тыкал? Судя по вот этой страничке https://en.cppreference.com/w/cpp/compiler_support для всего этого дела только partial implementation есть. Насколько оно partial? В петпроджектах уже юзабельно?
В петах - пойдет, наверное. Серьезно их использовать я бы не рекомендовал. Пусть пилят, тестят, фиксят. Рано ещё такое в прод тянуть
источник

IA

Igor Akhmetov in pro.cxx
Alexander Zaitsev
В петах - пойдет, наверное. Серьезно их использовать я бы не рекомендовал. Пусть пилят, тестят, фиксят. Рано ещё такое в прод тянуть
С концептами вероятность проблем не очень велика.
источник

AZ

Alexander Zaitsev in pro.cxx
Igor Akhmetov
С концептами вероятность проблем не очень велика.
Согласен. Но я не доверяю свежим фичам и всегда жду, пока стабилизируется нормально
источник

ПК

Побитый Кирпич... in pro.cxx
Casual tears
Кто-нибудь концепты/корутины/модули в clang/msvc тыкал? Судя по вот этой страничке https://en.cppreference.com/w/cpp/compiler_support для всего этого дела только partial implementation есть. Насколько оно partial? В петпроджектах уже юзабельно?
Корутины в msvc уже давно юзабельны, в msdn примеры UWP-api уже во всю их юзает
источник

ПК

Побитый Кирпич... in pro.cxx
Но в прод всё равно ссыкатно)
источник

АК

Александр Караев... in pro.cxx
Casual tears
Кто-нибудь концепты/корутины/модули в clang/msvc тыкал? Судя по вот этой страничке https://en.cppreference.com/w/cpp/compiler_support для всего этого дела только partial implementation есть. Насколько оно partial? В петпроджектах уже юзабельно?
в clang/msvc не тыкал, а вот в gcc с 9-й версии концепты уже вполне юзабельны (с парой ограничений, правда)
источник

AZ

Alexander Zaitsev in pro.cxx
Побитый Кирпич
Корутины в msvc уже давно юзабельны, в msdn примеры UWP-api уже во всю их юзает
Как раз недавно @anatolijs показывал, насколько "юзабельны" :)
источник

ПК

Побитый Кирпич... in pro.cxx
Alexander Zaitsev
Как раз недавно @anatolijs показывал, насколько "юзабельны" :)
Дак он вроде свои пилил, а там запилены в PPL уже таски
источник

AS

Anatoly Shirokov in pro.cxx
Alexander Zaitsev
Как раз недавно @anatolijs показывал, насколько "юзабельны" :)
этот дефект починили, справедливости ради надо сказать.
источник