CMarkedStack Class Reference

class CMarkedStack : public CStack< T, Owner >

Provides a templated stack that allows items in the stack to be marked.

The class allows each mark to have an associated TInt value, which allows different types of mark to be used on the same stack.

Template parameter T specifies the type of object on the stack. Owner should be set to ETrue if the object's destructor should delete the objects on the stack.

Nested Classes and Structures

Public Member Functions
~CMarkedStack()
voidDeleteToMark(TInt)
voidMarkL(TInt)
TInt RemoveMark(TInt)
voidResetToMark(TInt)
Inherited Functions
CArrayFix< T * >::AppendL(const T *&)
CArrayFix< T * >::AppendL(const T *&,TInt)
CArrayFix< T * >::AppendL(const T **,TInt)
CArrayFix< T * >::Array()const
CArrayFix< T * >::At(TInt)
CArrayFix< T * >::At(TInt)const
CArrayFix< T * >::Back(TInt)
CArrayFix< T * >::Back(TInt)const
CArrayFix< T * >::CArrayFix(TBufRep,TInt)
CArrayFix< T * >::End(TInt)
CArrayFix< T * >::End(TInt)const
CArrayFix< T * >::ExpandL(TInt)
CArrayFix< T * >::ExtendL()
CArrayFix< T * >::Find(const T *&,TKeyArrayFix &,TInt &)const
CArrayFix< T * >::FindIsq(const T *&,TKeyArrayFix &,TInt &)const
CArrayFix< T * >::InsertIsqAllowDuplicatesL(const T *&,TKeyArrayFix &)
CArrayFix< T * >::InsertIsqL(const T *&,TKeyArrayFix &)
CArrayFix< T * >::InsertL(TInt,const T *&)
CArrayFix< T * >::InsertL(TInt,const T *&,TInt)
CArrayFix< T * >::InsertL(TInt,const T **,TInt)
CArrayFix< T * >::ResizeL(TInt)
CArrayFix< T * >::ResizeL(TInt,const T *&)
CArrayFix< T * >::operator[](TInt)
CArrayFix< T * >::operator[](TInt)const
CArrayFixBase::AtR(const CBase *,TInt)
CArrayFixBase::CArrayFixBase(TBufRep,TInt,TInt)
CArrayFixBase::Compress()
CArrayFixBase::Count()const
CArrayFixBase::CountR(const CBase *)
CArrayFixBase::Delete(TInt)
CArrayFixBase::Delete(TInt,TInt)
CArrayFixBase::Find(const TAny *,TKeyArrayFix &,TInt &)const
CArrayFixBase::FindIsq(const TAny *,TKeyArrayFix &,TInt &)const
CArrayFixBase::InsertIsqAllowDuplicatesL(const TAny *,TKeyArrayFix &)
CArrayFixBase::InsertIsqL(const TAny *,TKeyArrayFix &)
CArrayFixBase::InsertL(TInt,const TAny *)
CArrayFixBase::InsertL(TInt,const TAny *,TInt)
CArrayFixBase::InsertRepL(TInt,const TAny *,TInt)
CArrayFixBase::Length()const
CArrayFixBase::Reset()
CArrayFixBase::ResizeL(TInt,const TAny *)
CArrayFixBase::SetKey(TKeyArrayFix &)const
CArrayFixBase::SetReserveFlatL(TInt)
CArrayFixBase::Sort(TKeyArrayFix &)
CArrayFixBase::~CArrayFixBase()
CArrayPtr::CArrayPtr(TBufRep,TInt)
CArrayPtr::ResetAndDestroy()
CArrayPtrSeg::CArrayPtrSeg(TInt)
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CStack< T, Owner >::CStack()
CStack< T, Owner >::Clear()
CStack< T, Owner >::Head()const
CStack< T, Owner >::IsEmpty()const
CStack< T, Owner >::Last()const
CStack< T, Owner >::Pop()
CStack< T, Owner >::PushL(T *)
CStack< T, Owner >::~CStack()
Protected Member Type Definitions
typedef CStack< TMarkPoint, ETrue > CMarks
Protected Attributes
CMarks iMarks

Constructor & Destructor Documentation

~CMarkedStack()

~CMarkedStack()[inline, virtual]

Destructor.

It clears all marks.

Member Functions Documentation

DeleteToMark(TInt)

voidDeleteToMark(TIntaMarkType)[inline]

Pops and deletes items from the stack until the item marked with the specified mark type is at the head.

Parameters

TInt aMarkTypeMark type

MarkL(TInt)

voidMarkL(TIntaMarkType)[inline]

Marks the stack's head item.

Parameters

TInt aMarkTypeMark type

RemoveMark(TInt)

TInt RemoveMark(TIntaMarkType)[inline]

Removes all marks until a mark of the specified type is found.

Parameters

TInt aMarkTypeMark type

ResetToMark(TInt)

voidResetToMark(TIntaMarkType)[inline]

Pops items from the stack until the item marked with the specified mark type is at the head.

Parameters

TInt aMarkTypeMark type

Member Type Definitions Documentation

Typedef CMarks

typedef CStack< TMarkPoint, ETrue >CMarks[protected]

Defines a stack of marks.

Member Data Documentation

CMarks iMarks

CMarks iMarks[protected]

A stack of marks.

Items are added and removed from this stack by MarkL(), RemoveMark() etc.