Size: a a a

2020 July 28

p

ptrNine in supapro.cxx
Danya
-std=c++20
-fconcepts

?
попробуй так, да
источник

D

Danya in supapro.cxx
ptrNine
попробуй так, да
Хм
Оно не работает)
Сервер падает просто
источник

p

ptrNine in supapro.cxx
Danya
Хм
Оно не работает)
Сервер падает просто
В столбец флаги надо указывать
Забыл сказать сразу
источник

D

Danya in supapro.cxx
Я так и сделал
источник

D

Danya in supapro.cxx
Просто скопировал как в сообщении написал
источник

Е

Егор in supapro.cxx
Можно как-то обьявить алиас внутри фолда? Мне трижды нужно получить один и тот же тип, не хочу ctrl+c - ctrl+v. Вот пример (decay_t и некоторые детали опустил, тип возврата у operator[] - std::optional<T>
template<class Type,class Data,std::size_t ... Index>
void initItem(Type& item,Data& data,std::index_sequence<Index...> = {}) {
 ((get<0>(item) = data[item::name].get<decltype(get<0>(item)>().value_or(decltype(get<0>(item)),...);
}

Тут вот тип get<0>(item)  хотелось бы как-то сохранить, чтоб не писать еще раз, ибо в реальности там еще хуже всё
источник

p

ptrNine in supapro.cxx
Danya
Хм
Оно не работает)
Сервер падает просто
Странно. У меня все работает) А clangd точно свежий?
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
Можно как-то обьявить алиас внутри фолда? Мне трижды нужно получить один и тот же тип, не хочу ctrl+c - ctrl+v. Вот пример (decay_t и некоторые детали опустил, тип возврата у operator[] - std::optional<T>
template<class Type,class Data,std::size_t ... Index>
void initItem(Type& item,Data& data,std::index_sequence<Index...> = {}) {
 ((get<0>(item) = data[item::name].get<decltype(get<0>(item)>().value_or(decltype(get<0>(item)),...);
}

Тут вот тип get<0>(item)  хотелось бы как-то сохранить, чтоб не писать еще раз, ибо в реальности там еще хуже всё
В теле можно же using использовать
источник

Е

Егор in supapro.cxx
🎄🎊 R 🎅 Tb| ✡️ 🎊🎄
В теле можно же using использовать
там темплейт пак
источник

Е

Егор in supapro.cxx
тип у каждого поля item разный
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
тип у каждого поля item разный
Макросы)
источник

SS

Sergey Skvortsov in supapro.cxx
Егор
Можно как-то обьявить алиас внутри фолда? Мне трижды нужно получить один и тот же тип, не хочу ctrl+c - ctrl+v. Вот пример (decay_t и некоторые детали опустил, тип возврата у operator[] - std::optional<T>
template<class Type,class Data,std::size_t ... Index>
void initItem(Type& item,Data& data,std::index_sequence<Index...> = {}) {
 ((get<0>(item) = data[item::name].get<decltype(get<0>(item)>().value_or(decltype(get<0>(item)),...);
}

Тут вот тип get<0>(item)  хотелось бы как-то сохранить, чтоб не писать еще раз, ибо в реальности там еще хуже всё
А точно код такой? Там не Index вместо 0 в get?
источник

Е

Егор in supapro.cxx
Sergey Skvortsov
А точно код такой? Там не Index вместо 0 в get?
ой, Index конечно, пытался попроще сделать
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Егор
тип у каждого поля item разный
Ну или можно засунуть сначала все в тупл и использовать std::apply
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Егор
Можно как-то обьявить алиас внутри фолда? Мне трижды нужно получить один и тот же тип, не хочу ctrl+c - ctrl+v. Вот пример (decay_t и некоторые детали опустил, тип возврата у operator[] - std::optional<T>
template<class Type,class Data,std::size_t ... Index>
void initItem(Type& item,Data& data,std::index_sequence<Index...> = {}) {
 ((get<0>(item) = data[item::name].get<decltype(get<0>(item)>().value_or(decltype(get<0>(item)),...);
}

Тут вот тип get<0>(item)  хотелось бы как-то сохранить, чтоб не писать еще раз, ибо в реальности там еще хуже всё
Напиши nth_type_t трейт
источник

SS

Sergey Skvortsov in supapro.cxx
Сделай функцию просто initOneItem<std::size_t I> и фолд по (initOneItem<Index>(item, data)...)
источник

D

Danya in supapro.cxx
ptrNine
Странно. У меня все работает) А clangd точно свежий?
Ля вроде заработало)))
источник

D

Danya in supapro.cxx
Хер поймёшь
источник

D

Danya in supapro.cxx
Спасибо)
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
Artöm Bakri Al-Sarmini
Напиши nth_type_t трейт
А чем это от get<I> отличается?
источник