Пакет: clibgen
Определение для перечисления MATLAB, соответствующего перечислению C++
The clibgen.EnumDefinition
класс содержит MATLAB® определение для перечисления, заданного в заголовке C++.
The clibgen.EnumDefinition
класс является handle
класс.
MATLAB создает EnumDefinition
объект, когда MATLAB вызывает addEnumeration
на clibgen.LibraryDefinition
объект.
Возможно, вам потребуется создать перечисленное значение в MATLAB, но имя этого значения может быть недопустимым. Для примера перечисляемое имя может начинаться с подчеркивания. Чтобы вывести значение из этого имени во время исполнения, используйте этот синтаксис MATLAB, где enumMember
- строковый скаляр или вектор символов, который при вычислении возвращает образец перечисления.
clib.libName.enumName.(enumMember)
Например, предположим, что у вас есть интерфейс clib.enums.keywords
со следующими свойствами:
EnumDefinition with properties: Description: "clib.enums.keywords Representation of C++ enumeration" DefiningLibrary: [1×1 clibgen.LibraryDefinition] CPPName: "keywords" MATLABType: "int32" Valid: 1 MATLABName: "clib.enums.keywords" Entries: ["_for" "_while" "_class" "_enums" "_template" "_typename"]
Назначение входных _class
в переменную введите:
var = clib.enums.keywords.('_class');
Этот синтаксис действителен для имен, которые меньше максимальной длины идентификатора namelengthmax
.
Чтобы считать базовое числовое значение для объекта перечисления C++, созданного в MATLAB, вызовите underlyingValue
.
addEnumeration
| clibgen.LibraryDefinition
| underlyingValue