class OpenEdge.Core.Collections.Stack abstract:

	constructor protected Stack ( poArray as Progress.Lang.Object extent ):
	end.

	constructor protected Stack ( pcArray as character extent ):
	end.

	constructor public Stack ( piDepth as integer):
	end.

	constructor public Stack ():
	end.

	define public static variable DefaultStackDepth as integer no-undo.

	define public property AutoExpand as logical no-undo
		public get.
		public set.

	define public property DiscardOnShrink as logical no-undo
		public get.
		public set.

	define public property Depth as integer no-undo
		public get.
		public set.

	define public property Size as integer no-undo
		public get.
		protected set.

	method protected void ObjectPush ( poValue as Progress.Lang.Object):
	end.

	method protected Progress.Lang.Object ObjectPeek ():
	end.

	method protected Progress.Lang.Object ObjectPop ():
	end.

	method protected void PrimitivePush ( pcValue as character):
	end.

	method protected character PrimitivePeek ():
	end.

	method protected character PrimitivePop ():
	end.

	method public void Swap ( piFromPos as integer, piToPos as integer):
	end.

	method public void Rotate ( piItems as integer):
	end.

	method protected Progress.Lang.Object extent ObjectToArray ():
	end.

	method protected character extent PrimitiveToArray ():
	end.

	method public void Invert ():
	end.

	method public override Progress.Lang.Object Clone ():
	end.

	method protected logical ObjectContains ( poItem as Progress.Lang.Object):
	end.

	method protected logical PrimitiveContains ( pcItem as character):
	end.

end.
