diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-24D16BF8-7BF1-5FF2-BCA8-E5200A9E8431.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-24D16BF8-7BF1-5FF2-BCA8-E5200A9E8431.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,74 @@ + + + + + +How +to form linksTo be an element of a list, each element needs to contain a link +object. +

To form a singly linked list of CMyClass objects, include +the link object TSglQueLink as a component of CMyClass:

+class CMyClass : public CBase + { + ... + TSglQueLink iSlink; + ... + }; + +Two elements in a linked list + + +

Although any kind of object can be an element of a linked list, most lists +consist of elements which are all of the same type.

+

An object can participate in more than one list. For example, to allow CMyClass objects +to participate in two singly linked lists, include two separate TSglQueLink objects +as components of CMyClass:

+class CMyClass : public CBase + { + ... + TSglQueLink iSlink1; + ... + TSglQueLink iSlink2; + }; + +An example of two elements, in two lists where they are consecutive +elements in both lists + + +

Elements can also be objects constructed from a variety of classes, all +ultimately derived from the same base class, where that base class includes +the link object as a component. For example, if CBc is a +base class for CDc1 which, in turn, is a base class for CDc2, +then the elements of the list can consist of a mix of CBc or CDc1 or CDc2 objects.

+class CBc : public CBase + { + ... + TSglQueLink iSlink; + ... + }; +class CDc1 : public CBclass + { + ... + } + +class CDc2 : public CDc1 + { + ... + } + + +Example of a linked list of different element types + + +

Note that the link object is at the same offset in each element in this +list.

+

New link elements can be inserted at the beginning or the end of the list, +but not into the middle of the list. The functionality for this is provided +by the header TSglQue<class T>.

+
\ No newline at end of file