Пакет: 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