Как работает «Шаблон для итерации» в C ++ 26?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как работает «Шаблон для итерации» в C ++ 26?

Сообщение Anonymous »

Я экспериментирую с новыми функциями отражения времени компиляции C ++ (как описано в P2996R0), и я тестирую простую утилиту Enum_to_string с использованием шаблона для:
template
requires std::is_enum_v
constexpr std::string enum_to_string(E value) {
template for (constexpr auto e : std::meta::members_of(^E)) {
if (value == [:e:]) {
return std::string(std::meta::name_of(e));
}
}

return "";
}
< /code>
Как я понимаю, это не обычный цикл, а скорее развертывание повторного кода с различными заменами шаблонов. Совместим ли этот механизм с функциями начала /конечности, используемым в диапазоне для петли? Полагается ли шаблон для начала/конец?
Есть ли какие-либо формальные требования для правой стороны шаблона? Нужно ли моделировать конкретную концепцию или структуру?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... ork-in-c26
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»