Size: a a a

2021 June 30

AF

Aidar Fattakhov in supapro.cxx
Я кстати раньше так и писал, это булщит
источник

S

Shurick in supapro.cxx
ну правда, спор о том как из массива с 10 элементами сделать 11
источник

K

Kelbon in supapro.cxx
согласен, неожиданно, но какой то Intelsense или кто он там умеет подсвечивать ошибки, почему бы ему не сделать это
источник

АК

Александр Караев... in supapro.cxx
Перевожу: Kelbon хочет, чтобы requires auto делал функцию sfinae-friendly при подстановке "плохих" аргументов, а не фейлил компиляцию
источник

AF

Aidar Fattakhov in supapro.cxx
Ну хватит использовать вижак)
источник

AF

Aidar Fattakhov in supapro.cxx
Он переобулся уже
источник

АК

Александр Караев... in supapro.cxx
Не, у него две цели - requires auto и "чтобы как в расте"
источник

K

Kelbon in supapro.cxx
у меня нет цели чтобы как в расте...
источник

K

Kelbon in supapro.cxx
я даже не знаю как там
источник

AF

Aidar Fattakhov in supapro.cxx
Как в джаве скорее, с эксепшнами
источник

АК

Александр Караев... in supapro.cxx
Там тебе не дадут написать value + value, пока ты не напишешь requires Addable
источник

O

Ofee in supapro.cxx
Очень простая задачка – как должен выглядеть концепт для этой функции?

template<typename F>
auto foo(F f) {
 return f(0, 1, 42);
}
источник

K

Kelbon in supapro.cxx
такое не надо, это ограничивает написание кода функции, а я про вызов уже написанной функции шаблонной, чтобы это было удобнее
источник

AF

Aidar Fattakhov in supapro.cxx
Рофл
источник

K

Kelbon in supapro.cxx
Это написать концепт сложно(ну если пользоваться готовым callable и прочим то легче), но компилятор УЖЕ умеет делать шаблонные подстановки и выдавать ошибки
источник

AF

Aidar Fattakhov in supapro.cxx
Что-то типа
struct dummy{
template<typename T>
operator T&&() const;
}

Callable<dummy, dummy, dummy>
источник

d

d7d1cd in supapro.cxx
Тогда подскажи решение.
У меня АПИ возвращает ошибку вот в такую структуру:
struct Data {
 int bytesProvided;
 int bytesAvailable;
 / * здесь поле char[], но длина будет известна только после вызова АПИ */
};

Перед вызовом АПИ я создаю переменную такого типа, задаю bytesProvided = sizeof(int) * 2; и передаю в АПИ по указателю. Если АПИ завершится успешно, то поле bytesAvailable будет равно 0. Если же будет ошибка, то в этом поле будет число байт, которое АПИ может вернуть как информацию об ошибке. Например, если bytesAvailable = 50, то надо снова вызвать АПИ, передав указатель на такую структуру:
struct Data {
 int bytesProvided;
 int bytesAvailable;
 char data[50];
};

Как вот это грамотно реализовать?
источник

O

Ofee in supapro.cxx
Нет. Я разработчик функции и я хочу дать пользователю гарантию, что в будущем не появятся более строгие требования, чем сейчас. Какие требования есть сейчас?
источник

AF

Aidar Fattakhov in supapro.cxx
Хотя не сработает
источник

AF

Aidar Fattakhov in supapro.cxx
Это сишный хак
источник