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