Включает ли предложение отражения C++26 способ циклического перебора перечислений?
Я бы рекомендовал задать ваш вопрос немного по-другому. Пользователи здесь не могут знать, что будет включено в C++26. Но они могут сказать вам, позволят ли текущие предложения по отражению, рассматриваемые для C++26, сделать это и как это будет выглядеть.
«Почему бы не высказать свои аргументы вместо того, чтобы нажать кнопку?» - потому что Stack Overflow не должен быть местом для споров, и похоже, что вы хотите поспорить.
Я сделал обновление. Спасибо за совет
Вы можете прочитать предложение самостоятельно open-std.org/jtc1/sc22/wg21/docs/papers/2024/…
Если вы знаете номер предложения, вы можете легко перенаправить на последнюю опубликованную версию статьи wg21.link/p2996
В предложении по языку P2996 указывается std::meta::enumerators_of()
, что позволяет нам написать что-то вроде этого, когда оно будет принято:
template for (constexpr auto e: std::meta::enumerators_of(^E)) {
auto const v = [:e:];
// ...
}
Или, более кратко, если соединители диапазона доступны:
for (auto v: [: ...std::meta::enumerators_of(^E) :]) {
// ...
}
Хотя P2996 ориентирован на C++26, он не включает в себя средства объединения диапазонов. Они могут быть приняты в более позднем стандарте.
Почему бы не высказать свои аргументы вместо того, чтобы нажать кнопку?