Пакет: clibgen
Определение для перечисления MATLAB, соответствующего перечислению C++
clibgen.EnumDefinition
класс содержит определение MATLAB® для перечисления, заданного в заголовке C++.
clibgen.EnumDefinition
классом является handle
класс.
MATLAB создает EnumDefinition
возразите, когда MATLAB вызовет addEnumeration
на clibgen.LibraryDefinition
объект.
Вы можете должны быть создать перечисляемую стоимость в MATLAB, но имя того значения не может быть допустимым именем MATLAB. Например, имя enumerant может начаться с подчеркивания. Чтобы получить значение на это имя во время выполнения, используйте этот синтаксис 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
.