W3C home > Mailing lists > Public > www-lib@w3.org > January to March 1996

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

From: Henrik Frystyk Nielsen <frystyk@w3.org>
Date: Wed, 06 Mar 1996 13:30:26 -0500
Message-Id: <9603061830.AA09303@www20>
To: acs@aracnet.com
Cc: www-lib@w3.org
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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:26 GMT