@@ -36,7 +36,44 @@ enum Child<T> {
36
36
Nothing
37
37
}
38
38
39
- /// A map as a radix trie.
39
+ /// A map implemented as a radix trie.
40
+ ///
41
+ /// # Example
42
+ ///
43
+ /// ```
44
+ /// use std::collections::TrieMap;
45
+ ///
46
+ /// let mut map = TrieMap::new();
47
+ /// map.insert(27, "Olaf");
48
+ /// map.insert(1, "Edgar");
49
+ /// map.insert(13, "Ruth");
50
+ /// map.insert(1, "Martin");
51
+ ///
52
+ /// assert_eq!(map.len(), 3);
53
+ /// assert_eq!(map.find(&1), Some(&"Martin"));
54
+ ///
55
+ /// if !map.contains_key(&90) {
56
+ /// println!("Nobody is keyed 90");
57
+ /// }
58
+ ///
59
+ /// // Update a key
60
+ /// match map.find_mut(&1) {
61
+ /// Some(value) => *value = "Olga",
62
+ /// None => (),
63
+ /// }
64
+ ///
65
+ /// map.remove(&13);
66
+ /// assert_eq!(map.len(), 2);
67
+ ///
68
+ /// // Print the key value pairs, ordered by key.
69
+ /// for (key, value) in map.iter() {
70
+ /// // Prints `1: Olga` then `27: Olaf`
71
+ /// println!("{}: {}", key, value);
72
+ /// }
73
+ ///
74
+ /// map.clear();
75
+ /// assert!(map.is_empty());
76
+ /// ```
40
77
pub struct TrieMap < T > {
41
78
root : TrieNode < T > ,
42
79
length : uint
@@ -421,7 +458,35 @@ impl<S: Writer, T: Hash<S>> Hash<S> for TrieMap<T> {
421
458
}
422
459
}
423
460
424
- /// A set as a radix trie.
461
+ /// A set implemented as a radix trie.
462
+ ///
463
+ /// # Example
464
+ ///
465
+ /// ```
466
+ /// use std::collections::TrieSet;
467
+ ///
468
+ /// let mut set = TrieSet::new();
469
+ /// set.insert(6);
470
+ /// set.insert(28);
471
+ /// set.insert(6);
472
+ ///
473
+ /// assert_eq!(set.len(), 2);
474
+ ///
475
+ /// if !set.contains(&3) {
476
+ /// println!("3 is not in the set");
477
+ /// }
478
+ ///
479
+ /// // Print contents in order
480
+ /// for x in set.iter() {
481
+ /// println!("{}", x);
482
+ /// }
483
+ ///
484
+ /// set.remove(&6);
485
+ /// assert_eq!(set.len(), 1);
486
+ ///
487
+ /// set.clear();
488
+ /// assert!(set.is_empty());
489
+ /// ```
425
490
#[ deriving( Hash , PartialEq , Eq ) ]
426
491
pub struct TrieSet {
427
492
map : TrieMap < ( ) >
0 commit comments