The class is useful for constructing an array of variable length buffers, where the length is decided at run time.
The class is useful for constructing an array of variable length buffers, where the length is decided at run time. It is also useful as a data member of a base class in a thin template class/base class pair, where the type of the array element is not known until the owning thin template class is instantiated.
For example, to implement a stack of packed (variable length) objects of type T.
class CExampleBase : public CBase { public : ... protected : ... void PushL(const TAny* aPtr); TAny* Pop(); private : CArrayPak<TAny> iArray; }
template <class T> class CExample : public CExampleBase { public : ... inline void PushL(const T* aPtr); inline T* Pop(); }