Main Content

clibgen.api.PropertyDefinition

R2026b

MATLAB definition for C++ property

Since R2026b

    Description

    A clibgen.api.PropertyDefinition object represents the MATLAB® definition of a C++ property.

    Creation

    propDef = classDef.Properties creates a property definition object from the Properties property of a clibgen.api.ClassDefinition object.

    Properties

    expand all

    Whether this construct is included in the interface, specified as a numeric or logical 1 (true) or 0 (false).

    This property is read-only.

    Fully qualified C++ property name, represented as a string scalar.

    This property is read-only.

    Fully qualified name of the C++ class that contains the property, represented as a string scalar.

    This property is read-only.

    C++ parameter type, represented as a string scalar.

    MATLAB type for the property, 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.

    This property is read-only.

    Whether the property requires additional definition, represented as Complete or Incomplete.

    This property is read-only.

    Whether property is static, represented as true or false.

    Doxygen @brief comments from the header file that describe the property for the end user, specified as a string scalar. If the header file does not contain @brief comments, the text for Description is:

    MATLABName    Representation of C++ property CPPName.

    To modify the description in the PropertyDefinition object, use the Description property.

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

    If DetailedDescription is not empty, then the MATLAB doc command displays the following sentence before displaying the value of DetailedDescription:

    This content is from the external library documentation.

    Use the DetailedDescription property to provide more information about the interface definition file.

    Object Functions

    defineDefine property in C++ class

    Examples

    collapse all

    Display the properties of a Sensor class.

    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 Sensor class.

    sensorDef = idef.findClass("Sensor");
    sensorDef.Properties

    If there are multiple properties, click the Display as table link.

          CPPName           CPPType                MATLABType               Status      Included
        ______________    ______________    ___________________________    __________    ________
    
        "rawBuffer"       "double *"        "clib.array.libname.Double"    Incomplete     false  
        "bufferLength"    "int"             "int32"                        Complete       true   
        "label"           "char const *"    ""                             Incomplete     false  
        "sampleCount"     "int"             "int32"                        Complete       true   
        "threshold"       "double"          "double"                       Complete       true   
        "unit"            "Unit"            "clib.libname.Unit"            Complete       true   
    

    Version History

    Introduced in R2026b