1use core::{cmp::Ordering, iter::Iterator};
7
8pub fn is_unique_sorted<T: Ord, I: Iterator<Item = T>>(mut iterator: I) -> bool {
10 let mut previous = match iterator.next() {
11 Some(e) => e,
12 None => return true,
13 };
14
15 for curr in iterator {
16 if previous.cmp(&curr) != Ordering::Less {
17 return false;
18 }
19 previous = curr;
20 }
21
22 true
23}
24
25pub fn is_sorted<T: Ord, I: Iterator<Item = T>>(mut iterator: I) -> bool {
27 let mut previous = match iterator.next() {
28 Some(e) => e,
29 None => return true,
30 };
31
32 for curr in iterator {
33 if previous.cmp(&curr) == Ordering::Greater {
34 return false;
35 }
36 previous = curr;
37 }
38
39 true
40}