| A few handy methods/functions for outside of type: 
 
 	Method GetLink:TLink(Index) Private
		Assert index>=0 Else "Object index must be positive"
		Local i=0,link:TLink=_head._succ
		While i<>index
			link=link._succ
			?Debug
			If link=null Then RuntimeError "RemoveIndex Index out of range"
			?
			i:+1
		Wend
		Return link
	End Method
	Method RemoveIndex(Index)
		GetLink(Index).Remove()
	End Method
	Method AddBefore:TLink( Index, value:Object )
		Return InsertBeforeLink( value, GetLink(Index) )
	End Method
	Method AddAfter:TLink( Index, value:Object )
		Return InsertAfterLink( value, GetLink(Index) )
	End Method
Rem
bbdoc: Remove an object from a linked list
about: Uses an index rather than a value
End Rem
Function ListRemoveIndex( List:TList , Index )
	List.RemoveIndex( Index )
End Function
Rem
bbdoc: Adds an object before the specified index
returns: A link object
End Rem
Function ListAddBefore:TLink( List:TList , Index, o:object )
	Return List.AddBefore( Index, o )
End Function
Rem
bbdoc: Adds an object after the specified index
returns: A link object
End Rem
Function ListAddAfter:TLink( List:TList , Index, o:object )
	Return List.AddAfter( Index, o )
End Function 
 
 |