Size: a a a

2020 August 08

AF

Aidar Fattakhov in supapro.cxx
Aidar Fattakhov
Фишка концептов - коньюнкции
Концепты имеют семантику влияющую на оверлоад резолюшн
источник

S

Sooqa in supapro.cxx
Егор
Ты начал разговор с вопроса, зачем нужны концепты, если есть статик_ассерт. Я попросил написать элементарную функцию, которая на концептах делается в 3 строки. Ты меня обижать начал
Не ври , я написал 2!  функции но так и не услышал ,зачем нужны концепты , если и без них всё ок
источник

AF

Aidar Fattakhov in supapro.cxx
Sooqa
Не ври , я написал 2!  функции но так и не услышал ,зачем нужны концепты , если и без них всё ок
Ты знаешь что такое sfinae?
источник

К

Константин in supapro.cxx
Sooqa
Да боже ты что тупой? Это value level computation, это всё на изи делается . Концепты же предполагают type level вычисления.
Что-то типа

template <Concet1 T, Concept2 U> GenericType ...;
GenericType<_, _> typeFactory (...)
++ и это решалось enable_if и бубном)
источник

AS

Anatoly Shirokov in supapro.cxx
Sooqa
Да боже ты что тупой? Это value level computation, это всё на изи делается . Концепты же предполагают type level вычисления.
Что-то типа

template <Concet1 T, Concept2 U> GenericType ...;
GenericType<_, _> typeFactory (...)
/warn убирай переход на личность
источник

G

Group Butler [beta] in supapro.cxx
𝕔𝕐𝕜𝓐 has been warned (2/3)
источник

S

Sooqa in supapro.cxx
Aidar Fattakhov
Ты знаешь что такое sfinae?
Эмм а оно как-то влияет?
источник

Е

Егор in supapro.cxx
Sooqa
Не ври , я написал 2!  функции но так и не услышал ,зачем нужны концепты , если и без них всё ок
Напиши мне на ассертах, чтобы работало так
int main() {
int i = 5;
const char* c = "6";
foo(i); // 1
foo(c); // 2
}
источник

Е

Егор in supapro.cxx
Егор
Напиши мне на ассертах, чтобы работало так
int main() {
int i = 5;
const char* c = "6";
foo(i); // 1
foo(c); // 2
}
инт могу заменить на любой из int*_t
источник

AF

Aidar Fattakhov in supapro.cxx
Aidar Fattakhov
Ты знаешь что такое sfinae?
Концепты нужны для того же но еще чтобы убрать костыльность явного указания приоритета через странные вещи типа ..., касты интов, теги с наследованием
источник

AF

Aidar Fattakhov in supapro.cxx
Будет выбираться тот шаблон который наиболее специфичен по коньюнкциям концептов
источник

S

Sooqa in supapro.cxx
Егор
Напиши мне на ассертах, чтобы работало так
int main() {
int i = 5;
const char* c = "6";
foo(i); // 1
foo(c); // 2
}
Ну тут уже статик_каст
источник

S

Sooqa in supapro.cxx
👍
источник

AF

Aidar Fattakhov in supapro.cxx
Aidar Fattakhov
Будет выбираться тот шаблон который наиболее специфичен по коньюнкциям концептов
Правда это добавило несколько новых УБ
источник

Е

Егор in supapro.cxx
Sooqa
Ну тут уже статик_каст
еще один наркоман
источник

S

Sooqa in supapro.cxx
Егор
еще один наркоман
Лол ,при чём тут я . Не я же заделал чар и инт конвертируемыми друг в друга
источник

Е

Егор in supapro.cxx
дайте ему варн за троллинг и закончите этот диалог
источник

AS

Anatoly Shirokov in supapro.cxx
Sooqa
Да боже ты что тупой? Это value level computation, это всё на изи делается . Концепты же предполагают type level вычисления.
Что-то типа

template <Concet1 T, Concept2 U> GenericType ...;
GenericType<_, _> typeFactory (...)
/warn ну, я честно просил два раза
источник

G

Group Butler [beta] in supapro.cxx
Anatoly Shirokov
/warn ну, я честно просил два раза
𝕔𝕐𝕜𝓐 muted: reached the max number of warnings (3/3)
источник

O

Ofee in supapro.cxx
Aidar Fattakhov
Концепты нужны для того же но еще чтобы убрать костыльность явного указания приоритета через странные вещи типа ..., касты интов, теги с наследованием
А разве концепты позволяют однозначно решать вопрос приоритетности вызова функций? Кажется, даже с концептами у нас могут возникать неоднозначности, так что priority_tag<N>, наверное, никуда не денется
источник