oplstack.inl

来自「在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己」· INL 代码 · 共 45 行

INL
45
字号
// OPLSTACK.INL
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

// Extracted from OPLTDEF.INL by HP, January 1997

// CTranStackBase
inline CTranStackBase::CTranStackBase(TBufRep aRep,TUint aLength,TUint aGranularity)
	: CArrayFixBase(aRep,aLength,aGranularity)
	{}
inline void CTranStackBase::PushL(const TAny * aPtr) {InsertL(Count(),aPtr,1);}
inline void CTranStackBase::Pop(TAny *aPtr) {Pick(aPtr,0);}
inline const TAny *CTranStackBase::Top() const {return Peek(0);}
inline TUint CTranStackBase::Depth() const {return Count();}

// CTranStack
template <class T>
inline void CTranStack<T>::PushL(const T* aPtr) {CTranStackBase::PushL((const TAny *)aPtr);}
template <class T>
inline void CTranStack<T>::Pop(T* aPtr) {CTranStackBase::Pop((TAny *)aPtr);}
template <class T>
inline T& CTranStack<T>::Top() {return *(T*)CTranStackBase::Top();}
template <class T>
inline T& CTranStack<T>::Peek(TInt aDepth) { return *(T*)CTranStackBase::Peek(aDepth);}
template <class T>
inline void CTranStack<T>::Pick(T* aRef, TInt aDepth) { CTranStackBase::Pick((TAny *)aRef,aDepth);}
template <class T>
inline CTranStack<T>::CTranStack(TBufRep aRep,TUint aGranularity)
	: CTranStackBase(aRep,sizeof(T),aGranularity)
	{}

// Class CTranStackFlat
template <class T>
inline CTranStackFlat<T>::CTranStackFlat(TUint aGranularity)
	: CTranStack<T>((TBufRep)CBufFlat::NewL,aGranularity)
	{}

// Class CTranStackSeg
template <class T>
inline CTranStackSeg<T>::CTranStackSeg(TUint aGranularity)
	: CTranStack<T>((TBufRep)CBufSeg::NewL,aGranularity)
	{}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?