Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

structure.sort

Class DS_SORTER


Known direct descendants

DS_INDEXABLE_SORTER

Features

Invariants

indexing

description

Data structure sorters

library

Gobo Eiffel Structure Library

copyright

Copyright (c) 2000, Eric Bezault and others

license

Eiffel Forum License v2 (see forum.txt)

date

$Date: 2004/11/14 15:10:15 $

revision

$Revision: 1.12 $

deferred class

DS_SORTER [G]

feature -- Status report

reverse_sorted (a_container: DS_SORTABLE [G]): BOOLEAN

-- Is a_container sorted in decreasing order?

require
a_container_not_void: a_container /= Void
sorted (a_container: DS_SORTABLE [G]): BOOLEAN

-- Is a_container sorted in increasing order?

require
a_container_not_void: a_container /= Void
sorted_with_comparator (a_container: DS_SORTABLE [G]; a_comparator: KL_PART_COMPARATOR [G]): BOOLEAN

-- Is a_container sorted according to
-- a_comparator's comparison criterion?

require
a_container_not_void: a_container /= Void
a_comparator_not_void: a_comparator /= Void

feature -- Sort

reverse_sort (a_container: DS_SORTABLE [G])

-- Sort a_container in decreasing order.

require
a_container_not_void: a_container /= Void
ensure
sorted: reverse_sorted (a_container)
sort (a_container: DS_SORTABLE [G])

-- Sort a_container in increasing order.

require
a_container_not_void: a_container /= Void
ensure
sorted: sorted (a_container)
sort_with_comparator (a_container: DS_SORTABLE [G]; a_comparator: KL_PART_COMPARATOR [G])

-- Sort a_container according to
-- a_comparator's comparison criterion?

require
a_container_not_void: a_container /= Void
a_comparator_not_void: a_comparator /= Void
ensure
sorted: sorted_with_comparator (a_container, a_comparator)

invariant

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end