Диапазон перечислений в C++C++

Программы на C++. Форум разработчиков
Гость
Диапазон перечислений в C++

Сообщение Гость »

Меня смущает диапазон перечислений.
У меня такой код:

Код: Выделить всё

namespace regs {
enum Control_0 {
THING1,
THING2,
THING3
};
enum Control_1 {
THING100,
THING200,
THING300
};
const auto regs_range = {Control_0, Control_1}; //error
} // regs namespace
и нужно перебрать эти перечисления, как на основе диапазона для:

Код: Выделить всё

for (const auto& reg : regs::regs_range) {
get_register_data(reg);
}
Мне также нужно сохранить функцию доступа к значениям перечисления, например getThingData(Control_0::THING1)
Можно ли реализовать это как-то?
Для перебора значений в перечислении я всегда использовал это: const auto regs_values_range = {Control_0::THING1, Control_0::THING2, Control_0::THING3}; но в отношении диапазона перечислений это ошибка.

Подробнее здесь: https://stackoverflow.com/questions/781 ... enums-in-c

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