I am trying to keep a pointer and numeric values in a 'UserData' property. I was not using pointers before and the value could be an array but I cannot add a pointer to an array so I am trying to figure out what is going on and why. I acknowledge your objection that the function handle is undocumented, so my example is void, I am unable to come up with another one and I should not be so nosey.
U?ytkownik "Steven_Lord" napisa? w wiadomo?ci grup dyskusyjnych:firstname.lastname@example.org...
<email@example.com> wrote in message news:firstname.lastname@example.org... > class (handle (0)) == 'root';
The HANDLE function is undocumented. [The HANDLE _class_ is Abstract and so cannot be instantiated, so this can't be a call to instantiate an object using 0 as an input parameter. You must inherit from it to instantiate a handle object.]
> class (libpointer) == 'lib.pointer';
Yes, libpointer returns a lib.pointer object.
> class ([ libpointer, (handle (0)) ]) == 'handle'; > % Why? The documentation says: MATLAB does not convert objects to a > common superclass unless those objects derive from a member of a > heterogeneous hierarchy.
You're calling out one of the four bullets in this section of the documentation, the last one:
There are other bullets that apply to general concatenation of objects.
> % This is not the case: > isa (libpointer, 'math.mixin.Heterogeneous') == 0;
The name of the base class used to construct a heterogeneous hierarchy is not math.mixin.Heterogeneous. It is matlab.mixin.Heterogeneous.
> % So what is going on here? Moreover: > numel (superclasses (libpointer)) == 0; > numel (superclasses (handle (0))) == 0; > % So if they were heterogeneous, the superclass would be hidden. I am not > sure how to test for that.
What specifically are you trying to do? Why are you attempting to use lib.pointers and the HANDLE function? What's your application?