ArcadeSortGroupTopBottom provides a stable implementation of merge sort through its sort method. It should be used instead of Array.sort in cases where the order of equal elements has to be retained on all targets.

This specific implementation has been modified to be exclusively used with array of ceramic.Visual instances. The compare function (and the rest of the implementation) are inlined to get the best performance out of it.

Static methods

staticinlinesort(a:Array<Visual>):Void

Sorts Array a according to the comparison function cmp, where cmp(x,y) returns 0 if x == y, a positive Int if x > y and a negative Int if x < y.

This operation modifies Array a in place.

This operation is stable: The order of equal elements is preserved.

If a or cmp are null, the result is unspecified.