CMarkedStack Class Reference

#include <mw/cmarkedstack.h>

class CMarkedStack : public CStack< T, Owner >

Nested Classes and Structures

Protected Member Type Definitions
typedef CStack< TMarkPoint, ETrue > CMarks
Protected Attributes
CMarks iMarks
Public Member Functions
virtual ~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()

Detailed Description

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. Deprecated

Member Type Definition Documentation

Typedef CMarks

typedef CStack< TMarkPoint, ETrue >CMarks[protected]

Defines a stack of marks.

Member Attribute Documentation

iMarks

CMarks iMarks[protected]

A stack of marks.

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

Constructor & Destructor Documentation

~CMarkedStack ( )

~CMarkedStack()[inline, virtual]

Destructor.

It clears all marks.

Member Function 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
aMarkTypeMark type

MarkL ( TInt )

voidMarkL(TIntaMarkType)[inline]

Marks the stack's head item.

Parameters
aMarkTypeMark type

RemoveMark ( TInt )

TInt RemoveMark(TIntaMarkType)[inline]

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

Parameters
aMarkTypeMark type
Return Value
Index of the stack item marked by the found mark

ResetToMark ( TInt )

voidResetToMark(TIntaMarkType)[inline]

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

Parameters
aMarkTypeMark type