Size: a a a

2020 October 16

DF

Dollar Føølish in pro.cxx
А почему атрибуты не должны менять поведение?
источник

DF

Dollar Føølish in pro.cxx
В джаве вон аннотации ещё как меняют
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
там было много проблем с определением эквивалентности двух типов, параметризованных произвольным объектом.

в каком случае &f<a> == &f<b>?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1907r1.html - в этой бумаге есть много ссылок на другие бумаги, где всё это обсуждалось
ну для строковых литералов, наверное, это можно решить
источник

CD

Constantine Drozdov in pro.cxx
Dollar Føølish
А почему атрибуты не должны менять поведение?
потому что то, что меняет, есть и без атрибутов
источник

АК

Александр Караев... in pro.cxx
Constantine Drozdov
ну для строковых литералов, наверное, это можно решить
да хрен знает, почему не решали раньше
главное, что уже решили
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
да хрен знает, почему не решали раньше
главное, что уже решили
я что-то очкую, что плохо, надо бы посмотреть
источник

AN

Alexander N in pro.cxx
Александр Караев
там было много проблем с определением эквивалентности двух типов, параметризованных произвольным объектом.

в каком случае &f<a> == &f<b>?

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1907r1.html - в этой бумаге есть много ссылок на другие бумаги, где всё это обсуждалось
Если a==b?
источник

АК

Александр Караев... in pro.cxx
Constantine Drozdov
я что-то очкую, что плохо, надо бы посмотреть
не, там всё было ПОЧТИ плохо (и это даже почти приняли), но вовремя подсуетились и всё поправили
источник

CD

Constantine Drozdov in pro.cxx
короче, поверю, когда увижу "%d"_format до функтора разобранный
источник

АК

Александр Караев... in pro.cxx
Constantine Drozdov
короче, поверю, когда увижу "%d"_format до функтора разобранный
format<"%d"> уже можно реализовать, разобранный до функтора.
про udl хз, не уверен
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
format<"%d"> уже можно реализовать, разобранный до функтора.
про udl хз, не уверен
можно простенький тест?)
источник

CD

Constantine Drozdov in pro.cxx
%d/%s разобрать
источник

ПК

Побитый Кирпич... in pro.cxx
Dollar Føølish
А почему атрибуты не должны менять поведение?
Я так понимаю чтобы компилятор в котором нет атрибута (или стандарт в котором нет атрибута) собрал код
источник

АК

Александр Караев... in pro.cxx
Alexander N
Если a==b?
правда что ли? :)
а если a - это NaN?
или если const char* - сравнивать указатели или строки?
короче, бумаги в руки и читать, я сам всего не знаю
источник

АК

Александр Караев... in pro.cxx
Constantine Drozdov
можно простенький тест?)
долго писать..
тебя устроит пример из ctre?
std::optional<date> extract_date(std::string_view s) noexcept {
   using namespace ctre::literals;
   if (auto [whole, year, month, day] = ctre::match<"(\\d{4})/(\\d{1,2})/(\\d{1,2})">(s); whole) {
       return date{year, month, day};
   } else {
       return std::nullopt;
   }
}
источник

AN

Alexander N in pro.cxx
Александр Караев
правда что ли? :)
а если a - это NaN?
или если const char* - сравнивать указатели или строки?
короче, бумаги в руки и читать, я сам всего не знаю
Блин ну тут сравнение наверное зависеть от типов должно
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
долго писать..
тебя устроит пример из ctre?
std::optional<date> extract_date(std::string_view s) noexcept {
   using namespace ctre::literals;
   if (auto [whole, year, month, day] = ctre::match<"(\\d{4})/(\\d{1,2})/(\\d{1,2})">(s); whole) {
       return date{year, month, day};
   } else {
       return std::nullopt;
   }
}
ну это не то, я хочу, чтобы f<"%d"> был Callable(int), а f<%s> был Callable(string)
источник

D

Danya in pro.cxx
Александр Караев
да хрен знает, почему не решали раньше
главное, что уже решили
Как же решили?
источник

CD

Constantine Drozdov in pro.cxx
Александр Караев
долго писать..
тебя устроит пример из ctre?
std::optional<date> extract_date(std::string_view s) noexcept {
   using namespace ctre::literals;
   if (auto [whole, year, month, day] = ctre::match<"(\\d{4})/(\\d{1,2})/(\\d{1,2})">(s); whole) {
       return date{year, month, day};
   } else {
       return std::nullopt;
   }
}
а, или они регулярку разбирают? ctre, понял
источник

АК

Александр Караев... in pro.cxx
Alexander N
Блин ну тут сравнение наверное зависеть от типов должно
да, но это сравнение должно быть таким, чтобы компилятор на стадии компиляции мог сравнить объекты, причём чтобы это сравнение ещё было согласовано с хешированием (компилятору ж нужно хранить все инстанцирования) и чтобы юзер случайно не UB'нул внутрь компилятора
источник