Заполните массив с помощью Constexpr во время компиляции

Я хотел бы заполнить массив перечислений с помощью constexpr. Содержимое массива следует определенной схеме.

У меня есть перечисление, разделяющее набор символов ASCII на четыре категории.

enum Type {
    Alphabet,
    Number,
    Symbol,
    Other,
};

constexpr Type table[128] = /* blah blah */;

Я хотел бы иметь массив из 128Type, Они могут быть в структуре. Индекс массива будет соответствовать символам ASCII, а значение будетType каждого персонажа.

Поэтому я могу запросить этот массив, чтобы узнать, к какой категории относится символ ASCII. Что-то вроде

char c = RandomFunction();
if (table[c] == Alphabet) 
    DoSomething();

Я хотел бы знать, возможно ли это без каких-либо длительных макросов.

В настоящее время я инициализирую таблицу, выполнив следующее.

constexpr bool IsAlphabet (char c) {
    return ((c >= 0x41 && c = 0x61 && c 

Ответы на вопрос(4)

Ваш ответ на вопрос