Re: [Q] What does "*isa" stand for ?

acs@aracnet.com writes:
> In a structured stream class,
> what does the structure member "*isa" stand for ?
> 
>   as in:
>           struct _HTStructured {
>              CONST HTStructuredClass *   isa;
>                  ....
>           }
> 
The isa element is the _only_ required part of a stream interface that
a stream has to provide. It is of type HTStreamClass which is defined in
HTStream.html. The isa element is an attempt to hide the fact that you
can't subclass as in C++, for example.
 
If no take a look at any of the stream implementations - or any function
using a stream - it use the methods pointed by the isa element.
 
It is a question whether the extra indirection going through the isa element
causes performance problems but the tests that I have performed using alpha's
profiler doesn't give this impression.
 
Henrik 

PS: I don't think this mail made it - we had some mail problems yesterday but
it should be fixed by now. Sorry if you have already seen it.
 

Received on Wednesday, 6 March 1996 13:30:34 UTC