Size: a a a

2020 August 03

VS

Vlad Serebrennikov in pro.cxx
что на момент определения концепта он неполный и non-dependent, а к моменту использования полный
источник

AF

Aidar Fattakhov in pro.cxx
Aidar Fattakhov
template <typename T>
concept callable_with_tag = requires(T obj, tag&& t) {
   { obj(move(t)) }'
};

а так можно?
А тут вопрос сугубо про синтаксис
источник

D

Danya in pro.cxx
Что-то сложно читается..
Правильно я понял, что подобное ifndr для обычных шаблонов?
источник

VS

Vlad Serebrennikov in pro.cxx
есть, конечно, контраргумент, что A concept is not instantiated http://eel.is/c++draft/temp.concept#5
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Что-то сложно читается..
Правильно я понял, что подобное ifndr для обычных шаблонов?
концепт тоже шаблон
A concept is a template
http://eel.is/c++draft/temp.concept#1
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Что-то сложно читается..
Правильно я понял, что подобное ifndr для обычных шаблонов?
для обычных, которые точно инстанциируются, точно
источник

AF

Aidar Fattakhov in pro.cxx
Так это note
источник

AF

Aidar Fattakhov in pro.cxx
Для более общего утверждения
источник

D

Danya in pro.cxx
Ничего не понимаю -_-
источник

AF

Aidar Fattakhov in pro.cxx
Хреново читается потомучто мало табов
источник

VS

Vlad Serebrennikov in pro.cxx
Aidar Fattakhov
Для более общего утверждения
человеку и примечание-то плохо читается
источник

AF

Aidar Fattakhov in pro.cxx
Vlad Serebrennikov
человеку и примечание-то плохо читается
Я к тому что там важно имено разное поведение в двух точках
источник

AF

Aidar Fattakhov in pro.cxx
Это как раз и есть то как выпелили лупхол походу
источник

VS

Vlad Serebrennikov in pro.cxx
Aidar Fattakhov
Я к тому что там важно имено разное поведение в двух точках
разные интерпретации, если уж совсем точно
источник

D

Danya in pro.cxx
Danya
Переслано от Danya
У меня такой вопрос про концепты, нормально ли они работают в forward decl? Я проверял, вроде норм, но может я что-то пропустил
Пример:
struct tag; // forward decl

template <typename T>
concept callable_with_tag = requires(T obj) {
   { obj(std::declval<tag>()) }'
};

struct tag {}; // definition

template <typename T>
  requires callable_with_tag<T>
void foo() {
 ...
};
Поведение же будет такое, как и с инстанциациями шаблонов -- будет окончательная проверка только при самой инстанциации?
Я правильно понял, что это ifndr?
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Я правильно понял, что это ifndr?
предположительно
как я написал дальше, концепты не инстанциируются, поэтому этот пункт на них не распространяется, наверное
источник

NP

Nikita Provotorov in pro.cxx
Aidar Fattakhov
Это как раз и есть то как выпелили лупхол походу
шо? лупхол выпилили таки?
источник

AF

Aidar Fattakhov in pro.cxx
Vlad Serebrennikov
разные интерпретации, если уж совсем точно
Я про то что non dependent неполный тип не уб без odr use
источник

AF

Aidar Fattakhov in pro.cxx
Nikita Provotorov
шо? лупхол выпилили таки?
да
источник

TW

Tony Werner in pro.cxx
Alexey Medov
А то у меня 5 книг по C++ которые мне больше не нужны
а что за книги?
источник