Size: a a a

2020 September 01

N

Neargye in pro.cxx
Danya
Ещё актуально?
Да
источник

D

Danya in pro.cxx
Сейчас напишу)
источник

АК

Александр Караев... in pro.cxx
Danya
Сейчас напишу)
С++17, там с этого разговор и начался
источник

D

Danya in pro.cxx
Александр Караев
С++17, там с этого разговор и начался
Тогда не напишу
источник

N

Neargye in pro.cxx
Danya
Тогда не напишу
Это было больше к тому что концепты сахар, но и чуть дают нового)
источник

ПК

Побитый Кирпич... in pro.cxx
Neargye
Это было больше к тому что концепты сахар, но и чуть дают нового)
А че нельзя в сфинае контексте попытаться инстанцировать некий template <const char*> test {};?
источник

ПК

Побитый Кирпич... in pro.cxx
или там хард еррор будет?
источник

D

Danya in pro.cxx
Может что-то типа такого?
template <typename T, T V>
struct ubiq {};

template <typename T>
constexpr auto is_get_constexpr(T o) -> decltype(std::declval<ubiq<decltype(o.get()), o.get()>(), bool) {
  return true;
}

template <typename T>
constexpr auto is_get_constexpr(T o) -> bool { return false; }
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Может что-то типа такого?
template <typename T, T V>
struct ubiq {};

template <typename T>
constexpr auto is_get_constexpr(T o) -> decltype(std::declval<ubiq<decltype(o.get()), o.get()>(), bool) {
  return true;
}

template <typename T>
constexpr auto is_get_constexpr(T o) -> bool { return false; }
decltype(o.get()) не надо вычислять, он просто const char* будет
источник

D

Danya in pro.cxx
Побитый Кирпич
decltype(o.get()) не надо вычислять, он просто const char* будет
Надо вычислять, иначе как мне его в ubiq подать?
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Надо вычислять, иначе как мне его в ubiq подать?
Я имею ввиду o.get() в любом варианте возвращает const char*
источник

ПК

Побитый Кирпич... in pro.cxx
То есть contexpr не должно тут влиять
источник

D

Danya in pro.cxx
Побитый Кирпич
Я имею ввиду o.get() в любом варианте возвращает const char*
А, я понял, сейчас исправлю
источник

D

Danya in pro.cxx
Побитый Кирпич
То есть contexpr не должно тут влиять
Исправил
источник

АК

Александр Караев... in pro.cxx
Danya
А, я понял, сейчас исправлю
Сразу уж auto в шаблон
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
А, я понял, сейчас исправлю
Да, щас вариант как у меня выше, только видимо для любого возврата работает
источник

D

Danya in pro.cxx
Александр Караев
Сразу уж auto в шаблон
Это разве не С++20?
источник

АК

Александр Караев... in pro.cxx
Danya
Это разве не С++20?
Нет, к счастью
источник

N

Neargye in pro.cxx
Побитый Кирпич
А че нельзя в сфинае контексте попытаться инстанцировать некий template <const char*> test {};?
проблема в том, что оно упадет с ошибкой

нужно же сделать
if constexpr () else
источник

ПК

Побитый Кирпич... in pro.cxx
Neargye
проблема в том, что оно упадет с ошибкой

нужно же сделать
if constexpr () else
Вон смотри код выше - он упадёт?
источник