}
}
+impl Ord for Bitv {
+ #[inline]
+ fn cmp(&self, other: &Bitv) -> Ordering {
+ iter::order::cmp(self.iter(), other.iter())
+ }
+}
+
impl fmt::Show for Bitv {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
for bit in self.iter() {
/// assert!(bv.eq_vec([true, true, false, true,
/// false, false, false, false]));
/// ```
-#[deriving(Clone, PartialEq, Eq, PartialOrd)]
+#[deriving(Clone, PartialEq, Eq, PartialOrd, Ord)]
pub struct BitvSet(Bitv);
impl Default for BitvSet {
}
}
+impl<V: Ord> Ord for SmallIntMap<V> {
+ #[inline]
+ fn cmp(&self, other: &SmallIntMap<V>) -> Ordering {
+ iter::order::cmp(self.iter(), other.iter())
+ }
+}
+
impl<V: fmt::Show> fmt::Show for SmallIntMap<V> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
try!(write!(f, "{{"));
}
}
+impl<T: Ord> Ord for TrieMap<T> {
+ #[inline]
+ fn cmp(&self, other: &TrieMap<T>) -> Ordering {
+ iter::order::cmp(self.iter(), other.iter())
+ }
+}
+
impl<T: Show> Show for TrieMap<T> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
try!(write!(f, "{{"));
/// set.clear();
/// assert!(set.is_empty());
/// ```
-#[deriving(Clone, Hash, PartialEq, Eq, PartialOrd)]
+#[deriving(Clone, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub struct TrieSet {
map: TrieMap<()>
}