diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-82B73D69-0176-5CBB-B3ED-5CA7F5CCD5D9.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-82B73D69-0176-5CBB-B3ED-5CA7F5CCD5D9.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,45 @@ + + + + + +The +relationship between descriptor classesDescribes inheritance relationship between the descriptor classes +and associated abstract base classes. +

The following diagram shows the inheritance relationship between the concrete +descriptor classes and their abstract base classes.

+

The diagram uses the 16-bit variant types:

+ +

but the relationship is exactly the same for the 8-bit variants. The class +names can also be replaced by the build independent types and the relationships +remains valid.

+

The TBufBase16 and TBufCBase16 classes +are an implementation convenience and are not part of the public API.

+

TDesC16 and TDes16 are abstract +classes and cannot be instantiated, However, these types can be passed as +arguments to functions.

+ + +

Inheritance relationship between the concrete descriptor classes and their +abstract base classes

+
+

Because descriptors are widely used (especially on the stack), the size +of descriptor objects must be kept to a minimum. To help with this, no virtual +functions are defined in order to avoid the overhead of a virtual function +table pointer in each descriptor object.

+

As a consequence, the base classes have implicit knowledge of the classes +derived from them.

+
\ No newline at end of file