Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

use strict;
our @ISA=qw(Exporter);
our @EXPORT=qw(
sort_in_presentation_order
sort_in_consolidate_order_asc
sort_in_consolidate_order_desc
sort_largest_range_end_first
sort_smallest_range_start_first
sort_smallest_range_end_first
sort_largest_range_start_first
);
sub sort_in_presentation_order ($$) {
my ($cmp_a,$cmp_b)=@_;
$cmp_a->cmp_ranges($cmp_b);
}
sub sort_in_consolidate_order_asc ($$) {
my ($range_a,$range_b)=@_;
$range_a->cmp_range_start($range_b)
||
$range_b->cmp_range_end($range_a);
}
sub sort_in_consolidate_order_desc($$) {
my ($range_a,$range_b)=@_;
$range_b->cmp_range_end($range_a)
||
$range_a->cmp_range_start($range_b);
}
sub sort_largest_range_end_first ($$) {
my ($range_a,$range_b)=@_;
$range_b->cmp_range_end($range_a)
}
sub sort_smallest_range_start_first ($$) {
my ($range_a,$range_b)=@_;
$range_a->cmp_range_start($range_b)
}
sub sort_smallest_range_end_first ($$) {
my ($range_a,$range_b)=@_;
$range_a->cmp_range_end($range_b)
}
sub sort_largest_range_start_first ($$) {
my ($range_a,$range_b)=@_;
$range_b->cmp_range_start($range_a)
}
1;