This document describes how to use CCirBuf.
The buffer itself
is not allocated until CCirBufBase::SetLengthL() is called.
Therefore, the first steps must always be to construct the CCirBuf object
and then call its CCirBufBase::SetLengthL() member function.
Also
note that SetLengthL() can leave so it's useful to call it
under a trap harness.
class Test
{
public:
Test(){a=b=0;}
Test(TInt anInt){a=b=anInt;}
private
TInt a;
TInt b;
};
CCirBuf<Test>* cbInt=new CCirBuf<Test>;
TRAPD(ret,cbInt->SetLengthL(3)); // max capacity is 3
// and allocates buffer
Test one(1);
Test two(2);
...
cbInt->Add(&one); // Can now start adding/removing objects
...
delete cbInt;