|
||
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.
CStack< T, Owner >
- No description.
CMarkedStack
- Provides a templated stack that allows items in the stack to be marked.
Defined in CMarkedStack
:
CMarks
Defines a stack of marks. DeleteToMark(TInt)
Pops and deletes items from the stack until the item marked with the specified m...MarkL(TInt)
Marks the stack's head item.RemoveMark(TInt)
Removes all marks until a mark of the specified type is found.ResetToMark(TInt)
Pops items from the stack until the item marked with the specified mark type is ...TMarkPoint
Represents a mark. iMarks
A stack of marks.~CMarkedStack()
Destructor.inline void MarkL(TInt aMarkType);
Marks the stack's head item.
|
inline TInt RemoveMark(TInt aMarkType);
Removes all marks until a mark of the specified type is found.
|
|
inline void DeleteToMark(TInt aMarkType);
Pops and deletes items from the stack until the item marked with the specified mark type is at the head.
|
inline void ResetToMark(TInt aMarkType);
Pops items from the stack until the item marked with the specified mark type is at the head.
|
protected: class TMarkPoint;
Represents a mark.
Defined in CMarkedStack::TMarkPoint
:
TMarkPoint(TInt,TInt)
Represents a mark. iMarkType
Mark type. iStackIndex
Index of the marked stack item. TMarkPoint(TInt,TInt)
inline TMarkPoint(TInt aMarkType, TInt aIndex);
Represents a mark.
|
iMarkType
TInt iMarkType;
Mark type.
iStackIndex
TInt iStackIndex;
Index of the marked stack item.
protected: typedef CStack<TMarkPoint, ETrue> CMarkedStack< T, Owner >::CMarks;
Defines a stack of marks.
protected: CMarks iMarks;
A stack of marks.
Items are added and removed from this stack by CMarkedStack::MarkL(TInt)
, CMarkedStack::RemoveMark(TInt)
etc.