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 ()
void DeleteToMark ( TInt )
void MarkL ( TInt )
TInt RemoveMark ( TInt )
void ResetToMark ( 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)

void DeleteToMark ( TInt aMarkType ) [inline]

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

Parameters

TInt aMarkType Mark type

MarkL(TInt)

void MarkL ( TInt aMarkType ) [inline]

Marks the stack's head item.

Parameters

TInt aMarkType Mark type

RemoveMark(TInt)

TInt RemoveMark ( TInt aMarkType ) [inline]

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

Parameters

TInt aMarkType Mark type

ResetToMark(TInt)

void ResetToMark ( TInt aMarkType ) [inline]

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

Parameters

TInt aMarkType Mark 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.