[Prev][Next][Index][Thread]

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 


References: