主要内容

define

R2026b

Define property in C++ class

Since R2026b

    Description

    define(propDef,Name=Value) defines or customizes a property with one or more name-value arguments.

    example

    Examples

    collapse all

    Use the define method on a clibgen.api.PropertyDefinition object to resolve incomplete pointer properties by specifying MATLABType and Size properties.

    Configure the interface for a library defined by propertyDef.hpp.

    icfg = clibgen.api.InterfaceConfiguration("libname");
    icfg.HeaderFiles = "propertyDef.hpp";
    idef = clibgen.api.InterfaceDefinition(icfg);

    Display information about the rawBuffer property in the Sensor class.

    sensorClass = idef.findClass("Sensor");
    prop = sensorClass.findProperty("rawBuffer")
    ans = 
      PropertyDefinition with properties:
    
           CPPName: "rawBuffer"
           CPPType: "double *"
        MATLABType: "clib.array.libname.Double"
              Size: <undefined>
            Status: Incomplete
          Included: false
    point
      Show all properties
    

    Define rawBuffer as a double array whose length the bufferLength data member specifies.

    define(prop,MATLABType="double",Size="bufferLength")

    Verify the update.

    prop
    prop = 
      PropertyDefinition with properties:
    
           CPPName: "rawBuffer"
           CPPType: "double *"
        MATLABType: "double"
              Size: "bufferLength"
            Status: Complete
          Included: true
    
      Show all properties
    

    Input Arguments

    collapse all

    C++ property definition, specified as a clibgen.api.PropertyDefinition object with one or more name-value arguments.

    Name-Value Arguments

    collapse all

    Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

    Example:

    Data type for the argument in MATLAB®, specified as a string scalar.

    Dimensions of array data, specified as a numeric vector, string vector, cell array, or "nullTerminated". MATLAB uses this value to determine the number of elements in the pointer data. For example:

    • If Size = 1, the pointer refers to a single element.

    • If Size = 5, the pointer refers to an array of exactly five elements.

    • If Size = "len", the number of elements in the array equals the value of the data member "len".

    • If Size = ["m","n"], the pointer refers to a matrix with the number of elements in each dimension equal to the values of the data members "m" and "n".

    • If Size = "nullTerminated", the pointer refers to a C++ string.

    Doxygen @brief comments for the property from the header file, specified as a string scalar.

    Doxygen @details comments for the property from the header file, specified as a string scalar. If the C++ file does not contain a comment about the property, then DetailedDescription is empty and does not appear in the definition file.

    Version History

    Introduced in R2026b