class OpenEdge.Core.Collections.MapBackedCollection
	implements OpenEdge.Core.Collections.ICollection, 
		OpenEdge.Core.Collections.IIterable abstract:

	constructor public MapBackedCollection ( poMap as OpenEdge.Core.Collections.IMap, phTT as handle, pcValuefield as character):
	end.

	define protected property OwningMap as OpenEdge.Core.Collections.IMap no-undo
		protected get.
		private set.

	define protected property OwningBuffer as handle no-undo
		protected get.
		private set.

	define protected property KeyField as handle no-undo
		protected get.
		private set.

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

	method public logical Add ( newObject as Progress.Lang.Object):
	end.

	method public logical AddAll ( newCollection as OpenEdge.Core.Collections.ICollection):
	end.

	method public logical AddArray ( o as Progress.Lang.Object extent ):
	end.

	method public void Clear ():
	end.

	method public logical IsEmpty ():
	end.

	method public abstract logical Contains ( checkObject as Progress.Lang.Object).

	method public abstract logical ContainsAll ( poCollection as OpenEdge.Core.Collections.ICollection).

	method public abstract logical Remove ( poOld as Progress.Lang.Object).

	method public abstract logical RemoveAll ( poRemoveCol as OpenEdge.Core.Collections.ICollection).

	method public abstract logical RetainAll ( poRetainCollection as OpenEdge.Core.Collections.ICollection).

	method public OpenEdge.Core.Collections.IIterator Iterator ():
	end.

	method public Progress.Lang.Object extent ToArray ():
	end.

	method public void ToTable ( output table-handle p1):
	end.

end.
