Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



How to construct a header

In order to construct a header, two important pieces of information are needed:

To create a header for a singly linked list of CMyClass elements, defined as:

class CMyClass : public CBase
    {
    ...
    TSglQueLink iDlink;
    ...
    };

construct a TSglQue as follows:

TSglQue<CMyClass> queHeader(_FOFF(CMyClass,iSlink));

The TSglQue class takes a class template parameter which defines the type of object which is to form an element of the list. In this example, objects of type CMyClass form the elements of the list.

The _FOFF macro (i.e. the "field offset" macro) calculates the offset of the component link object within the element. In this example, the required value is the offset of the iSlink data member from the start of CMyClass.