Re[6]: Определение регулярных последовательностей статически
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 15.12.24 19:46
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Если бы вы привели конкретный пример


Если предельно схематично, то как-то так:

enum ParameterType {
  PT_MaxNumberOfLines,
  PT_AllowedLineTypes,
  PT_UniqueKey,
  PT_LineConfig,
};

enum LineParameterType {
  LPT_Id,
  LPT_Name,
  LPT_Dir,
};

...

MyMagicListType const ParameterList {
  { PT_UniqueKey, "12345-67890 },
  { PT_AllowedLineTypes, LT_Mic | LT_DigitalOutput | LT_Speakers },
  { PT_LineConfig,
    { LPT_Name, "line1" },
    { LPT_Id, 12 },
    { LPT_Dir, LD_Input },
  },
  { PT_LineConfig,
    { LPT_Name, "line2" },
    { LPT_Id, 7 },
    { LPT_Dir, LD_Output },
  },
  { PT_MaxNumberOfLines, 5 },
};


В родном синтаксисе почти все это есть, не хватает сущей мелочи — возможности размещения литеральных значений в "самоопределенном" виде, где каждый элемент снабжается заголовком "это элемент типа T", "это увеличение вложенности", "это уменьшение вложенности". А известные мне средства организации подобных описаний через шаблонную магию слишком громоздки и корявы, чтоб я мог заставить себя их терпеть.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.