diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/cmarkedstack.inl --- a/epoc32/include/cmarkedstack.inl Wed Mar 31 12:27:01 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). -// All rights reserved. -// This component and the accompanying materials are made available -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members -// which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". -// -// Initial Contributors: -// Nokia Corporation - initial contribution. -// -// Contributors: -// -// Description: -// CMStack.inl -// -// - -#include - -/** Destructor. - -It clears all marks. -*/ -template -inline CMarkedStack::~CMarkedStack() -{ - iMarks.Clear(); -} - -/** Marks the stack's head item. - -@param aMarkType Mark type -*/ -template -void -inline CMarkedStack::MarkL(TInt aMarkType) - { - TMarkPoint* point = new (ELeave) TMarkPoint(aMarkType, this->Count()); - iMarks.PushL(point); - } - -/** Removes all marks until a mark of the specified type is found. - -@return Index of the stack item marked by the found mark -@param aMarkType Mark type -*/ -template -TInt -inline CMarkedStack::RemoveMark(TInt aMarkType) - { - TMarkPoint* point = NULL; - do - { - delete point; - point = iMarks.Pop(); - } while (point->iMarkType != aMarkType); - TInt stackIndex = point->iStackIndex; - delete point; - return stackIndex; - } - -/** Pops and deletes items from the stack until the item marked with the specified mark type is at the head. - -@param aMarkType Mark type -*/ -template -void -inline CMarkedStack::DeleteToMark(TInt aMarkType) - { - TInt lastMark = RemoveMark(aMarkType); - while (this->Count() > lastMark) - delete this->Pop(); - } - -/** Pops items from the stack until the item marked with the specified mark type is at the head. - -@param aMarkType Mark type -*/ -template -void -inline CMarkedStack::ResetToMark(TInt aMarkType) - { - TInt lastMark = RemoveMark(aMarkType); - while (this->Count() > lastMark) - this->Pop(); - }