coder.ClassType Class
Namespace: coder
Superclasses: coder.ArrayType
Represent set of MATLAB classes acceptable for input specification
Description
Objects of the coder.ClassType specify value class objects that the
generated code accepts. Use objects of this class only with the -args
option of the codegen function. Do not pass as an input to a
generated MEX function.
Creation
creates a t = coder.typeof(classObject)coder.ClassType object for
classObject.
creates a t = coder.newtype(className)coder.ClassType object for an object of the
className class.
Note
You can create and edit coder.Type objects interactively by using
the Coder Type Editor. See Create and Edit Input Types by Using the Coder Type Editor.
Input Arguments
Properties
When you create a coder.ClassType object
t by passing a value class object v to
coder.typeof, t has same as the
properties as v with the Constant attribute set to
false.
Similarly, when you create a coder.ClassType object
t by passing the name of the value class object, v to
coder.newtype, t has same as the
properties as v with the Constant attribute set to
false.
Examples
Tips
After you create a
coder.ClassType, you can modify the types of the properties. For example, modify the type of theprop1andprop2properties of an objectt:t = coder.typeof(myClass) t.Properties.prop1 = coder.typeof(int16(2)); t.Properties.prop2 = coder.typeof([1 2 3]);
After you create a
coder.ClassTypeobject, you can add properties. For example, add thenewprop1andnewprop2properties of an objectt:t = coder.typeof(myClass) t.Properties.newprop1 = coder.typeof(int8(2)); t.Properties.newprop2 = coder.typeof([1 2 3]);
When you generate code, the properties of the
coder.ClassTypeobject that you pass to thecodegenfunction must be consistent with the properties in the class definition file. However, if the class definition file has properties that your code does not use, thecoder.ClassTypeobject does not have to include those properties. The code generator ignores properties that your code does not use.
Version History
Introduced in R2017a