2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / Mono.C5 / c5.xml
1 <?xml version="1.0"?>\r
2 <doc>\r
3     <assembly>\r
4         <name>C5</name>\r
5     </assembly>\r
6     <members>\r
7         <member name="T:C5.EnumerationDirection">\r
8             <summary>\r
9             Direction of enumeration order relative to original collection.\r
10             </summary>\r
11         </member>\r
12         <member name="F:C5.EnumerationDirection.Forwards">\r
13             <summary>\r
14             Same direction\r
15             </summary>\r
16         </member>\r
17         <member name="F:C5.EnumerationDirection.Backwards">\r
18             <summary>\r
19             Opposite direction\r
20             </summary>\r
21         </member>\r
22         <member name="T:C5.IComparer`1">\r
23             <summary>\r
24             The type of an item comparer\r
25             <p>Implementations of this interface must asure that the method is self-consistent\r
26             and defines a sorting order on items, or state precise conditions under which this is true.</p>\r
27             <p>Implementations <b>must</b> assure that repeated calls of\r
28             the method to the same (in reference or binary identity sense) arguments \r
29             will return values with the same sign (-1, 0 or +1), or state precise conditions\r
30             under which the user \r
31             can be assured repeated calls will return the same sign.</p>\r
32             <p>Implementations of this interface must always return values from the method\r
33             and never throw exceptions.</p>\r
34             <p>This interface is identical to System.Collections.Generic.IComparer&lt;T&gt;</p>\r
35             </summary>\r
36         </member>\r
37         <member name="M:C5.IComparer`1.Compare(`0,`0)">\r
38             <summary>\r
39             Compare two items with respect to this item comparer\r
40             </summary>\r
41             <param name="a">First item</param>\r
42             <param name="b">Second item</param>\r
43             <returns>Positive if a is greater than b, 0 if they are equal, negative if a is less than b</returns>\r
44         </member>\r
45         <member name="T:C5.IntHasher">\r
46             <summary>\r
47             A hasher for int32\r
48             </summary>\r
49         </member>\r
50         <member name="T:C5.IHasher`1">\r
51             <summary>\r
52             The type of an item hasher. \r
53             <p>Implementations of this interface <b>must</b> assure that the methods are \r
54             consistent, i.e. that whenever two items i1 and i2 satisfies that Equals(i1,i2)\r
55             returns true, then GetHashCode returns the same values for i1 and i2.</p>\r
56             <p>Implementations of this interface <b>must</b> assure that repeated calls of\r
57             the methods to the same (in reference or binary identity sense) arguments \r
58             will return the same values, or state precise conditions under which the user \r
59             can be assured repeated calls will return the same values.</p>\r
60             <p>Implementations of this interface must always return values from the methods\r
61             and never throw exceptions.</p>\r
62             <p>This interface is similar in function to System.IKeyComparer&lt;T&gt;</p>\r
63             </summary>\r
64         </member>\r
65         <member name="M:C5.IHasher`1.GetHashCode(`0)">\r
66             <summary>\r
67             Get the hash code with respect to this item hasher\r
68             </summary>\r
69             <param name="item">The item</param>\r
70             <returns>The hash code</returns>\r
71         </member>\r
72         <member name="M:C5.IHasher`1.Equals(`0,`0)">\r
73             <summary>\r
74             Check if two items are equal with respect to this item hasher\r
75             </summary>\r
76             <param name="i1">first item</param>\r
77             <param name="i2">second item</param>\r
78             <returns>True if equal</returns>\r
79         </member>\r
80         <member name="M:C5.IntHasher.GetHashCode(System.Int32)">\r
81             <summary>\r
82             Get the hash code of this integer, i.e. itself\r
83             </summary>\r
84             <param name="item">The integer</param>\r
85             <returns>The same</returns>\r
86         </member>\r
87         <member name="M:C5.IntHasher.Equals(System.Int32,System.Int32)">\r
88             <summary>\r
89             Check if two integers are equal\r
90             </summary>\r
91             <param name="i1">first integer</param>\r
92             <param name="i2">second integer</param>\r
93             <returns>True if equal</returns>\r
94         </member>\r
95         <member name="T:C5.NaturalComparer`1">\r
96             <summary>\r
97             A natural generic IComparer for an IComparable&lt;T&gt; item type\r
98             </summary>\r
99         </member>\r
100         <member name="M:C5.NaturalComparer`1.Compare(`0,`0)">\r
101             <summary>\r
102             Compare two items\r
103             </summary>\r
104             <param name="a">First item</param>\r
105             <param name="b">Second item</param>\r
106             <returns>a &lt;=&gt; b</returns>\r
107         </member>\r
108         <member name="T:C5.NaturalComparerO`1">\r
109             <summary>\r
110             A natural generic IComparer for a System.IComparable item type\r
111             </summary>\r
112         </member>\r
113         <member name="M:C5.NaturalComparerO`1.Compare(`0,`0)">\r
114             <summary>\r
115             Compare two items\r
116             </summary>\r
117             <param name="a">First item</param>\r
118             <param name="b">Second item</param>\r
119             <returns>a &lt;=&gt; b</returns>\r
120         </member>\r
121         <member name="T:C5.DefaultReferenceTypeHasher`1">\r
122              <summary>\r
123              The default item hasher for a reference type. A trivial wrapper for calling \r
124              the GetHashCode and Equals methods inherited from object.\r
125             \r
126              <p>Should only be instantiated with a reference type as generic type parameter. \r
127              This is asserted at instatiation time in Debug builds.</p>\r
128              </summary>\r
129         </member>\r
130         <member name="M:C5.DefaultReferenceTypeHasher`1.GetHashCode(`0)">\r
131             <summary>\r
132             Get the hash code with respect to this item hasher\r
133             </summary>\r
134             <param name="item">The item</param>\r
135             <returns>The hash code</returns>\r
136         </member>\r
137         <member name="M:C5.DefaultReferenceTypeHasher`1.Equals(`0,`0)">\r
138             <summary>\r
139             Check if two items are equal with respect to this item hasher\r
140             </summary>\r
141             <param name="i1">first item</param>\r
142             <param name="i2">second item</param>\r
143             <returns>True if equal</returns>\r
144         </member>\r
145         <member name="T:C5.DefaultValueTypeHasher`1">\r
146              <summary>\r
147              The default item hasher for a value type. A trivial wrapper for calling \r
148              the GetHashCode and Equals methods inherited from object.\r
149             \r
150              <p>Should only be instantiated with a value type as generic type parameter. \r
151              This is asserted at instatiation time in Debug builds.</p>\r
152              <p>We cannot add the constraint "where T : struct" to get a compile time check\r
153              because we need to instantiate this class in C5.HasherBuilder.ByPrototype[T].Examine()\r
154              with a T that is only known at runtime to be a value type!</p>\r
155              </summary>\r
156         </member>\r
157         <member name="M:C5.DefaultValueTypeHasher`1.GetHashCode(`0)">\r
158             <summary>\r
159             Get the hash code with respect to this item hasher\r
160             </summary>\r
161             <param name="item">The item</param>\r
162             <returns>The hash code</returns>\r
163         </member>\r
164         <member name="M:C5.DefaultValueTypeHasher`1.Equals(`0,`0)">\r
165             <summary>\r
166             Check if two items are equal with respect to this item hasher\r
167             </summary>\r
168             <param name="i1">first item</param>\r
169             <param name="i2">second item</param>\r
170             <returns>True if equal</returns>\r
171         </member>\r
172         <member name="T:C5.EnumerableBase`1">\r
173             <summary>\r
174             A base class for implementing an IEnumerable&lt;T&gt;\r
175             </summary>\r
176         </member>\r
177         <member name="M:C5.EnumerableBase`1.GetEnumerator">\r
178             <summary>\r
179             Create an enumerator for this collection.\r
180             </summary>\r
181             <returns>The enumerator</returns>\r
182         </member>\r
183         <member name="M:C5.EnumerableBase`1.countItems(System.Collections.Generic.IEnumerable{`0})">\r
184             <summary>\r
185             Count the number of items in an enumerable by enumeration\r
186             </summary>\r
187             <param name="items">The enumerable to count</param>\r
188             <returns>The size of the enumerable</returns>\r
189         </member>\r
190         <member name="T:C5.CollectionValueBase`1">\r
191             <summary>\r
192             Base class for classes implementing ICollectionValue[T]\r
193             </summary>\r
194         </member>\r
195         <member name="T:C5.ICollectionValue`1">\r
196             <summary>\r
197             A generic collection that may be enumerated and can answer\r
198             efficiently how many items it contains. Like <code>IEnumerable&lt;T&gt;</code>,\r
199             this interface does not prescribe any operations to initialize or update the \r
200             collection. The main usage for this interface is to be the return type of \r
201             query operations on generic collection.\r
202             </summary>\r
203         </member>\r
204         <member name="M:C5.ICollectionValue`1.CopyTo(`0[],System.Int32)">\r
205             <summary>\r
206             Copy the items of this collection to a contiguous part of an array.\r
207             </summary>\r
208             <param name="a">The array to copy to</param>\r
209             <param name="i">The index at which to copy the first item</param>\r
210         </member>\r
211         <member name="M:C5.ICollectionValue`1.ToArray">\r
212             <summary>\r
213             Create an array with the items of this collection (in the same order as an\r
214             enumerator would output them).\r
215             </summary>\r
216             <returns>The array</returns>\r
217         </member>\r
218         <member name="M:C5.ICollectionValue`1.Apply(C5.Applier{`0})">\r
219             <summary>\r
220             Apply a delegate to all items of this collection.\r
221             </summary>\r
222             <param name="a">The delegate to apply</param>\r
223         </member>\r
224         <member name="M:C5.ICollectionValue`1.Exists(C5.Filter{`0})">\r
225             <summary>\r
226             Check if there exists an item  that satisfies a\r
227             specific predicate in this collection.\r
228             </summary>\r
229             <param name="filter">A filter delegate \r
230             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
231             <returns>True is such an item exists</returns>\r
232         </member>\r
233         <member name="M:C5.ICollectionValue`1.All(C5.Filter{`0})">\r
234             <summary>\r
235             Check if all items in this collection satisfies a specific predicate.\r
236             </summary>\r
237             <param name="filter">A filter delegate \r
238             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
239             <returns>True if all items satisfies the predicate</returns>\r
240         </member>\r
241         <member name="P:C5.ICollectionValue`1.Count">\r
242             <summary>\r
243             \r
244             </summary>\r
245             <value>The number of items in this collection</value>\r
246         </member>\r
247         <member name="P:C5.ICollectionValue`1.CountSpeed">\r
248             <summary>\r
249             The value is symbolic indicating the type of asymptotic complexity\r
250             in terms of the size of this collection (worst-case or amortized as\r
251             relevant).\r
252             </summary>\r
253             <value>A characterization of the speed of the \r
254             <code>Count</code> property in this collection.</value>\r
255         </member>\r
256         <member name="M:C5.CollectionValueBase`1.CopyTo(`0[],System.Int32)">\r
257             <summary>\r
258             Copy the items of this collection to part of an array.\r
259             <exception cref="T:System.ArgumentOutOfRangeException"/> if i is negative.\r
260             <exception cref="T:System.ArgumentException"/> if the array does not have room for the items.\r
261             </summary>\r
262             <param name="a">The array to copy to</param>\r
263             <param name="i">The starting index.</param>\r
264         </member>\r
265         <member name="M:C5.CollectionValueBase`1.ToArray">\r
266             <summary>\r
267             Create an array with the items of this collection (in the same order as an\r
268             enumerator would output them).\r
269             </summary>\r
270             <returns>The array</returns>\r
271         </member>\r
272         <member name="M:C5.CollectionValueBase`1.Apply(C5.Applier{`0})">\r
273             <summary>\r
274             Apply an Applier&lt;T&gt; to this enumerable\r
275             </summary>\r
276             <param name="a">The applier delegate</param>\r
277         </member>\r
278         <member name="M:C5.CollectionValueBase`1.Exists(C5.Filter{`0})">\r
279             <summary>\r
280             Check if there exists an item  that satisfies a\r
281             specific predicate in this collection.\r
282             </summary>\r
283             <param name="filter">A filter delegate \r
284             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
285             <returns>True is such an item exists</returns>\r
286         </member>\r
287         <member name="M:C5.CollectionValueBase`1.All(C5.Filter{`0})">\r
288             <summary>\r
289             Check if all items in this collection satisfies a specific predicate.\r
290             </summary>\r
291             <param name="filter">A filter delegate \r
292             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
293             <returns>True if all items satisfies the predicate</returns>\r
294         </member>\r
295         <member name="M:C5.CollectionValueBase`1.GetEnumerator">\r
296             <summary>\r
297             Create an enumerator for this collection.\r
298             </summary>\r
299             <returns>The enumerator</returns>\r
300         </member>\r
301         <member name="P:C5.CollectionValueBase`1.Count">\r
302             <summary>\r
303             The number of items in this collection.\r
304             </summary>\r
305             <value></value>\r
306         </member>\r
307         <member name="P:C5.CollectionValueBase`1.CountSpeed">\r
308             <summary>\r
309             The value is symbolic indicating the type of asymptotic complexity\r
310             in terms of the size of this collection (worst-case or amortized as\r
311             relevant).\r
312             </summary>\r
313             <value>A characterization of the speed of the \r
314             <code>Count</code> property in this collection.</value>\r
315         </member>\r
316         <member name="T:C5.CollectionBase`1">\r
317             <summary>\r
318             Base class (abstract) for ICollection implementations.\r
319             </summary>\r
320         </member>\r
321         <member name="F:C5.CollectionBase`1.isReadOnly">\r
322             <summary>\r
323             The underlying field of the ReadOnly property\r
324             </summary>\r
325         </member>\r
326         <member name="F:C5.CollectionBase`1.stamp">\r
327             <summary>\r
328             The current stamp value\r
329             </summary>\r
330         </member>\r
331         <member name="F:C5.CollectionBase`1.size">\r
332             <summary>\r
333             The number of items in the collection\r
334             </summary>\r
335         </member>\r
336         <member name="F:C5.CollectionBase`1.itemhasher">\r
337             <summary>\r
338             The item hasher of the collection\r
339             </summary>\r
340         </member>\r
341         <member name="M:C5.CollectionBase`1.checkRange(System.Int32,System.Int32)">\r
342             <summary>\r
343             Utility method for range checking.\r
344             <exception cref="T:System.ArgumentOutOfRangeException"/> if the start or count is negative\r
345             <exception cref="T:System.ArgumentException"/> if the range does not fit within collection size.\r
346             </summary>\r
347             <param name="start">start of range</param>\r
348             <param name="count">size of range</param>\r
349         </member>\r
350         <member name="M:C5.CollectionBase`1.ComputeHashCode(C5.ICollectionValue{`0},C5.IHasher{`0})">\r
351             <summary>\r
352             Compute the unsequenced hash code of a collection\r
353             </summary>\r
354             <param name="items">The collection to compute hash code for</param>\r
355             <param name="itemhasher">The item hasher</param>\r
356             <returns>The hash code</returns>\r
357         </member>\r
358         <member name="M:C5.CollectionBase`1.StaticEquals(C5.ICollection{`0},C5.ICollection{`0},C5.IHasher{`0})">\r
359             <summary>\r
360             Examine if tit and tat are equal as unsequenced collections\r
361             using the specified item hasher (assumed compatible with the two collections).\r
362             </summary>\r
363             <param name="tit">The first collection</param>\r
364             <param name="tat">The second collection</param>\r
365             <param name="itemhasher">The item hasher to use for comparison</param>\r
366             <returns>True if equal</returns>\r
367         </member>\r
368         <member name="M:C5.CollectionBase`1.unsequencedhashcode">\r
369             <summary>\r
370             Get the unsequenced collection hash code of this collection: from the cached \r
371             value if present and up to date, else (re)compute.\r
372             </summary>\r
373             <returns>The hash code</returns>\r
374         </member>\r
375         <member name="M:C5.CollectionBase`1.unsequencedequals(C5.ICollection{`0})">\r
376             <summary>\r
377             Check if the contents of that is equal to the contents of this\r
378             in the unsequenced sense. Using the item hasher of this collection.\r
379             </summary>\r
380             <param name="that">The collection to compare to.</param>\r
381             <returns>True if  equal</returns>\r
382         </member>\r
383         <member name="M:C5.CollectionBase`1.modifycheck(System.Int32)">\r
384             <summary>\r
385             <exception cref="T:System.InvalidOperationException"/> if this collection has been updated \r
386             since a target time\r
387             </summary>\r
388             <param name="thestamp">The stamp identifying the target time</param>\r
389         </member>\r
390         <member name="M:C5.CollectionBase`1.updatecheck">\r
391             <summary>\r
392             Check if it is valid to perform update operations, and if so increment stamp\r
393             </summary>\r
394         </member>\r
395         <member name="M:C5.CollectionBase`1.GetEnumerator">\r
396             <summary>\r
397             Create an enumerator for this collection.\r
398             </summary>\r
399             <returns>The enumerator</returns>\r
400         </member>\r
401         <member name="P:C5.CollectionBase`1.IsReadOnly">\r
402             <summary>\r
403             \r
404             </summary>\r
405             <value>True if this collection is read only</value>\r
406         </member>\r
407         <member name="P:C5.CollectionBase`1.Count">\r
408             <summary>\r
409             \r
410             </summary>\r
411             <value>The size of this collection</value>\r
412         </member>\r
413         <member name="P:C5.CollectionBase`1.CountSpeed">\r
414             <summary>\r
415             The value is symbolic indicating the type of asymptotic complexity\r
416             in terms of the size of this collection (worst-case or amortized as\r
417             relevant).\r
418             </summary>\r
419             <value>A characterization of the speed of the \r
420             <code>Count</code> property in this collection.</value>\r
421         </member>\r
422         <member name="P:C5.CollectionBase`1.SyncRoot">\r
423             <summary>\r
424             \r
425             </summary>\r
426             <value>A distinguished object to use for locking to synchronize multithreaded access</value>\r
427         </member>\r
428         <member name="P:C5.CollectionBase`1.IsEmpty">\r
429             <summary>\r
430             \r
431             </summary>\r
432             <value>True is this collection is empty</value>\r
433         </member>\r
434         <member name="T:C5.SequencedBase`1">\r
435             <summary>\r
436             Base class (abstract) for sequenced collection implementations.\r
437             </summary>\r
438         </member>\r
439         <member name="M:C5.SequencedBase`1.ComputeHashCode(C5.ISequenced{`0},C5.IHasher{`0})">\r
440             <summary>\r
441             Compute the unsequenced hash code of a collection\r
442             </summary>\r
443             <param name="items">The collection to compute hash code for</param>\r
444             <param name="itemhasher">The item hasher</param>\r
445             <returns>The hash code</returns>\r
446         </member>\r
447         <member name="M:C5.SequencedBase`1.StaticEquals(C5.ISequenced{`0},C5.ISequenced{`0},C5.IHasher{`0})">\r
448             <summary>\r
449             Examine if tit and tat are equal as sequenced collections\r
450             using the specified item hasher (assumed compatible with the two collections).\r
451             </summary>\r
452             <param name="tit">The first collection</param>\r
453             <param name="tat">The second collection</param>\r
454             <param name="itemhasher">The item hasher to use for comparison</param>\r
455             <returns>True if equal</returns>\r
456         </member>\r
457         <member name="M:C5.SequencedBase`1.sequencedhashcode">\r
458             <summary>\r
459             Get the sequenced collection hash code of this collection: from the cached \r
460             value if present and up to date, else (re)compute.\r
461             </summary>\r
462             <returns>The hash code</returns>\r
463         </member>\r
464         <member name="M:C5.SequencedBase`1.sequencedequals(C5.ISequenced{`0})">\r
465             <summary>\r
466             Check if the contents of that is equal to the contents of this\r
467             in the sequenced sense. Using the item hasher of this collection.\r
468             </summary>\r
469             <param name="that">The collection to compare to.</param>\r
470             <returns>True if  equal</returns>\r
471         </member>\r
472         <member name="M:C5.SequencedBase`1.GetEnumerator">\r
473             <summary>\r
474             Create an enumerator for this collection.\r
475             </summary>\r
476             <returns>The enumerator</returns>\r
477         </member>\r
478         <member name="P:C5.SequencedBase`1.Direction">\r
479             <summary>\r
480             <code>Forwards</code> if same, else <code>Backwards</code>\r
481             </summary>\r
482             <value>The enumeration direction relative to the original collection.</value>\r
483         </member>\r
484         <member name="T:C5.ArrayBase`1">\r
485             <summary>\r
486             Base class for collection classes of dynamic array type implementations.\r
487             </summary>\r
488         </member>\r
489         <member name="F:C5.ArrayBase`1.array">\r
490             <summary>\r
491             The actual internal array container. Will be extended on demand.\r
492             </summary>\r
493         </member>\r
494         <member name="F:C5.ArrayBase`1.offset">\r
495             <summary>\r
496             The offset into the internal array container of the first item. The offset is 0 for a \r
497             base dynamic array and may be positive for an updatable view into a base dynamic array.\r
498             </summary>\r
499         </member>\r
500         <member name="M:C5.ArrayBase`1.expand">\r
501             <summary>\r
502             Double the size of the internal array.\r
503             </summary>\r
504         </member>\r
505         <member name="M:C5.ArrayBase`1.expand(System.Int32,System.Int32)">\r
506             <summary>\r
507             Expand the internal array container.\r
508             </summary>\r
509             <param name="newcapacity">The new size of the internal array - \r
510             will be rounded upwards to a power of 2.</param>\r
511             <param name="newsize">The (new) size of the (base) collection.</param>\r
512         </member>\r
513         <member name="M:C5.ArrayBase`1.insert(System.Int32,`0)">\r
514             <summary>\r
515             Insert an item at a specific index, moving items to the right\r
516             upwards and expanding the array if necessary.\r
517             </summary>\r
518             <param name="i">The index at which to insert.</param>\r
519             <param name="item">The item to insert.</param>\r
520         </member>\r
521         <member name="M:C5.ArrayBase`1.#ctor(System.Int32,C5.IHasher{`0})">\r
522             <summary>\r
523             Create an empty ArrayBase object.\r
524             </summary>\r
525             <param name="capacity">The initial capacity of the internal array container.\r
526             Will be rounded upwards to the nearest power of 2 greater than or equal to 8.</param>\r
527             <param name="hasher">The item hasher to use, primarily for item equality</param>\r
528         </member>\r
529         <member name="M:C5.ArrayBase`1.Clear">\r
530             <summary>\r
531             Remove all items and reset size of internal array container.\r
532             </summary>\r
533         </member>\r
534         <member name="M:C5.ArrayBase`1.ToArray">\r
535             <summary>\r
536             Create an array containing (copies) of the items of this collection in enumeration order.\r
537             </summary>\r
538             <returns>The new array</returns>\r
539         </member>\r
540         <member name="M:C5.ArrayBase`1.Check">\r
541             <summary>\r
542             Perform an internal consistency (invariant) test on the array base.\r
543             </summary>\r
544             <returns>True if test succeeds.</returns>\r
545         </member>\r
546         <member name="M:C5.ArrayBase`1.Backwards">\r
547             <summary>\r
548             Create a directed collection with the same contents as this one, but \r
549             opposite enumeration sequence.\r
550             </summary>\r
551             <returns>The mirrored collection.</returns>\r
552         </member>\r
553         <member name="M:C5.ArrayBase`1.GetEnumerator">\r
554             <summary>\r
555             Create an enumerator for this array based collection.\r
556             </summary>\r
557             <returns>The enumerator</returns>\r
558         </member>\r
559         <member name="P:C5.ArrayBase`1.Item(System.Int32,System.Int32)">\r
560             <summary>\r
561             <exception cref="T:System.IndexOutOfRangeException"/>.\r
562             </summary>\r
563             <value>The directed collection of items in a specific index interval.</value>\r
564             <param name="start">The low index of the interval (inclusive).</param>\r
565             <param name="count">The size of the range.</param>\r
566         </member>\r
567         <member name="T:C5.ArrayBase`1.Range">\r
568             <summary>\r
569             A helper class for defining results of interval queries on array based collections.\r
570             </summary>\r
571         </member>\r
572         <member name="T:C5.IDirectedCollectionValue`1">\r
573             <summary>\r
574             A sized generic collection, that can be enumerated backwards.\r
575             </summary>\r
576         </member>\r
577         <member name="T:C5.IDirectedEnumerable`1">\r
578             <summary>\r
579             A generic collection, that can be enumerated backwards.\r
580             </summary>\r
581         </member>\r
582         <member name="M:C5.IDirectedEnumerable`1.Backwards">\r
583             <summary>\r
584             Create a collection containing the same items as this collection, but\r
585             whose enumerator will enumerate the items backwards. The new collection\r
586             will become invalid if the original is modified. Method typicaly used as in\r
587             <code>foreach (T x in coll.Backwards()) {...}</code>\r
588             </summary>\r
589             <returns>The backwards collection.</returns>\r
590         </member>\r
591         <member name="P:C5.IDirectedEnumerable`1.Direction">\r
592             <summary>\r
593             <code>Forwards</code> if same, else <code>Backwards</code>\r
594             </summary>\r
595             <value>The enumeration direction relative to the original collection.</value>\r
596         </member>\r
597         <member name="M:C5.IDirectedCollectionValue`1.Backwards">\r
598             <summary>\r
599             Create a collection containing the same items as this collection, but\r
600             whose enumerator will enumerate the items backwards. The new collection\r
601             will become invalid if the original is modified. Method typicaly used as in\r
602             <code>foreach (T x in coll.Backwards()) {...}</code>\r
603             </summary>\r
604             <returns>The backwards collection.</returns>\r
605         </member>\r
606         <member name="M:C5.ArrayBase`1.Range.GetEnumerator">\r
607             <summary>\r
608             Create an enumerator for this range of an array based collection.\r
609             </summary>\r
610             <returns>The enumerator</returns>\r
611         </member>\r
612         <member name="M:C5.ArrayBase`1.Range.Backwards">\r
613             <summary>\r
614             Create a araay collection range with the same contents as this one, but \r
615             opposite enumeration sequence.\r
616             </summary>\r
617             <returns>The mirrored collection.</returns>\r
618         </member>\r
619         <member name="P:C5.ArrayBase`1.Range.Count">\r
620             <summary>\r
621             \r
622             </summary>\r
623             <value>The number of items in the range</value>\r
624         </member>\r
625         <member name="P:C5.ArrayBase`1.Range.CountSpeed">\r
626             <summary>\r
627             The value is symbolic indicating the type of asymptotic complexity\r
628             in terms of the size of this collection (worst-case or amortized as\r
629             relevant).\r
630             </summary>\r
631             <value>A characterization of the speed of the \r
632             <code>Count</code> property in this collection.</value>\r
633         </member>\r
634         <member name="P:C5.ArrayBase`1.Range.Direction">\r
635             <summary>\r
636             <code>Forwards</code> if same, else <code>Backwards</code>\r
637             </summary>\r
638             <value>The enumeration direction relative to the original collection.</value>\r
639         </member>\r
640         <member name="T:C5.Sorting">\r
641             <summary>\r
642             A utility class with functions for sorting arrays with respect to an IComparer&lt;T&gt;\r
643             </summary>\r
644         </member>\r
645         <member name="M:C5.Sorting.IntroSort``1(``0[],System.Int32,System.Int32,C5.IComparer{``0})">\r
646             <summary>\r
647             Sort part of array in place using IntroSort\r
648             </summary>\r
649             <param name="a">Array to sort</param>\r
650             <param name="f">Index of first position to sort</param>\r
651             <param name="b">Index of first position beyond the part to sort</param>\r
652             <param name="c">IComparer&lt;T&gt; to sort by</param>\r
653         </member>\r
654         <member name="M:C5.Sorting.InsertionSort``1(``0[],System.Int32,System.Int32,C5.IComparer{``0})">\r
655             <summary>\r
656             Sort part of array in place using Insertion Sort\r
657             </summary>\r
658             <param name="a">Array to sort</param>\r
659             <param name="f">Index of first position to sort</param>\r
660             <param name="b">Index of first position beyond the part to sort</param>\r
661             <param name="c">IComparer&lt;T&gt; to sort by</param>\r
662         </member>\r
663         <member name="M:C5.Sorting.HeapSort``1(``0[],System.Int32,System.Int32,C5.IComparer{``0})">\r
664             <summary>\r
665             Sort part of array in place using Heap Sort\r
666             </summary>\r
667             <param name="a">Array to sort</param>\r
668             <param name="f">Index of first position to sort</param>\r
669             <param name="b">Index of first position beyond the part to sort</param>\r
670             <param name="c">IComparer&lt;T&gt; to sort by</param>\r
671         </member>\r
672         <member name="T:C5.C5Random">\r
673             <summary>\r
674             A modern random number generator based on (whatever)\r
675             </summary>\r
676         </member>\r
677         <member name="M:C5.C5Random.NextDouble">\r
678             <summary>\r
679             Get a new random System.Double value\r
680             </summary>\r
681             <returns>The random double</returns>\r
682         </member>\r
683         <member name="M:C5.C5Random.Sample">\r
684             <summary>\r
685             Get a new random System.Double value\r
686             </summary>\r
687             <returns>The random double</returns>\r
688         </member>\r
689         <member name="M:C5.C5Random.Next">\r
690             <summary>\r
691             Get a new random System.Int32 value\r
692             </summary>\r
693             <returns>The random int</returns>\r
694         </member>\r
695         <member name="M:C5.C5Random.Next(System.Int32)">\r
696             <summary>\r
697             Get a random non-negative integer less than a given upper bound\r
698             </summary>\r
699             <param name="max">The upper bound (exclusive)</param>\r
700             <returns></returns>\r
701         </member>\r
702         <member name="M:C5.C5Random.Next(System.Int32,System.Int32)">\r
703             <summary>\r
704             Get a random integer between two given bounds\r
705             </summary>\r
706             <param name="min">The lower bound (inclusive)</param>\r
707             <param name="max">The upper bound (exclusive)</param>\r
708             <returns></returns>\r
709         </member>\r
710         <member name="M:C5.C5Random.NextBytes(System.Byte[])">\r
711             <summary>\r
712             Fill a array of byte with random bytes\r
713             </summary>\r
714             <param name="buffer">The array to fill</param>\r
715         </member>\r
716         <member name="M:C5.C5Random.#ctor">\r
717             <summary>\r
718             Create a random number generator seed by system time.\r
719             </summary>\r
720         </member>\r
721         <member name="M:C5.C5Random.#ctor(System.Int64)">\r
722             <summary>\r
723             Create a random number generator with a given seed\r
724             </summary>\r
725             <param name="seed">The seed</param>\r
726         </member>\r
727         <member name="T:C5.TestedAttribute">\r
728             <summary>\r
729             A custom attribute to mark methods and properties as being tested \r
730             sufficiently in the regression test suite.\r
731             </summary>\r
732         </member>\r
733         <member name="F:C5.TestedAttribute.via">\r
734             <summary>\r
735             Optional reference to test case\r
736             </summary>\r
737         </member>\r
738         <member name="M:C5.TestedAttribute.ToString">\r
739             <summary>\r
740             Pretty print attribute value\r
741             </summary>\r
742             <returns>"Tested via " + via</returns>\r
743         </member>\r
744         <member name="T:C5.HashBag`1">\r
745             <summary>\r
746             A bag collection based on a hash table of (item,count) pairs. \r
747             </summary>\r
748         </member>\r
749         <member name="T:C5.ICollection`1">\r
750             <summary>\r
751             The simplest interface of a main stream generic collection\r
752             with lookup, insertion and removal operations. \r
753             </summary>\r
754         </member>\r
755         <member name="T:C5.IExtensible`1">\r
756             <summary>\r
757             A generic collection to which one may add items. This is just the intersection\r
758             of the main stream generic collection interfaces and the priority queue interface,\r
759             <see cref="T:C5.ICollection!1"/> and <see cref="T:C5.IPriorityQueue!1"/>.\r
760             </summary>\r
761         </member>\r
762         <member name="M:C5.IExtensible`1.Add(`0)">\r
763             <summary>\r
764             Add an item to this collection if possible. If this collection has set\r
765             semantics, the item will be added if not already in the collection. If\r
766             bag semantics, the item will always be added.\r
767             </summary>\r
768             <param name="item">The item to add.</param>\r
769             <returns>True if item was added.</returns>\r
770         </member>\r
771         <member name="M:C5.IExtensible`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
772             <summary>\r
773             Add the elements from another collection to this collection. If this\r
774             collection has set semantics, only items not already in the collection\r
775             will be added.\r
776             </summary>\r
777             <param name="items">The items to add.</param>\r
778         </member>\r
779         <member name="M:C5.IExtensible`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
780             <summary>\r
781             Add the elements from another collection with a more specialized item type \r
782             to this collection. If this\r
783             collection has set semantics, only items not already in the collection\r
784             will be added.\r
785             </summary>\r
786             <typeparam name="U">The type of items to add</typeparam>\r
787             <param name="items">The items to add</param>\r
788         </member>\r
789         <member name="M:C5.IExtensible`1.Check">\r
790             <summary>\r
791             Check the integrity of the internal data structures of this collection.\r
792             <p>This is only relevant for developers of the library</p>\r
793             </summary>\r
794             <returns>True if check was passed.</returns>\r
795         </member>\r
796         <member name="P:C5.IExtensible`1.AllowsDuplicates">\r
797             <summary>\r
798             \r
799             </summary>\r
800             <value>False if this collection has set semantics, true if bag semantics.</value>\r
801         </member>\r
802         <member name="P:C5.IExtensible`1.SyncRoot">\r
803             <summary>\r
804             \r
805             </summary>\r
806             <value>An object to be used for locking to enable multi threaded code\r
807             to acces this collection safely.</value>\r
808         </member>\r
809         <member name="P:C5.IExtensible`1.IsEmpty">\r
810             <summary>\r
811             \r
812             </summary>\r
813             <value>True if this collection is empty.</value>\r
814         </member>\r
815         <member name="M:C5.ICollection`1.GetHashCode">\r
816             <summary>\r
817             The hashcode is defined as the sum of <code>h(item)</code> over the items\r
818             of the collection, where the function <code>h</code> is??? \r
819             </summary>\r
820             <returns>The unordered hashcode of this collection.</returns>\r
821         </member>\r
822         <member name="M:C5.ICollection`1.Equals(C5.ICollection{`0})">\r
823             <summary>\r
824             Compare the contents of this collection to another one without regards to\r
825             the sequence order. The comparison will use this collection's itemhasher\r
826             to compare individual items.\r
827             </summary>\r
828             <param name="that">The collection to compare to.</param>\r
829             <returns>True if this collection and that contains the same items.</returns>\r
830         </member>\r
831         <member name="M:C5.ICollection`1.Contains(`0)">\r
832             <summary>\r
833             Check if this collection contains (an item equivalent to according to the\r
834             itemhasher) a particular value.\r
835             </summary>\r
836             <param name="item">The value to check for.</param>\r
837             <returns>True if the items is in this collection.</returns>\r
838         </member>\r
839         <member name="M:C5.ICollection`1.ContainsCount(`0)">\r
840             <summary>\r
841             Count the number of items of the collection equal to a particular value.\r
842             Returns 0 if and only if the value is not in the collection.\r
843             </summary>\r
844             <param name="item">The value to count.</param>\r
845             <returns>The number of copies found.</returns>\r
846         </member>\r
847         <member name="M:C5.ICollection`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
848             <summary>\r
849             Check if this collection contains all the values in another collection.\r
850             If this collection has bag semantics (<code>NoDuplicates==false</code>)\r
851             the check is made with respect to multiplicities, else multiplicities\r
852             are not taken into account.\r
853             </summary>\r
854             <param name="items">The </param>\r
855             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
856         </member>\r
857         <member name="M:C5.ICollection`1.Find(`0@)">\r
858             <summary>\r
859             Check if this collection contains an item equivalent according to the\r
860             itemhasher to a particular value. If so, return in the ref argument (a\r
861             binary copy of) the actual value found.\r
862             </summary>\r
863             <param name="item">The value to look for.</param>\r
864             <returns>True if the items is in this collection.</returns>\r
865         </member>\r
866         <member name="M:C5.ICollection`1.FindOrAdd(`0@)">\r
867             <summary>\r
868             Check if this collection contains an item equivalent according to the\r
869             itemhasher to a particular value. If so, return in the ref argument (a\r
870             binary copy of) the actual value found. Else, add the item to the collection.\r
871             </summary>\r
872             <param name="item">The value to look for.</param>\r
873             <returns>True if the item was found (hence not added).</returns>\r
874         </member>\r
875         <member name="M:C5.ICollection`1.Update(`0)">\r
876             <summary>\r
877             Check if this collection contains an item equivalent according to the\r
878             itemhasher to a particular value. If so, update the item in the collection \r
879             to with a binary copy of the supplied value. If the collection has bag semantics,\r
880             it is implementation dependent if this updates all equivalent copies in\r
881             the collection or just one.\r
882             </summary>\r
883             <param name="item">Value to update.</param>\r
884             <returns>True if the item was found and hence updated.</returns>\r
885         </member>\r
886         <member name="M:C5.ICollection`1.UpdateOrAdd(`0)">\r
887             <summary>\r
888             Check if this collection contains an item equivalent according to the\r
889             itemhasher to a particular value. If so, update the item in the collection \r
890             to with a binary copy of the supplied value; else add the value to the collection. \r
891             </summary>\r
892             <param name="item">Value to add or update.</param>\r
893             <returns>True if the item was found and updated (hence not added).</returns>\r
894         </member>\r
895         <member name="M:C5.ICollection`1.Remove(`0)">\r
896             <summary>\r
897             Remove a particular item from this collection. If the collection has bag\r
898             semantics only one copy equivalent to the supplied item is removed. \r
899             </summary>\r
900             <param name="item">The value to remove.</param>\r
901             <returns>True if the item was found (and removed).</returns>\r
902         </member>\r
903         <member name="M:C5.ICollection`1.RemoveWithReturn(`0@)">\r
904             <summary>\r
905             Remove a particular item from this collection if found. If the collection\r
906             has bag semantics only one copy equivalent to the supplied item is removed,\r
907             which one is implementation dependent. \r
908             If an item was removed, report a binary copy of the actual item removed in \r
909             the argument.\r
910             </summary>\r
911             <param name="item">The value to remove on input.</param>\r
912             <returns>True if the item was found (and removed).</returns>\r
913         </member>\r
914         <member name="M:C5.ICollection`1.RemoveAllCopies(`0)">\r
915             <summary>\r
916             Remove all items equivalent to a given value.\r
917             </summary>\r
918             <param name="item">The value to remove.</param>\r
919         </member>\r
920         <member name="M:C5.ICollection`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
921             <summary>\r
922             Remove all items in another collection from this one. If this collection\r
923             has bag semantics, take multiplicities into account.\r
924             </summary>\r
925             <param name="items">The items to remove.</param>\r
926         </member>\r
927         <member name="M:C5.ICollection`1.Clear">\r
928             <summary>\r
929             Remove all items from this collection.\r
930             </summary>\r
931         </member>\r
932         <member name="M:C5.ICollection`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
933             <summary>\r
934             Remove all items not in some other collection from this one. If this collection\r
935             has bag semantics, take multiplicities into account.\r
936             </summary>\r
937             <param name="items">The items to retain.</param>\r
938         </member>\r
939         <member name="P:C5.ICollection`1.IsReadOnly">\r
940             <summary>\r
941             If true any call of an updating operation will throw an\r
942             <code>InvalidOperationException</code>\r
943             </summary>\r
944             <value>True if this collection is read only.</value>\r
945         </member>\r
946         <member name="P:C5.ICollection`1.ContainsSpeed">\r
947             <summary>\r
948             The value is symbolic indicating the type of asymptotic complexity\r
949             in terms of the size of this collection (worst-case or amortized as\r
950             relevant).\r
951             </summary>\r
952             <value>A characterization of the speed of lookup operations\r
953             (<code>Contains()</code> etc.) of the implementation of this list.</value>\r
954         </member>\r
955         <member name="M:C5.HashBag`1.#ctor">\r
956             <summary>\r
957             Create a hash bag with the deafult item hasher.\r
958             </summary>\r
959         </member>\r
960         <member name="M:C5.HashBag`1.#ctor(C5.IHasher{`0})">\r
961             <summary>\r
962             Create a hash bag with an external item hasher.\r
963             </summary>\r
964             <param name="h">The external hasher.</param>\r
965         </member>\r
966         <member name="M:C5.HashBag`1.Contains(`0)">\r
967             <summary>\r
968             Check if an item is in the bag \r
969             </summary>\r
970             <param name="item">The item to look for</param>\r
971             <returns>True if bag contains item</returns>\r
972         </member>\r
973         <member name="M:C5.HashBag`1.Find(`0@)">\r
974             <summary>\r
975             Check if an item (collection equal to a given one) is in the bag and\r
976             if so report the actual item object found.\r
977             </summary>\r
978             <param name="item">On entry, the item to look for.\r
979             On exit the item found, if any</param>\r
980             <returns>True if bag contains item</returns>\r
981         </member>\r
982         <member name="M:C5.HashBag`1.Update(`0)">\r
983             <summary>\r
984             Check if an item (collection equal to a given one) is in the bag and\r
985             if so replace the item object in the bag with the supplied one.\r
986             </summary>\r
987             <param name="item">The item object to update with</param>\r
988             <returns>True if item was found (and updated)</returns>\r
989         </member>\r
990         <member name="M:C5.HashBag`1.FindOrAdd(`0@)">\r
991             <summary>\r
992             Check if an item (collection equal to a given one) is in the bag.\r
993             If found, report the actual item object in the bag,\r
994             else add the supplied one.\r
995             </summary>\r
996             <param name="item">On entry, the item to look for or add.\r
997             On exit the actual object found, if any.</param>\r
998             <returns>True if item was found</returns>\r
999         </member>\r
1000         <member name="M:C5.HashBag`1.UpdateOrAdd(`0)">\r
1001             <summary>\r
1002             Check if an item (collection equal to a supplied one) is in the bag and\r
1003             if so replace the item object in the set with the supplied one; else\r
1004             add the supplied one.\r
1005             </summary>\r
1006             <param name="item">The item to look for and update or add</param>\r
1007             <returns>True if item was updated</returns>\r
1008         </member>\r
1009         <member name="M:C5.HashBag`1.Remove(`0)">\r
1010             <summary>\r
1011             Remove one copy af an item from the bag\r
1012             </summary>\r
1013             <param name="item">The item to remove</param>\r
1014             <returns>True if item was (found and) removed </returns>\r
1015         </member>\r
1016         <member name="M:C5.HashBag`1.RemoveWithReturn(`0@)">\r
1017             <summary>\r
1018             Remove one copy of an item from the bag, reporting the actual matching item object.\r
1019             </summary>\r
1020             <param name="item">On entry the item to remove.\r
1021             On exit, the actual removed item object.</param>\r
1022             <returns>True if item was found.</returns>\r
1023         </member>\r
1024         <member name="M:C5.HashBag`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
1025             <summary>\r
1026             Remove all items in a supplied collection from this bag, counting multiplicities.\r
1027             </summary>\r
1028             <param name="items">The items to remove.</param>\r
1029         </member>\r
1030         <member name="M:C5.HashBag`1.Clear">\r
1031             <summary>\r
1032             Remove all items from the bag, resetting internal table to initial size.\r
1033             </summary>\r
1034         </member>\r
1035         <member name="M:C5.HashBag`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
1036             <summary>\r
1037             Remove all items *not* in a supplied collection from this bag,\r
1038             counting multiplicities.\r
1039             </summary>\r
1040             <param name="items">The items to retain</param>\r
1041         </member>\r
1042         <member name="M:C5.HashBag`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
1043             <summary>\r
1044             Check if all items in a supplied collection is in this bag\r
1045             (counting multiplicities). \r
1046             </summary>\r
1047             <param name="items">The items to look for.</param>\r
1048             <returns>True if all items are found.</returns>\r
1049         </member>\r
1050         <member name="M:C5.HashBag`1.ToArray">\r
1051             <summary>\r
1052             Create an array containing all items in this bag (in enumeration order).\r
1053             </summary>\r
1054             <returns>The array</returns>\r
1055         </member>\r
1056         <member name="M:C5.HashBag`1.ContainsCount(`0)">\r
1057             <summary>\r
1058             Count the number of times an item is in this set.\r
1059             </summary>\r
1060             <param name="item">The item to look for.</param>\r
1061             <returns>The count</returns>\r
1062         </member>\r
1063         <member name="M:C5.HashBag`1.RemoveAllCopies(`0)">\r
1064             <summary>\r
1065             Remove all copies of item from this set.\r
1066             </summary>\r
1067             <param name="item">The item to remove</param>\r
1068         </member>\r
1069         <member name="M:C5.HashBag`1.CopyTo(`0[],System.Int32)">\r
1070             <summary>\r
1071             Copy the items of this bag to part of an array.\r
1072             <exception cref="T:System.ArgumentOutOfRangeException"/> if i is negative.\r
1073             <exception cref="T:System.ArgumentException"/> if the array does not have room for the items.\r
1074             </summary>\r
1075             <param name="a">The array to copy to</param>\r
1076             <param name="i">The starting index.</param>\r
1077         </member>\r
1078         <member name="M:C5.HashBag`1.Add(`0)">\r
1079             <summary>\r
1080             Add an item to this bag.\r
1081             </summary>\r
1082             <param name="item">The item to add.</param>\r
1083             <returns>Always true</returns>\r
1084         </member>\r
1085         <member name="M:C5.HashBag`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
1086             <summary>\r
1087             Add all items of a collection to this set.\r
1088             </summary>\r
1089             <param name="items">The items to add</param>\r
1090         </member>\r
1091         <member name="M:C5.HashBag`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
1092             <summary>\r
1093             Add the elements from another collection with a more specialized item type \r
1094             to this collection. \r
1095             </summary>\r
1096             <typeparam name="U">The type of items to add</typeparam>\r
1097             <param name="items">The items to add</param>\r
1098         </member>\r
1099         <member name="M:C5.HashBag`1.GetEnumerator">\r
1100             <summary>\r
1101             Create an enumerator for this bag.\r
1102             </summary>\r
1103             <returns>The enumerator</returns>\r
1104         </member>\r
1105         <member name="M:C5.HashBag`1.Check">\r
1106             <summary>\r
1107             Test internal structure of data (invariants)\r
1108             </summary>\r
1109             <returns>True if pass</returns>\r
1110         </member>\r
1111         <member name="P:C5.HashBag`1.ContainsSpeed">\r
1112             <summary>\r
1113             The complexity of the Contains operation\r
1114             </summary>\r
1115             <value>Always returns Speed.Constant</value>\r
1116         </member>\r
1117         <member name="P:C5.HashBag`1.AllowsDuplicates">\r
1118             <summary>\r
1119             Report if this is a set collection.\r
1120             </summary>\r
1121             <value>Always true</value>\r
1122         </member>\r
1123         <member name="T:C5.Applier`1">\r
1124             <summary>\r
1125             A generic delegate that when invoked performs some operation\r
1126             on it T argument.\r
1127             </summary>\r
1128         </member>\r
1129         <member name="T:C5.Mapper`2">\r
1130             <summary>\r
1131             A generic delegate whose invocation constitutes a map from T to V.\r
1132             </summary>\r
1133         </member>\r
1134         <member name="T:C5.Filter`1">\r
1135             <summary>\r
1136             A generic delegate that when invoked on a T item returns a boolean\r
1137             value -- i.e. a T predicate.\r
1138             </summary> \r
1139         </member>\r
1140         <member name="T:C5.Speed">\r
1141             <summary>\r
1142             The symbolic characterization of the speed of lookups for a collection.\r
1143             The values may refer to worst-case, amortized and/or expected asymtotic \r
1144             complexity wrt. the collection size.\r
1145             </summary>\r
1146         </member>\r
1147         <member name="F:C5.Speed.PotentiallyInfinite">\r
1148             <summary>\r
1149             Counting the collection with the <code>Count property</code> may not return\r
1150             (for a synthetic and potentially infinite collection).\r
1151             </summary>\r
1152         </member>\r
1153         <member name="F:C5.Speed.Linear">\r
1154             <summary>\r
1155             Lookup operations like <code>Contains(T item)</code> or the <code>Count</code>\r
1156             property may take time O(n),\r
1157             where n is the size of the collection.\r
1158             </summary>\r
1159         </member>\r
1160         <member name="F:C5.Speed.Log">\r
1161             <summary>\r
1162             Lookup operations like <code>Contains(T item)</code> or the <code>Count</code>\r
1163             property  takes time O(log n),\r
1164             where n is the size of the collection.\r
1165             </summary>\r
1166         </member>\r
1167         <member name="F:C5.Speed.Constant">\r
1168             <summary>\r
1169             Lookup operations like <code>Contains(T item)</code> or the <code>Count</code>\r
1170             property  takes time O(1),\r
1171             where n is the size of the collection.\r
1172             </summary>\r
1173         </member>\r
1174         <member name="T:C5.ISequenced`1">\r
1175              <summary>\r
1176              An editable collection maintaining a definite sequence order of the items.\r
1177             \r
1178              <p>Implementations of this interface must compute the hash code and \r
1179              equality exactly as prescribed in the method definitions in order to\r
1180              be consistent with other collection classes implementing this interface.</p>\r
1181              <p>This interface is usually implemented by explicit interface implementation,\r
1182              not as ordinary virtual methods.</p>\r
1183              </summary>\r
1184         </member>\r
1185         <member name="M:C5.ISequenced`1.GetHashCode">\r
1186             <summary>\r
1187             The hashcode is defined as <code>h(...h(h(x1),x2)...,xn)</code> for\r
1188             <code>h(a,b)=31*a+b</code> and the x's the hash codes of \r
1189             </summary>\r
1190             <returns>The sequence order hashcode of this collection.</returns>\r
1191         </member>\r
1192         <member name="M:C5.ISequenced`1.Equals(C5.ISequenced{`0})">\r
1193             <summary>\r
1194             Compare this sequenced collection to another one in sequence order.\r
1195             </summary>\r
1196             <param name="that">The sequenced collection to compare to.</param>\r
1197             <returns>True if this collection and that contains equal (according to\r
1198             this collection's itemhasher) in the same sequence order.</returns>\r
1199         </member>\r
1200         <member name="T:C5.IIndexed`1">\r
1201             <summary>\r
1202             A sequenced collection, where indices of items in the order are maintained\r
1203             </summary>\r
1204         </member>\r
1205         <member name="M:C5.IIndexed`1.IndexOf(`0)">\r
1206             <summary>\r
1207             Searches for an item in the list going forwrds from the start.\r
1208             </summary>\r
1209             <param name="item">Item to search for.</param>\r
1210             <returns>Index of item from start.</returns>\r
1211         </member>\r
1212         <member name="M:C5.IIndexed`1.LastIndexOf(`0)">\r
1213             <summary>\r
1214             Searches for an item in the list going backwords from the end.\r
1215             </summary>\r
1216             <param name="item">Item to search for.</param>\r
1217             <returns>Index of of item from the end.</returns>\r
1218         </member>\r
1219         <member name="M:C5.IIndexed`1.RemoveAt(System.Int32)">\r
1220             <summary>\r
1221             Remove the item at a specific position of the list.\r
1222             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
1223             &gt;= the size of the collection.\r
1224             </summary>\r
1225             <param name="i">The index of the item to remove.</param>\r
1226             <returns>The removed item.</returns>\r
1227         </member>\r
1228         <member name="M:C5.IIndexed`1.RemoveInterval(System.Int32,System.Int32)">\r
1229             <summary>\r
1230             Remove all items in an index interval.\r
1231             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
1232             </summary>\r
1233             <param name="start">The index of the first item to remove.</param>\r
1234             <param name="count">The number of items to remove.</param>\r
1235         </member>\r
1236         <member name="P:C5.IIndexed`1.Item(System.Int32)">\r
1237             <summary>\r
1238             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
1239             &gt;= the size of the collection.\r
1240             </summary>\r
1241             <value>The i'th item of this list.</value>\r
1242             <param name="i">the index to lookup</param>\r
1243         </member>\r
1244         <member name="P:C5.IIndexed`1.Item(System.Int32,System.Int32)">\r
1245             <summary>\r
1246             <exception cref="T:System.IndexOutOfRangeException"/>.\r
1247             </summary>\r
1248             <value>The directed collection of items in a specific index interval.</value>\r
1249             <param name="start">The low index of the interval (inclusive).</param>\r
1250             <param name="count">The size of the range.</param>\r
1251         </member>\r
1252         <member name="T:C5.IStack`1">\r
1253             <summary>\r
1254             The interface describing the operations of a LIFO stack data structure.\r
1255             </summary>\r
1256             <typeparam name="T">The item type</typeparam>\r
1257         </member>\r
1258         <member name="M:C5.IStack`1.Push(`0)">\r
1259             <summary>\r
1260             Push an item to the top of the stack.\r
1261             </summary>\r
1262             <param name="item">The item</param>\r
1263         </member>\r
1264         <member name="M:C5.IStack`1.Pop">\r
1265             <summary>\r
1266             Pop the item at the top of the stack from the stack.\r
1267             </summary>\r
1268             <returns>The popped item.</returns>\r
1269         </member>\r
1270         <member name="T:C5.IQueue`1">\r
1271             <summary>\r
1272             The interface describing the operations of a FIFO queue data structure.\r
1273             </summary>\r
1274             <typeparam name="T">The item type</typeparam>\r
1275         </member>\r
1276         <member name="M:C5.IQueue`1.EnQueue(`0)">\r
1277             <summary>\r
1278             Enqueue an item at the back of the queue. \r
1279             </summary>\r
1280             <param name="item">The item</param>\r
1281         </member>\r
1282         <member name="M:C5.IQueue`1.DeQueue">\r
1283             <summary>\r
1284             Dequeue an item from the front of the queue.\r
1285             </summary>\r
1286             <returns>The item</returns>\r
1287         </member>\r
1288         <member name="T:C5.IList`1">\r
1289              <summary>\r
1290              This is an indexed collection, where the item order is chosen by \r
1291              the user at insertion time.\r
1292             \r
1293              NBNBNB: we neeed a description of the view functionality here!\r
1294              </summary>\r
1295         </member>\r
1296         <member name="M:C5.IList`1.Insert(System.Int32,`0)">\r
1297             <summary>\r
1298             Insert an item at a specific index location in this list. \r
1299             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
1300             &gt; the size of the collection.</summary>\r
1301             <exception cref="T:System.InvalidOperationException"/> if the list has\r
1302             <code>NoDuplicates=true</code> and the item is \r
1303             already in the list.\r
1304             <param name="i">The index at which to insert.</param>\r
1305             <param name="item">The item to insert.</param>\r
1306         </member>\r
1307         <member name="M:C5.IList`1.InsertFirst(`0)">\r
1308             <summary>\r
1309             Insert an item at the front of this list.\r
1310             <exception cref="T:System.InvalidOperationException"/> if the list has\r
1311             <code>NoDuplicates=true</code> and the item is \r
1312             already in the list.\r
1313             </summary>\r
1314             <param name="item">The item to insert.</param>\r
1315         </member>\r
1316         <member name="M:C5.IList`1.InsertLast(`0)">\r
1317             <summary>\r
1318             Insert an item at the back of this list.\r
1319             <exception cref="T:System.InvalidOperationException"/> if the list has\r
1320             <code>NoDuplicates=true</code> and the item is \r
1321             already in the list.\r
1322             </summary>\r
1323             <param name="item">The item to insert.</param>\r
1324         </member>\r
1325         <member name="M:C5.IList`1.InsertBefore(`0,`0)">\r
1326             <summary>\r
1327             Insert an item right before the first occurrence of some target item.\r
1328             <exception cref="T:System.InvalidOperationException"/> if target    is not found\r
1329             or if the list has <code>NoDuplicates=true</code> and the item is \r
1330             already in the list.\r
1331             </summary>\r
1332             <param name="item">The item to insert.</param>\r
1333             <param name="target">The target before which to insert.</param>\r
1334         </member>\r
1335         <member name="M:C5.IList`1.InsertAfter(`0,`0)">\r
1336             <summary>\r
1337             Insert an item right after the last(???) occurrence of some target item.\r
1338             <exception cref="T:System.InvalidOperationException"/> if target    is not found\r
1339             or if the list has <code>NoDuplicates=true</code> and the item is \r
1340             already in the list.\r
1341             </summary>\r
1342             <param name="item">The item to insert.</param>\r
1343             <param name="target">The target after which to insert.</param>\r
1344         </member>\r
1345         <member name="M:C5.IList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
1346             <summary>\r
1347             Insert into this list all items from an enumerable collection starting \r
1348             at a particular index.\r
1349             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
1350             &gt; the size of the collection.\r
1351             <exception cref="T:System.InvalidOperationException"/> if the list has \r
1352             <code>NoDuplicates=true</code> and one of the items to insert is\r
1353             already in the list.\r
1354             </summary>\r
1355             <param name="i">Index to start inserting at</param>\r
1356             <param name="items">Items to insert</param>\r
1357         </member>\r
1358         <member name="M:C5.IList`1.FindAll(C5.Filter{`0})">\r
1359             <summary>\r
1360             Create a new list consisting of the items of this list satisfying a \r
1361             certain predicate.\r
1362             </summary>\r
1363             <param name="filter">The filter delegate defining the predicate.</param>\r
1364             <returns>The new list.</returns>\r
1365         </member>\r
1366         <member name="M:C5.IList`1.Map``1(C5.Mapper{`0,``0})">\r
1367             <summary>\r
1368             Create a new list consisting of the results of mapping all items of this\r
1369             list. The new list will use the default hasher for the item type V.\r
1370             </summary>\r
1371             <typeparam name="V">The type of items of the new list</typeparam>\r
1372             <param name="mapper">The delegate defining the map.</param>\r
1373             <returns>The new list.</returns>\r
1374         </member>\r
1375         <member name="M:C5.IList`1.Map``1(C5.Mapper{`0,``0},C5.IHasher{``0})">\r
1376             <summary>\r
1377             Create a new list consisting of the results of mapping all items of this\r
1378             list. The new list will use a specified hasher for the item type.\r
1379             </summary>\r
1380             <typeparam name="V">The type of items of the new list</typeparam>\r
1381             <param name="mapper">The delegate defining the map.</param>\r
1382             <param name="hasher">The hasher to use for the new list</param>\r
1383             <returns>The new list.</returns>\r
1384         </member>\r
1385         <member name="M:C5.IList`1.Remove">\r
1386             <summary>\r
1387             Remove one item from the list: from the front if <code>FIFO</code>\r
1388             is true, else from the back.\r
1389             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
1390             </summary>\r
1391             <returns>The removed item.</returns>\r
1392         </member>\r
1393         <member name="M:C5.IList`1.RemoveFirst">\r
1394             <summary>\r
1395             Remove one item from the fromnt of the list.\r
1396             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
1397             </summary>\r
1398             <returns>The removed item.</returns>\r
1399         </member>\r
1400         <member name="M:C5.IList`1.RemoveLast">\r
1401             <summary>\r
1402             Remove one item from the back of the list.\r
1403             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
1404             </summary>\r
1405             <returns>The removed item.</returns>\r
1406         </member>\r
1407         <member name="M:C5.IList`1.View(System.Int32,System.Int32)">\r
1408             <summary>\r
1409             Create a list view on this list. \r
1410             <exception cref="T:System.ArgumentOutOfRangeException"/> if the view would not fit into\r
1411             this list.\r
1412             </summary>\r
1413             <param name="start">The index in this list of the start of the view.</param>\r
1414             <param name="count">The size of the view.</param>\r
1415             <returns>The new list view.</returns>\r
1416         </member>\r
1417         <member name="M:C5.IList`1.Slide(System.Int32)">\r
1418             <summary>\r
1419             Slide this list view along the underlying list.\r
1420             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
1421             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
1422             would bring either end of the view outside the underlying list.\r
1423             </summary>\r
1424             <param name="offset">The signed amount to slide: positive to slide\r
1425             towards the end.</param>\r
1426         </member>\r
1427         <member name="M:C5.IList`1.Slide(System.Int32,System.Int32)">\r
1428             <summary>\r
1429             Slide this list view along the underlying list, changing its size.\r
1430             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
1431             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
1432             would bring either end of the view outside the underlying list.\r
1433             </summary>\r
1434             <param name="offset">The signed amount to slide: positive to slide\r
1435             towards the end.</param>\r
1436             <param name="size">The new size of the view.</param>\r
1437         </member>\r
1438         <member name="M:C5.IList`1.Reverse">\r
1439             <summary>\r
1440             Reverse the list so the items are in the opposite sequence order.\r
1441             </summary>\r
1442         </member>\r
1443         <member name="M:C5.IList`1.Reverse(System.Int32,System.Int32)">\r
1444             <summary>\r
1445             Reverst part of the list so the items are in the opposite sequence order.\r
1446             <exception cref="T:System.ArgumentException"/> if the count is negative.\r
1447             <exception cref="T:System.ArgumentOutOfRangeException"/> if the part does not fit\r
1448             into the list.\r
1449             </summary>\r
1450             <param name="start">The index of the start of the part to reverse.</param>\r
1451             <param name="count">The size of the part to reverse.</param>\r
1452         </member>\r
1453         <member name="M:C5.IList`1.IsSorted(C5.IComparer{`0})">\r
1454             <summary>\r
1455             Check if this list is sorted according to a specific sorting order.\r
1456             </summary>\r
1457             <param name="c">The comparer defining the sorting order.</param>\r
1458             <returns>True if the list is sorted, else false.</returns>\r
1459         </member>\r
1460         <member name="M:C5.IList`1.Sort(C5.IComparer{`0})">\r
1461             <summary>\r
1462             Sort the items of the list according to a specific sorting order.\r
1463             </summary>\r
1464             <param name="c">The comparer defining the sorting order.</param>\r
1465         </member>\r
1466         <member name="M:C5.IList`1.Shuffle">\r
1467             <summary>\r
1468             Randonmly shuffle the items of this list. \r
1469             </summary>\r
1470         </member>\r
1471         <member name="M:C5.IList`1.Shuffle(System.Random)">\r
1472             <summary>\r
1473             Shuffle the items of this list according to a specific random source.\r
1474             </summary>\r
1475             <param name="rnd">The random source.</param>\r
1476         </member>\r
1477         <member name="P:C5.IList`1.First">\r
1478             <summary>\r
1479             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
1480             </summary>\r
1481             <value>The first item in this list.</value>\r
1482         </member>\r
1483         <member name="P:C5.IList`1.Last">\r
1484             <summary>\r
1485             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
1486             </summary>\r
1487             <value>The last item in this list.</value>\r
1488         </member>\r
1489         <member name="P:C5.IList`1.FIFO">\r
1490             <summary>\r
1491             Since <code>Add(T item)</code> always add at the end of the list,\r
1492             this describes if list has FIFO or LIFO semantics.\r
1493             </summary>\r
1494             <value>True if the <code>Remove()</code> operation removes from the\r
1495             start of the list, false if it removes from the end.</value>\r
1496         </member>\r
1497         <member name="P:C5.IList`1.Item(System.Int32)">\r
1498             <summary>\r
1499             On this list, this indexer is read/write.\r
1500             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
1501             &gt;= the size of the collection.\r
1502             </summary>\r
1503             <value>The i'th item of this list.</value>\r
1504             <param name="i">The index of the item to fetch or store.</param>\r
1505         </member>\r
1506         <member name="P:C5.IList`1.Underlying">\r
1507             <summary>\r
1508             Null if this list is not a view.\r
1509             </summary>\r
1510             <value>Underlying list for view.</value>\r
1511         </member>\r
1512         <member name="P:C5.IList`1.Offset">\r
1513             <summary>\r
1514             </summary>\r
1515             <value>Offset for this list view or 0 for an underlying list.</value>\r
1516         </member>\r
1517         <member name="T:C5.IPriorityQueue`1">\r
1518             <summary>\r
1519             A generic collection of items prioritized by a comparison (order) relation.\r
1520             Supports adding items and reporting or removing extremal elements. \r
1521             The priority queue itself exports the used\r
1522             order relation through its implementation of <code>IComparer&lt;T&gt;</code>\r
1523             </summary>\r
1524         </member>\r
1525         <member name="M:C5.IPriorityQueue`1.FindMin">\r
1526             <summary>\r
1527             Find the current least item of this priority queue.\r
1528             </summary>\r
1529             <returns>The least item.</returns>\r
1530         </member>\r
1531         <member name="M:C5.IPriorityQueue`1.DeleteMin">\r
1532             <summary>\r
1533             Remove the least item from this  priority queue.\r
1534             </summary>\r
1535             <returns>The removed item.</returns>\r
1536         </member>\r
1537         <member name="M:C5.IPriorityQueue`1.FindMax">\r
1538             <summary>\r
1539             Find the current largest item of this priority queue.\r
1540             </summary>\r
1541             <returns>The largest item.</returns>\r
1542         </member>\r
1543         <member name="M:C5.IPriorityQueue`1.DeleteMax">\r
1544             <summary>\r
1545             Remove the largest item from this  priority queue.\r
1546             </summary>\r
1547             <returns>The removed item.</returns>\r
1548         </member>\r
1549         <member name="P:C5.IPriorityQueue`1.Comparer">\r
1550             <summary>\r
1551             The comparer object supplied at creation time for this collection\r
1552             </summary>\r
1553             <value>The comparer</value>\r
1554         </member>\r
1555         <member name="T:C5.ISorted`1">\r
1556             <summary>\r
1557             A collection where items are maintained in sorted order.\r
1558             </summary>\r
1559         </member>\r
1560         <member name="M:C5.ISorted`1.Predecessor(`0)">\r
1561             <summary>\r
1562             Find the strict predecessor in the sorted collection of a particular value,\r
1563             i.e. the largest item in the collection less than the supplied value.\r
1564             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
1565             supplied  value is less than or equal to the minimum of this collection.)\r
1566             </summary>\r
1567             <param name="item">The item to find the predecessor for.</param>\r
1568             <returns>The predecessor.</returns>\r
1569         </member>\r
1570         <member name="M:C5.ISorted`1.Successor(`0)">\r
1571             <summary>\r
1572             Find the strict successor in the sorted collection of a particular value,\r
1573             i.e. the least item in the collection greater than the supplied value.\r
1574             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
1575             supplied  value is greater than or equal to the maximum of this collection.)\r
1576             </summary>\r
1577             <param name="item">The item to find the successor for.</param>\r
1578             <returns>The successor.</returns>\r
1579         </member>\r
1580         <member name="M:C5.ISorted`1.WeakPredecessor(`0)">\r
1581             <summary>\r
1582             Find the weak predecessor in the sorted collection of a particular value,\r
1583             i.e. the largest item in the collection less than or equal to the supplied value.\r
1584             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
1585             supplied  value is less than the minimum of this collection.)\r
1586             </summary>\r
1587             <param name="item">The item to find the weak predecessor for.</param>\r
1588             <returns>The weak predecessor.</returns>\r
1589         </member>\r
1590         <member name="M:C5.ISorted`1.WeakSuccessor(`0)">\r
1591             <summary>\r
1592             Find the weak successor in the sorted collection of a particular value,\r
1593             i.e. the least item in the collection greater than or equal to the supplied value.\r
1594             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
1595             supplied  value is greater than the maximum of this collection.)\r
1596             </summary>\r
1597             <param name="item">The item to find the weak successor for.</param>\r
1598             <returns>The weak successor.</returns>\r
1599         </member>\r
1600         <member name="M:C5.ISorted`1.Cut(System.IComparable{`0},`0@,System.Boolean@,`0@,System.Boolean@)">\r
1601             <summary>\r
1602             Perform a search in the sorted collection for the ranges in which a\r
1603             non-decreasing function from the item type to <code>int</code> is\r
1604             negative, zero respectively positive. If the supplied cut function is\r
1605             not non-decreasing, the result of this call is undefined.\r
1606             </summary>\r
1607             <param name="c">The cut function <code>T</code> to <code>int</code>, given\r
1608             as an <code>IComparable&lt;T&gt;</code> object, where the cut function is\r
1609             the <code>c.CompareTo(T that)</code> method.</param>\r
1610             <param name="low">Returns the largest item in the collection, where the\r
1611             cut function is negative (if any).</param>\r
1612             <param name="lowIsValid">True if the cut function is negative somewhere\r
1613             on this collection.</param>\r
1614             <param name="high">Returns the least item in the collection, where the\r
1615             cut function is positive (if any).</param>\r
1616             <param name="highIsValid">True if the cut function is positive somewhere\r
1617             on this collection.</param>\r
1618             <returns></returns>\r
1619         </member>\r
1620         <member name="M:C5.ISorted`1.RangeFrom(`0)">\r
1621             <summary>\r
1622             Query this sorted collection for items greater than or equal to a supplied value.\r
1623             </summary>\r
1624             <param name="bot">The lower bound (inclusive).</param>\r
1625             <returns>The result directed collection.</returns>\r
1626         </member>\r
1627         <member name="M:C5.ISorted`1.RangeFromTo(`0,`0)">\r
1628             <summary>\r
1629             Query this sorted collection for items between two supplied values.\r
1630             </summary>\r
1631             <param name="bot">The lower bound (inclusive).</param>\r
1632             <param name="top">The upper bound (exclusive).</param>\r
1633             <returns>The result directed collection.</returns>\r
1634         </member>\r
1635         <member name="M:C5.ISorted`1.RangeTo(`0)">\r
1636             <summary>\r
1637             Query this sorted collection for items less than a supplied value.\r
1638             </summary>\r
1639             <param name="top">The upper bound (exclusive).</param>\r
1640             <returns>The result directed collection.</returns>\r
1641         </member>\r
1642         <member name="M:C5.ISorted`1.RangeAll">\r
1643             <summary>\r
1644             Create a directed collection with the same items as this collection.\r
1645             </summary>\r
1646             <returns>The result directed collection.</returns>\r
1647         </member>\r
1648         <member name="M:C5.ISorted`1.AddSorted(System.Collections.Generic.IEnumerable{`0})">\r
1649             <summary>\r
1650             Add all the items from another collection with an enumeration order that \r
1651             is increasing in the items.\r
1652             <exception cref="T:System.ArgumentException"/> if the enumerated items turns out\r
1653             not to be in increasing order.\r
1654             </summary>\r
1655             <param name="items">The collection to add.</param>\r
1656         </member>\r
1657         <member name="M:C5.ISorted`1.RemoveRangeFrom(`0)">\r
1658             <summary>\r
1659             Remove all items of this collection above or at a supplied threshold.\r
1660             </summary>\r
1661             <param name="low">The lower threshold (inclusive).</param>\r
1662         </member>\r
1663         <member name="M:C5.ISorted`1.RemoveRangeFromTo(`0,`0)">\r
1664             <summary>\r
1665             Remove all items of this collection between two supplied thresholds.\r
1666             </summary>\r
1667             <param name="low">The lower threshold (inclusive).</param>\r
1668             <param name="hi">The upper threshold (exclusive).</param>\r
1669         </member>\r
1670         <member name="M:C5.ISorted`1.RemoveRangeTo(`0)">\r
1671             <summary>\r
1672             Remove all items of this collection below a supplied threshold.\r
1673             </summary>\r
1674             <param name="hi">The upper threshold (exclusive).</param>\r
1675         </member>\r
1676         <member name="T:C5.IIndexedSorted`1">\r
1677             <summary>\r
1678             A collection where items are maintained in sorted order together\r
1679             with their indexes in that order.\r
1680             </summary>\r
1681         </member>\r
1682         <member name="M:C5.IIndexedSorted`1.CountFrom(`0)">\r
1683             <summary>\r
1684             Determine the number of items at or above a supplied threshold.\r
1685             </summary>\r
1686             <param name="bot">The lower bound (inclusive)</param>\r
1687             <returns>The number of matcing items.</returns>\r
1688         </member>\r
1689         <member name="M:C5.IIndexedSorted`1.CountFromTo(`0,`0)">\r
1690             <summary>\r
1691             Determine the number of items between two supplied thresholds.\r
1692             </summary>\r
1693             <param name="bot">The lower bound (inclusive)</param>\r
1694             <param name="top">The upper bound (exclusive)</param>\r
1695             <returns>The number of matcing items.</returns>\r
1696         </member>\r
1697         <member name="M:C5.IIndexedSorted`1.CountTo(`0)">\r
1698             <summary>\r
1699             Determine the number of items below a supplied threshold.\r
1700             </summary>\r
1701             <param name="top">The upper bound (exclusive)</param>\r
1702             <returns>The number of matcing items.</returns>\r
1703         </member>\r
1704         <member name="M:C5.IIndexedSorted`1.RangeFrom(`0)">\r
1705             <summary>\r
1706             Query this sorted collection for items greater than or equal to a supplied value.\r
1707             </summary>\r
1708             <param name="bot">The lower bound (inclusive).</param>\r
1709             <returns>The result directed collection.</returns>\r
1710         </member>\r
1711         <member name="M:C5.IIndexedSorted`1.RangeFromTo(`0,`0)">\r
1712             <summary>\r
1713             Query this sorted collection for items between two supplied values.\r
1714             </summary>\r
1715             <param name="bot">The lower bound (inclusive).</param>\r
1716             <param name="top">The upper bound (exclusive).</param>\r
1717             <returns>The result directed collection.</returns>\r
1718         </member>\r
1719         <member name="M:C5.IIndexedSorted`1.RangeTo(`0)">\r
1720             <summary>\r
1721             Query this sorted collection for items less than a supplied value.\r
1722             </summary>\r
1723             <param name="top">The upper bound (exclusive).</param>\r
1724             <returns>The result directed collection.</returns>\r
1725         </member>\r
1726         <member name="M:C5.IIndexedSorted`1.FindAll(C5.Filter{`0})">\r
1727             <summary>\r
1728             Create a new indexed sorted collection consisting of the items of this\r
1729             indexed sorted collection satisfying a certain predicate.\r
1730             </summary>\r
1731             <param name="f">The filter delegate defining the predicate.</param>\r
1732             <returns>The new indexed sorted collection.</returns>\r
1733         </member>\r
1734         <member name="M:C5.IIndexedSorted`1.Map``1(C5.Mapper{`0,``0},C5.IComparer{``0})">\r
1735             <summary>\r
1736             Create a new indexed sorted collection consisting of the results of\r
1737             mapping all items of this list.\r
1738             <exception cref="T:System.ArgumentException"/> if the map is not increasing over \r
1739             the items of this collection (with respect to the two given comparison \r
1740             relations).\r
1741             </summary>\r
1742             <param name="m">The delegate definging the map.</param>\r
1743             <param name="c">The comparion relation to use for the result.</param>\r
1744             <returns>The new sorted collection.</returns>\r
1745         </member>\r
1746         <member name="T:C5.IPersistentSorted`1">\r
1747             <summary>\r
1748             The type of a sorted collection with persistence\r
1749             </summary>\r
1750         </member>\r
1751         <member name="M:C5.IPersistentSorted`1.Snapshot">\r
1752             <summary>\r
1753             Make a (read-only) snap shot of this collection.\r
1754             </summary>\r
1755             <returns>The snap shot.</returns>\r
1756         </member>\r
1757         <member name="T:C5.IDictionary`2">\r
1758             <summary>\r
1759             A dictionary with keys of type K and values of type V. Equivalent to a\r
1760             finite partial map from K to V.\r
1761             </summary>\r
1762         </member>\r
1763         <member name="M:C5.IDictionary`2.Add(`0,`1)">\r
1764             <summary>\r
1765             Add a new (key, value) pair (a mapping) to the dictionary.\r
1766             <exception cref="T:System.InvalidOperationException"/> if there already is an entry with the same key. \r
1767             </summary>\r
1768             <param name="key">Key to add</param>\r
1769             <param name="val">Value to add</param>\r
1770         </member>\r
1771         <member name="M:C5.IDictionary`2.Remove(`0)">\r
1772             <summary>\r
1773             Remove an entry with a given key from the dictionary\r
1774             </summary>\r
1775             <param name="key">The key of the entry to remove</param>\r
1776             <returns>True if an entry was found (and removed)</returns>\r
1777         </member>\r
1778         <member name="M:C5.IDictionary`2.Remove(`0,`1@)">\r
1779             <summary>\r
1780             Remove an entry with a given key from the dictionary and report its value.\r
1781             </summary>\r
1782             <param name="key">The key of the entry to remove</param>\r
1783             <param name="val">On exit, the value of the removed entry</param>\r
1784             <returns>True if an entry was found (and removed)</returns>\r
1785         </member>\r
1786         <member name="M:C5.IDictionary`2.Clear">\r
1787             <summary>\r
1788             Remove all entries from the dictionary\r
1789             </summary>\r
1790         </member>\r
1791         <member name="M:C5.IDictionary`2.Contains(`0)">\r
1792             <summary>\r
1793             Check if there is an entry with a specified key\r
1794             </summary>\r
1795             <param name="key">The key to look for</param>\r
1796             <returns>True if key was found</returns>\r
1797         </member>\r
1798         <member name="M:C5.IDictionary`2.Find(`0,`1@)">\r
1799             <summary>\r
1800             Check if there is an entry with a specified key and report the corresponding\r
1801             value if found. This can be seen as a safe form of "val = this[key]".\r
1802             </summary>\r
1803             <param name="key">The key to look for</param>\r
1804             <param name="val">On exit, the value of the entry</param>\r
1805             <returns>True if key was found</returns>\r
1806         </member>\r
1807         <member name="M:C5.IDictionary`2.Update(`0,`1)">\r
1808             <summary>\r
1809             Look for a specific key in the dictionary and if found replace the value with a new one.\r
1810             This can be seen as a non-adding version of "this[key] = val".\r
1811             </summary>\r
1812             <param name="key">The key to look for</param>\r
1813             <param name="val">The new value</param>\r
1814             <returns>True if key was found</returns>\r
1815         </member>\r
1816         <member name="M:C5.IDictionary`2.FindOrAdd(`0,`1@)">\r
1817             <summary>\r
1818             Look for a specific key in the dictionary. If found, report the corresponding value,\r
1819             else add an entry with the key and the supplied value.\r
1820             </summary>\r
1821             <param name="key">The key to look for</param>\r
1822             <param name="val">On entry the value to add if the key is not found.\r
1823             On exit the value found if any.</param>\r
1824             <returns>True if key was found</returns>\r
1825         </member>\r
1826         <member name="M:C5.IDictionary`2.UpdateOrAdd(`0,`1)">\r
1827             <summary>\r
1828             Update value in dictionary corresponding to key if found, else add new entry.\r
1829             More general than "this[key] = val;" by reporting if key was found.\r
1830             </summary>\r
1831             <param name="key">The key to look for</param>\r
1832             <param name="val">The value to add or replace with.</param>\r
1833             <returns>True if key was found and value updated.</returns>\r
1834         </member>\r
1835         <member name="M:C5.IDictionary`2.Check">\r
1836             <summary>\r
1837             Check the integrity of the internal data structures of this dictionary.\r
1838             Only avaliable in DEBUG builds???\r
1839             </summary>\r
1840             <returns>True if check does not fail.</returns>\r
1841         </member>\r
1842         <member name="P:C5.IDictionary`2.Item(`0)">\r
1843             <summary>\r
1844             Indexer for dictionary.\r
1845             <exception cref="T:System.InvalidOperationException"/> if no entry is found. \r
1846             </summary>\r
1847             <value>The value corresponding to the key</value>\r
1848         </member>\r
1849         <member name="P:C5.IDictionary`2.Count">\r
1850             <summary>\r
1851             \r
1852             </summary>\r
1853             <value>The number of entrues in the dictionary</value>\r
1854         </member>\r
1855         <member name="P:C5.IDictionary`2.IsReadOnly">\r
1856             <summary>\r
1857             \r
1858             </summary>\r
1859             <value>True if dictionary is read  only</value>\r
1860         </member>\r
1861         <member name="P:C5.IDictionary`2.SyncRoot">\r
1862             <summary>\r
1863             \r
1864             </summary>\r
1865             <value>The distinguished object to use for locking to synchronize multithreaded access</value>\r
1866         </member>\r
1867         <member name="P:C5.IDictionary`2.Keys">\r
1868             <summary>\r
1869             \r
1870             </summary>\r
1871             <value>A collection containg the all the keys of the dictionary</value>\r
1872         </member>\r
1873         <member name="P:C5.IDictionary`2.Values">\r
1874             <summary>\r
1875             \r
1876             </summary>\r
1877             <value>A collection containing all the values of the dictionary</value>\r
1878         </member>\r
1879         <member name="T:C5.ISortedDictionary`2">\r
1880             <summary>\r
1881             A dictionary with sorted keys.\r
1882             </summary>\r
1883         </member>\r
1884         <member name="M:C5.ISortedDictionary`2.Predecessor(`0)">\r
1885             <summary>\r
1886             Find the entry with the largest key less than a given key.\r
1887             <exception cref="T:System.InvalidOperationException"/> if there is no such entry. \r
1888             </summary>\r
1889             <param name="key">The key to compare to</param>\r
1890             <returns>The entry</returns>\r
1891         </member>\r
1892         <member name="M:C5.ISortedDictionary`2.Successor(`0)">\r
1893             <summary>\r
1894             Find the entry with the least key greater than a given key.\r
1895             <exception cref="T:System.InvalidOperationException"/> if there is no such entry. \r
1896             </summary>\r
1897             <param name="key">The key to compare to</param>\r
1898             <returns>The entry</returns>\r
1899         </member>\r
1900         <member name="M:C5.ISortedDictionary`2.WeakPredecessor(`0)">\r
1901             <summary>\r
1902             Find the entry with the largest key less than or equal to a given key.\r
1903             <exception cref="T:System.InvalidOperationException"/> if there is no such entry. \r
1904             </summary>\r
1905             <param name="key">The key to compare to</param>\r
1906             <returns>The entry</returns>\r
1907         </member>\r
1908         <member name="M:C5.ISortedDictionary`2.WeakSuccessor(`0)">\r
1909             <summary>\r
1910             Find the entry with the least key greater than or equal to a given key.\r
1911             <exception cref="T:System.InvalidOperationException"/> if there is no such entry. \r
1912             </summary>\r
1913             <param name="key">The key to compare to</param>\r
1914             <returns>The entry</returns>\r
1915         </member>\r
1916         <member name="T:C5.TreeBag`1">\r
1917             <summary>\r
1918             An implementation of Red-Black trees as an indexed, sorted collection with bag semantics,\r
1919             cf. <a href="litterature.htm#CLRS">CLRS</a>. (<see cref="T:C5.TreeBag!1"/> for an \r
1920             implementation with set semantics).\r
1921             <br/>\r
1922             The comparer (sorting order) may be either natural, because the item type is comparable \r
1923             (generic: <see cref="T:C5.IComparable!1"/> or non-generic: System.IComparable) or it can\r
1924             be external and supplied by the user in the constructor.\r
1925             <br/>\r
1926             Each distinct item is only kept in one place in the tree - together with the number\r
1927             of times it is a member of the bag. Thus, if two items that are equal according\r
1928             </summary>\r
1929         </member>\r
1930         <member name="M:C5.TreeBag`1.left(C5.TreeBag{`0}.Node)">\r
1931             <summary>\r
1932             Fetch the left child of n taking node-copying persistence into\r
1933             account if relevant. \r
1934             </summary>\r
1935             <param name="n"></param>\r
1936             <returns></returns>\r
1937         </member>\r
1938         <member name="M:C5.TreeBag`1.#ctor">\r
1939             <summary>\r
1940             Create a red-black tree collection with natural comparer and item hasher.\r
1941             </summary>\r
1942         </member>\r
1943         <member name="M:C5.TreeBag`1.#ctor(C5.IComparer{`0})">\r
1944             <summary>\r
1945             Create a red-black tree collection with an external comparer (and natural item hasher,\r
1946             assumed consistent).\r
1947             </summary>\r
1948             <param name="c">The external comparer</param>\r
1949         </member>\r
1950         <member name="M:C5.TreeBag`1.#ctor(C5.IComparer{`0},C5.IHasher{`0})">\r
1951             <summary>\r
1952             Create a red-black tree collection with an external comparer aand an external\r
1953             item hasher, assumed consistent.\r
1954             </summary>\r
1955             <param name="c">The external comparer</param>\r
1956             <param name="h">The external item hasher</param>\r
1957         </member>\r
1958         <member name="M:C5.TreeBag`1.GetEnumerator">\r
1959             <summary>\r
1960             Create an enumerator for this tree\r
1961             </summary>\r
1962             <returns>The enumerator</returns>\r
1963         </member>\r
1964         <member name="M:C5.TreeBag`1.addIterative(`0,`0@,System.Boolean,System.Boolean@)">\r
1965             <summary>\r
1966             Add item to tree. If already there, return the found item in the second argument.\r
1967             </summary>\r
1968             <param name="item">Item to add</param>\r
1969             <param name="founditem">item found</param>\r
1970             <param name="update">whether item in node should be updated</param>\r
1971             <param name="wasfound">true if found in bag, false if not found or tre is a set</param>\r
1972             <returns>True if item was added</returns>\r
1973         </member>\r
1974         <member name="M:C5.TreeBag`1.Add(`0)">\r
1975             <summary>\r
1976             Add an item to this collection if possible. If this collection has set\r
1977             semantics, the item will be added if not already in the collection. If\r
1978             bag semantics, the item will always be added.\r
1979             </summary>\r
1980             <param name="item">The item to add.</param>\r
1981             <returns>True if item was added.</returns>\r
1982         </member>\r
1983         <member name="M:C5.TreeBag`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
1984             <summary>\r
1985             Add the elements from another collection to this collection. If this\r
1986             collection has set semantics, only items not already in the collection\r
1987             will be added.\r
1988             </summary>\r
1989             <param name="items">The items to add.</param>\r
1990         </member>\r
1991         <member name="M:C5.TreeBag`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
1992             <summary>\r
1993             Add the elements from another collection with a more specialized item type \r
1994             to this collection. If this\r
1995             collection has set semantics, only items not already in the collection\r
1996             will be added.\r
1997             </summary>\r
1998             <typeparam name="U">The type of items to add</typeparam>\r
1999             <param name="items">The items to add</param>\r
2000         </member>\r
2001         <member name="M:C5.TreeBag`1.AddSorted(System.Collections.Generic.IEnumerable{`0})">\r
2002             <summary>\r
2003             Add all the items from another collection with an enumeration order that \r
2004             is increasing in the items. <para>The idea is that the implementation may use\r
2005             a faster algorithm to merge the two collections.</para>\r
2006             <exception cref="T:System.ArgumentException"/> if the enumerated items turns out\r
2007             not to be in increasing order.\r
2008             </summary>\r
2009             <param name="items">The collection to add.</param>\r
2010         </member>\r
2011         <member name="M:C5.TreeBag`1.Contains(`0)">\r
2012             <summary>\r
2013             Check if this collection contains (an item equivalent to according to the\r
2014             itemhasher) a particular value.\r
2015             </summary>\r
2016             <param name="item">The value to check for.</param>\r
2017             <returns>True if the items is in this collection.</returns>\r
2018         </member>\r
2019         <member name="M:C5.TreeBag`1.Find(`0@)">\r
2020             <summary>\r
2021             Check if this collection contains an item equivalent according to the\r
2022             itemhasher to a particular value. If so, return in the ref argument (a\r
2023             binary copy of) the actual value found.\r
2024             </summary>\r
2025             <param name="item">The value to look for.</param>\r
2026             <returns>True if the items is in this collection.</returns>\r
2027         </member>\r
2028         <member name="M:C5.TreeBag`1.FindOrAdd(`0@)">\r
2029              <summary>\r
2030              Find or add the item to the tree. If the tree does not contain\r
2031              an item equivalent to this item add it, else return the exisiting\r
2032              one in the ref argument. \r
2033             \r
2034              </summary>\r
2035              <param name="item"></param>\r
2036              <returns>True if item was found</returns>\r
2037         </member>\r
2038         <member name="M:C5.TreeBag`1.Update(`0)">\r
2039             <summary>\r
2040             Check if this collection contains an item equivalent according to the\r
2041             itemhasher to a particular value. If so, update the item in the collection \r
2042             to with a binary copy of the supplied value. If the collection has bag semantics,\r
2043             this updates all equivalent copies in\r
2044             the collection.\r
2045             </summary>\r
2046             <param name="item">Value to update.</param>\r
2047             <returns>True if the item was found and hence updated.</returns>\r
2048         </member>\r
2049         <member name="M:C5.TreeBag`1.UpdateOrAdd(`0)">\r
2050              <summary>\r
2051              Check if this collection contains an item equivalent according to the\r
2052              itemhasher to a particular value. If so, update the item in the collection \r
2053              to with a binary copy of the supplied value; else add the value to the collection. \r
2054             \r
2055              <p>NOTE: the bag implementation is currently wrong!</p>\r
2056              </summary>\r
2057              <param name="item">Value to add or update.</param>\r
2058              <returns>True if the item was found and updated (hence not added).</returns>\r
2059         </member>\r
2060         <member name="M:C5.TreeBag`1.Remove(`0)">\r
2061             <summary>\r
2062             Remove a particular item from this collection. If the collection has bag\r
2063             semantics only one copy equivalent to the supplied item is removed. \r
2064             </summary>\r
2065             <param name="item">The value to remove.</param>\r
2066             <returns>True if the item was found (and removed).</returns>\r
2067         </member>\r
2068         <member name="M:C5.TreeBag`1.RemoveWithReturn(`0@)">\r
2069             <summary>\r
2070             Remove a particular item from this collection if found. If the collection\r
2071             has bag semantics only one copy equivalent to the supplied item is removed,\r
2072             which one is implementation dependent. \r
2073             If an item was removed, report a binary copy of the actual item removed in \r
2074             the argument.\r
2075             </summary>\r
2076             <param name="item">The value to remove on input.</param>\r
2077             <returns>True if the item was found (and removed).</returns>\r
2078         </member>\r
2079         <member name="M:C5.TreeBag`1.Clear">\r
2080             <summary>\r
2081             Remove all items from this collection.\r
2082             </summary>\r
2083         </member>\r
2084         <member name="M:C5.TreeBag`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
2085             <summary>\r
2086             Remove all items in another collection from this one. If this collection\r
2087             has bag semantics, take multiplicities into account.\r
2088             </summary>\r
2089             <param name="items">The items to remove.</param>\r
2090         </member>\r
2091         <member name="M:C5.TreeBag`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
2092             <summary>\r
2093             Remove all items not in some other collection from this one. If this collection\r
2094             has bag semantics, take multiplicities into account.\r
2095             </summary>\r
2096             <param name="items">The items to retain.</param>\r
2097         </member>\r
2098         <member name="M:C5.TreeBag`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
2099             <summary>\r
2100             Check if this collection contains all the values in another collection.\r
2101             If this collection has bag semantics (<code>NoDuplicates==false</code>)\r
2102             the check is made with respect to multiplicities, else multiplicities\r
2103             are not taken into account.\r
2104             </summary>\r
2105             <param name="items">The </param>\r
2106             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
2107         </member>\r
2108         <member name="M:C5.TreeBag`1.FindAll(C5.Filter{`0})">\r
2109             <summary>\r
2110             Create a new indexed sorted collection consisting of the items of this\r
2111             indexed sorted collection satisfying a certain predicate.\r
2112             </summary>\r
2113             <param name="filter">The filter delegate defining the predicate.</param>\r
2114             <returns>The new indexed sorted collection.</returns>\r
2115         </member>\r
2116         <member name="M:C5.TreeBag`1.Map``1(C5.Mapper{`0,``0},C5.IComparer{``0})">\r
2117             <summary>\r
2118             Create a new indexed sorted collection consisting of the results of\r
2119             mapping all items of this list.\r
2120             <exception cref="T:System.ArgumentException"/> if the map is not increasing over \r
2121             the items of this collection (with respect to the two given comparison \r
2122             relations).\r
2123             </summary>\r
2124             <param name="mapper">The delegate definging the map.</param>\r
2125             <param name="c">The comparion relation to use for the result.</param>\r
2126             <returns>The new sorted collection.</returns>\r
2127         </member>\r
2128         <member name="M:C5.TreeBag`1.ContainsCount(`0)">\r
2129             <summary>\r
2130             Count the number of items of the collection equal to a particular value.\r
2131             Returns 0 if and only if the value is not in the collection.\r
2132             </summary>\r
2133             <param name="item">The value to count.</param>\r
2134             <returns>The number of copies found.</returns>\r
2135         </member>\r
2136         <member name="M:C5.TreeBag`1.RemoveAllCopies(`0)">\r
2137             <summary>\r
2138             Remove all items equivalent to a given value.\r
2139             </summary>\r
2140             <param name="item">The value to remove.</param>\r
2141         </member>\r
2142         <member name="M:C5.TreeBag`1.IndexOf(`0)">\r
2143             <summary>\r
2144             Searches for an item in the list going forwrds from the start.\r
2145             </summary>\r
2146             <param name="item">Item to search for.</param>\r
2147             <returns>Index of item from start.</returns>\r
2148         </member>\r
2149         <member name="M:C5.TreeBag`1.LastIndexOf(`0)">\r
2150             <summary>\r
2151             Searches for an item in the list going backwords from the end.\r
2152             </summary>\r
2153             <param name="item">Item to search for.</param>\r
2154             <returns>Index of of item from the end.</returns>\r
2155         </member>\r
2156         <member name="M:C5.TreeBag`1.RemoveAt(System.Int32)">\r
2157             <summary>\r
2158             Remove the item at a specific position of the list.\r
2159             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
2160             &gt;= the size of the collection.\r
2161             </summary>\r
2162             <param name="i">The index of the item to remove.</param>\r
2163             <returns>The removed item.</returns>\r
2164         </member>\r
2165         <member name="M:C5.TreeBag`1.RemoveInterval(System.Int32,System.Int32)">\r
2166             <summary>\r
2167             Remove all items in an index interval.\r
2168             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
2169             </summary>\r
2170             <param name="start">The index of the first item to remove.</param>\r
2171             <param name="count">The number of items to remove.</param>\r
2172         </member>\r
2173         <member name="M:C5.TreeBag`1.Backwards">\r
2174             <summary>\r
2175             Create a collection containing the same items as this collection, but\r
2176             whose enumerator will enumerate the items backwards. The new collection\r
2177             will become invalid if the original is modified. Method typicaly used as in\r
2178             <code>foreach (T x in coll.Backwards()) {...}</code>\r
2179             </summary>\r
2180             <returns>The backwards collection.</returns>\r
2181         </member>\r
2182         <member name="M:C5.TreeBag`1.FindMin">\r
2183             <summary>\r
2184             Find the current least item of this priority queue.\r
2185             </summary>\r
2186             <returns>The least item.</returns>\r
2187         </member>\r
2188         <member name="M:C5.TreeBag`1.DeleteMin">\r
2189             <summary>\r
2190             Remove the least item from this  priority queue.\r
2191             </summary>\r
2192             <returns>The removed item.</returns>\r
2193         </member>\r
2194         <member name="M:C5.TreeBag`1.FindMax">\r
2195             <summary>\r
2196             Find the current largest item of this priority queue.\r
2197             </summary>\r
2198             <returns>The largest item.</returns>\r
2199         </member>\r
2200         <member name="M:C5.TreeBag`1.DeleteMax">\r
2201             <summary>\r
2202             Remove the largest item from this  priority queue.\r
2203             </summary>\r
2204             <returns>The removed item.</returns>\r
2205         </member>\r
2206         <member name="M:C5.TreeBag`1.Predecessor(`0)">\r
2207             <summary>\r
2208             Find the strict predecessor in the sorted collection of a particular value,\r
2209             i.e. the largest item in the collection less than the supplied value.\r
2210             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
2211             supplied  value is less than or equal to the minimum of this collection.)\r
2212             </summary>\r
2213             <param name="item">The item to find the predecessor for.</param>\r
2214             <returns>The predecessor.</returns>\r
2215         </member>\r
2216         <member name="M:C5.TreeBag`1.WeakPredecessor(`0)">\r
2217             <summary>\r
2218             Find the weak predecessor in the sorted collection of a particular value,\r
2219             i.e. the largest item in the collection less than or equal to the supplied value.\r
2220             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
2221             supplied  value is less than the minimum of this collection.)\r
2222             </summary>\r
2223             <param name="item">The item to find the weak predecessor for.</param>\r
2224             <returns>The weak predecessor.</returns>\r
2225         </member>\r
2226         <member name="M:C5.TreeBag`1.Successor(`0)">\r
2227             <summary>\r
2228             Find the strict successor in the sorted collection of a particular value,\r
2229             i.e. the least item in the collection greater than the supplied value.\r
2230             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
2231             supplied  value is greater than or equal to the maximum of this collection.)\r
2232             </summary>\r
2233             <param name="item">The item to find the successor for.</param>\r
2234             <returns>The successor.</returns>\r
2235         </member>\r
2236         <member name="M:C5.TreeBag`1.WeakSuccessor(`0)">\r
2237             <summary>\r
2238             Find the weak successor in the sorted collection of a particular value,\r
2239             i.e. the least item in the collection greater than or equal to the supplied value.\r
2240             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
2241             supplied  value is greater than the maximum of this collection.)\r
2242             </summary>\r
2243             <param name="item">The item to find the weak successor for.</param>\r
2244             <returns>The weak successor.</returns>\r
2245         </member>\r
2246         <member name="M:C5.TreeBag`1.RangeFrom(`0)">\r
2247             <summary>\r
2248             Query this sorted collection for items greater than or equal to a supplied value.\r
2249             </summary>\r
2250             <param name="bot">The lower bound (inclusive).</param>\r
2251             <returns>The result directed collection.</returns>\r
2252         </member>\r
2253         <member name="M:C5.TreeBag`1.RangeFromTo(`0,`0)">\r
2254             <summary>\r
2255             Query this sorted collection for items between two supplied values.\r
2256             </summary>\r
2257             <param name="bot">The lower bound (inclusive).</param>\r
2258             <param name="top">The upper bound (exclusive).</param>\r
2259             <returns>The result directed collection.</returns>\r
2260         </member>\r
2261         <member name="M:C5.TreeBag`1.RangeTo(`0)">\r
2262             <summary>\r
2263             Query this sorted collection for items less than a supplied value.\r
2264             </summary>\r
2265             <param name="top">The upper bound (exclusive).</param>\r
2266             <returns>The result directed collection.</returns>\r
2267         </member>\r
2268         <member name="M:C5.TreeBag`1.RangeAll">\r
2269             <summary>\r
2270             Create a directed collection with the same items as this collection.\r
2271             </summary>\r
2272             <returns>The result directed collection.</returns>\r
2273         </member>\r
2274         <member name="M:C5.TreeBag`1.Cut(System.IComparable{`0},`0@,System.Boolean@,`0@,System.Boolean@)">\r
2275             <summary>\r
2276             Perform a search in the sorted collection for the ranges in which a\r
2277             non-decreasing function from the item type to <code>int</code> is\r
2278             negative, zero respectively positive. If the supplied cut function is\r
2279             not non-decreasing, the result of this call is undefined.\r
2280             </summary>\r
2281             <param name="c">The cut function <code>T</code> to <code>int</code>, given\r
2282             as an <code>IComparable&lt;T&gt;</code> object, where the cut function is\r
2283             the <code>c.CompareTo(T that)</code> method.</param>\r
2284             <param name="low">Returns the largest item in the collection, where the\r
2285             cut function is negative (if any).</param>\r
2286             <param name="lowIsValid">True if the cut function is negative somewhere\r
2287             on this collection.</param>\r
2288             <param name="high">Returns the least item in the collection, where the\r
2289             cut function is positive (if any).</param>\r
2290             <param name="highIsValid">True if the cut function is positive somewhere\r
2291             on this collection.</param>\r
2292             <returns></returns>\r
2293         </member>\r
2294         <member name="M:C5.TreeBag`1.CountFrom(`0)">\r
2295             <summary>\r
2296             Determine the number of items at or above a supplied threshold.\r
2297             </summary>\r
2298             <param name="bot">The lower bound (inclusive)</param>\r
2299             <returns>The number of matcing items.</returns>\r
2300         </member>\r
2301         <member name="M:C5.TreeBag`1.CountFromTo(`0,`0)">\r
2302             <summary>\r
2303             Determine the number of items between two supplied thresholds.\r
2304             </summary>\r
2305             <param name="bot">The lower bound (inclusive)</param>\r
2306             <param name="top">The upper bound (exclusive)</param>\r
2307             <returns>The number of matcing items.</returns>\r
2308         </member>\r
2309         <member name="M:C5.TreeBag`1.CountTo(`0)">\r
2310             <summary>\r
2311             Determine the number of items below a supplied threshold.\r
2312             </summary>\r
2313             <param name="top">The upper bound (exclusive)</param>\r
2314             <returns>The number of matcing items.</returns>\r
2315         </member>\r
2316         <member name="M:C5.TreeBag`1.RemoveRangeFrom(`0)">\r
2317             <summary>\r
2318             Remove all items of this collection above or at a supplied threshold.\r
2319             </summary>\r
2320             <param name="low">The lower threshold (inclusive).</param>\r
2321         </member>\r
2322         <member name="M:C5.TreeBag`1.RemoveRangeFromTo(`0,`0)">\r
2323             <summary>\r
2324             Remove all items of this collection between two supplied thresholds.\r
2325             </summary>\r
2326             <param name="low">The lower threshold (inclusive).</param>\r
2327             <param name="hi">The upper threshold (exclusive).</param>\r
2328         </member>\r
2329         <member name="M:C5.TreeBag`1.RemoveRangeTo(`0)">\r
2330             <summary>\r
2331             Remove all items of this collection below a supplied threshold.\r
2332             </summary>\r
2333             <param name="hi">The upper threshold (exclusive).</param>\r
2334         </member>\r
2335         <member name="M:C5.TreeBag`1.Dispose">\r
2336             <summary>\r
2337             If this tree is a snapshot, remove registration in base tree\r
2338             </summary>\r
2339         </member>\r
2340         <member name="M:C5.TreeBag`1.Finalize">\r
2341             <summary>\r
2342             If this tree is a snapshot, remove registration in base tree\r
2343             </summary>\r
2344         </member>\r
2345         <member name="M:C5.TreeBag`1.Snapshot">\r
2346             <summary>\r
2347             Make a (read-only) snap shot of this collection.\r
2348             </summary>\r
2349             <returns>The snap shot.</returns>\r
2350         </member>\r
2351         <member name="M:C5.TreeBag`1.minidump(C5.TreeBag{`0}.Node,System.String)">\r
2352             <summary>\r
2353             Display this node on the console, and recursively its subnodes.\r
2354             </summary>\r
2355             <param name="n">Node to display</param>\r
2356             <param name="space">Indentation</param>\r
2357         </member>\r
2358         <member name="M:C5.TreeBag`1.dump">\r
2359             <summary>\r
2360             Print the tree structure to the console stdout.\r
2361             </summary>\r
2362         </member>\r
2363         <member name="M:C5.TreeBag`1.dump(System.String)">\r
2364             <summary>\r
2365             Print the tree structure to the console stdout.\r
2366             </summary>\r
2367         </member>\r
2368         <member name="M:C5.TreeBag`1.dump(System.String,System.String)">\r
2369             <summary>\r
2370             Display this tree on the console.\r
2371             </summary>\r
2372             <param name="msg">Identifying string of this call to dump</param>\r
2373             <param name="err">Extra (error)message to include</param>\r
2374         </member>\r
2375         <member name="M:C5.TreeBag`1.massert(System.Boolean,C5.TreeBag{`0}.Node,System.String,System.IO.TextWriter)">\r
2376             <summary>\r
2377             Print warning m on o if b is false.\r
2378             </summary>\r
2379             <param name="b">Condition that should hold</param>\r
2380             <param name="n">Place (used for id display)</param>\r
2381             <param name="m">Message</param>\r
2382             <param name="o">Output stream</param>\r
2383             <returns>b</returns>\r
2384         </member>\r
2385         <member name="M:C5.TreeBag`1.Check(System.String)">\r
2386             <summary>\r
2387             Checks red-black invariant. Dumps tree to console if bad\r
2388             </summary>\r
2389             <param name="name">Title of dump</param>\r
2390             <returns>false if invariant violation</returns>\r
2391         </member>\r
2392         <member name="M:C5.TreeBag`1.Check">\r
2393             <summary>\r
2394             Checks red-black invariant. Dumps tree to console if bad\r
2395             </summary>\r
2396             <returns>false if invariant violation</returns>\r
2397         </member>\r
2398         <member name="P:C5.TreeBag`1.Features">\r
2399             <summary>\r
2400             A debugging aid for making the selected compilation alternatives \r
2401             available to the user. (To be removed when selection is finally fixed\r
2402             for production version).\r
2403             </summary>\r
2404         </member>\r
2405         <member name="P:C5.TreeBag`1.AllowsDuplicates">\r
2406             <summary></summary>\r
2407             <value>True since this collection has bag semantics.</value>\r
2408         </member>\r
2409         <member name="P:C5.TreeBag`1.ContainsSpeed">\r
2410             <summary>\r
2411             The value is symbolic indicating the type of asymptotic complexity\r
2412             in terms of the size of this collection (worst-case or amortized as\r
2413             relevant).\r
2414             </summary>\r
2415             <value>Speed.Log</value>\r
2416         </member>\r
2417         <member name="P:C5.TreeBag`1.Item(System.Int32)">\r
2418             <summary>\r
2419             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
2420             &gt;= the size of the collection.\r
2421             </summary>\r
2422             <value>The i'th item of this list.</value>\r
2423             <param name="i">the index to lookup</param>\r
2424         </member>\r
2425         <member name="P:C5.TreeBag`1.Item(System.Int32,System.Int32)">\r
2426             <summary>\r
2427             <exception cref="T:System.IndexOutOfRangeException"/>.\r
2428             </summary>\r
2429             <value>The directed collection of items in a specific index interval.</value>\r
2430             <param name="start">The low index of the interval (inclusive).</param>\r
2431             <param name="end">The high index of the interval (exclusive).</param>\r
2432         </member>\r
2433         <member name="P:C5.TreeBag`1.Comparer">\r
2434             <summary>\r
2435             The comparer object supplied at creation time for this collection\r
2436             </summary>\r
2437             <value>The comparer</value>\r
2438         </member>\r
2439         <member name="T:C5.TreeBag`1.Feature">\r
2440             <summary>\r
2441             A debugging aid for making the selected compilation alternatives \r
2442             available to the user. (To be removed when selection is finally fixed\r
2443             for production version).\r
2444             </summary>\r
2445         </member>\r
2446         <member name="F:C5.TreeBag`1.Feature.Dummy">\r
2447             <summary>\r
2448             Nothing\r
2449             </summary>\r
2450         </member>\r
2451         <member name="F:C5.TreeBag`1.Feature.NodeCopyPersistence">\r
2452             <summary>\r
2453             Node copy persistence as explained in <a href="litterature.htm#Tarjan1">Tarjan1</a>\r
2454             </summary>\r
2455         </member>\r
2456         <member name="F:C5.TreeBag`1.Feature.Sizes">\r
2457             <summary>\r
2458             Maintain sub tree sizes\r
2459             </summary>\r
2460         </member>\r
2461         <member name="F:C5.TreeBag`1.Feature.Heights">\r
2462             <summary>\r
2463             Maintain precise node heights\r
2464             </summary>\r
2465         </member>\r
2466         <member name="F:C5.TreeBag`1.Feature.Ranks">\r
2467             <summary>\r
2468             Maintain node ranks (~ black height)\r
2469             </summary>\r
2470         </member>\r
2471         <member name="F:C5.TreeBag`1.Feature.Traceid">\r
2472             <summary>\r
2473             Maintain unique ids on tree nodes.\r
2474             </summary>\r
2475         </member>\r
2476         <member name="T:C5.TreeBag`1.Node">\r
2477             <summary>\r
2478             The type of node in a Red-Black binary tree\r
2479             </summary>\r
2480         </member>\r
2481         <member name="M:C5.TreeBag`1.Node.update(C5.TreeBag{`0}.Node@,System.Boolean,C5.TreeBag{`0}.Node,System.Int32,System.Int32)">\r
2482             <summary>\r
2483             Update a child pointer\r
2484             </summary>\r
2485             <param name="cursor"></param>\r
2486             <param name="leftnode"></param>\r
2487             <param name="child"></param>\r
2488             <param name="maxsnapid"></param>\r
2489             <param name="generation"></param>\r
2490             <returns>True if node was *copied*</returns>\r
2491         </member>\r
2492         <member name="T:C5.TreeBag`1.Enumerator">\r
2493             <summary>\r
2494             An enumerator for a red-black tree collection. Based on an explicit stack\r
2495             of subtrees waiting to be enumerated. Currently only used for the tree set \r
2496             enumerators (tree bag enumerators use an iterator block based enumerator).\r
2497             </summary>\r
2498         </member>\r
2499         <member name="M:C5.TreeBag`1.Enumerator.#ctor(C5.TreeBag{`0})">\r
2500             <summary>\r
2501             Create a tree enumerator\r
2502             </summary>\r
2503             <param name="tree">The red-black tree to enumerate</param>\r
2504         </member>\r
2505         <member name="M:C5.TreeBag`1.Enumerator.MoveNext">\r
2506             <summary>\r
2507             Move enumerator to next item in tree, or the first item if\r
2508             this is the first call to MoveNext. \r
2509             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
2510             </summary>\r
2511             <returns>True if enumerator is valid now</returns>\r
2512         </member>\r
2513         <member name="M:C5.TreeBag`1.Enumerator.Dispose">\r
2514             <summary>\r
2515             Call Dispose(true) and then suppress finalization of this enumerator.\r
2516             </summary>\r
2517         </member>\r
2518         <member name="M:C5.TreeBag`1.Enumerator.Dispose(System.Boolean)">\r
2519             <summary>\r
2520             Remove the internal data (notably the stack array).\r
2521             </summary>\r
2522             <param name="disposing">True if called from Dispose(),\r
2523             false if called from the finalizer</param>\r
2524         </member>\r
2525         <member name="M:C5.TreeBag`1.Enumerator.Finalize">\r
2526             <summary>\r
2527             Finalizer for enumeratir\r
2528             </summary>\r
2529         </member>\r
2530         <member name="P:C5.TreeBag`1.Enumerator.Current">\r
2531             <summary>\r
2532             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
2533             </summary>\r
2534             <value>The current item of the enumerator.</value>\r
2535         </member>\r
2536         <member name="T:C5.TreeBag`1.SnapEnumerator">\r
2537             <summary>\r
2538             An enumerator for a snapshot of a node copy persistent red-black tree\r
2539             collection.\r
2540             </summary>\r
2541         </member>\r
2542         <member name="M:C5.TreeBag`1.SnapEnumerator.#ctor(C5.TreeBag{`0})">\r
2543             <summary>\r
2544             Creta an enumerator for a snapshot of a node copy persistent red-black tree\r
2545             collection\r
2546             </summary>\r
2547             <param name="tree">The snapshot</param>\r
2548         </member>\r
2549         <member name="M:C5.TreeBag`1.SnapEnumerator.MoveNext">\r
2550             <summary>\r
2551             Move enumerator to next item in tree, or the first item if\r
2552             this is the first call to MoveNext. \r
2553             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
2554             </summary>\r
2555             <returns>True if enumerator is valid now</returns>\r
2556         </member>\r
2557         <member name="P:C5.TreeBag`1.SnapEnumerator.Current">\r
2558             <summary>\r
2559             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
2560             </summary>\r
2561             <value>The current value of the enumerator.</value>\r
2562         </member>\r
2563         <member name="M:C5.TreeBag`1.Range.Enumerator.MoveNext">\r
2564             <summary>\r
2565             Move enumerator to next item in tree, or the first item if\r
2566             this is the first call to MoveNext. \r
2567             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
2568             </summary>\r
2569             <returns>True if enumerator is valid now</returns>\r
2570         </member>\r
2571         <member name="P:C5.TreeBag`1.Range.Enumerator.Current">\r
2572             <summary>\r
2573             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
2574             </summary>\r
2575             <value>The current value of the enumerator.</value>\r
2576         </member>\r
2577         <member name="T:C5.TreeDictionary`2">\r
2578             <summary>\r
2579             A sorted generic dictionary based on a red-black tree set.\r
2580             </summary>\r
2581         </member>\r
2582         <member name="T:C5.DictionaryBase`2">\r
2583             <summary>\r
2584             A base class for implementing a dictionary based on a set collection implementation.\r
2585             <p>See the source code for <see cref="T:C5.HashDictionary!2"/> for an example</p>\r
2586             \r
2587             </summary>\r
2588         </member>\r
2589         <member name="F:C5.DictionaryBase`2.pairs">\r
2590             <summary>\r
2591             The set collection of entries underlying this dictionary implementation\r
2592             </summary>\r
2593         </member>\r
2594         <member name="M:C5.DictionaryBase`2.Add(`0,`1)">\r
2595             <summary>\r
2596             Add a new (key, value) pair (a mapping) to the dictionary.\r
2597             <exception cref="T:System.InvalidOperationException"/> if there already is an entry with the same key. \r
2598             </summary>\r
2599             <param name="key">Key to add</param>\r
2600             <param name="val">Value to add</param>\r
2601         </member>\r
2602         <member name="M:C5.DictionaryBase`2.Remove(`0)">\r
2603             <summary>\r
2604             Remove an entry with a given key from the dictionary\r
2605             </summary>\r
2606             <param name="key">The key of the entry to remove</param>\r
2607             <returns>True if an entry was found (and removed)</returns>\r
2608         </member>\r
2609         <member name="M:C5.DictionaryBase`2.Remove(`0,`1@)">\r
2610             <summary>\r
2611             Remove an entry with a given key from the dictionary and report its value.\r
2612             </summary>\r
2613             <param name="key">The key of the entry to remove</param>\r
2614             <param name="val">On exit, the value of the removed entry</param>\r
2615             <returns>True if an entry was found (and removed)</returns>\r
2616         </member>\r
2617         <member name="M:C5.DictionaryBase`2.Clear">\r
2618             <summary>\r
2619             Remove all entries from the dictionary\r
2620             </summary>\r
2621         </member>\r
2622         <member name="M:C5.DictionaryBase`2.Contains(`0)">\r
2623             <summary>\r
2624             Check if there is an entry with a specified key\r
2625             </summary>\r
2626             <param name="key">The key to look for</param>\r
2627             <returns>True if key was found</returns>\r
2628         </member>\r
2629         <member name="M:C5.DictionaryBase`2.Find(`0,`1@)">\r
2630             <summary>\r
2631             Check if there is an entry with a specified key and report the corresponding\r
2632             value if found. This can be seen as a safe form of "val = this[key]".\r
2633             </summary>\r
2634             <param name="key">The key to look for</param>\r
2635             <param name="val">On exit, the value of the entry</param>\r
2636             <returns>True if key was found</returns>\r
2637         </member>\r
2638         <member name="M:C5.DictionaryBase`2.Update(`0,`1)">\r
2639             <summary>\r
2640             Look for a specific key in the dictionary and if found replace the value with a new one.\r
2641             This can be seen as a non-adding version of "this[key] = val".\r
2642             </summary>\r
2643             <param name="key">The key to look for</param>\r
2644             <param name="val">The new value</param>\r
2645             <returns>True if key was found</returns>\r
2646         </member>\r
2647         <member name="M:C5.DictionaryBase`2.FindOrAdd(`0,`1@)">\r
2648             <summary>\r
2649             Look for a specific key in the dictionary. If found, report the corresponding value,\r
2650             else add an entry with the key and the supplied value.\r
2651             </summary>\r
2652             <param name="key">The key to look for</param>\r
2653             <param name="val">On entry the value to add if the key is not found.\r
2654             On exit the value found if any.</param>\r
2655             <returns>True if key was found</returns>\r
2656         </member>\r
2657         <member name="M:C5.DictionaryBase`2.UpdateOrAdd(`0,`1)">\r
2658             <summary>\r
2659             Update value in dictionary corresponding to key if found, else add new entry.\r
2660             More general than "this[key] = val;" by reporting if key was found.\r
2661             </summary>\r
2662             <param name="key">The key to look for</param>\r
2663             <param name="val">The value to add or replace with.</param>\r
2664             <returns>True if entry was updated.</returns>\r
2665         </member>\r
2666         <member name="M:C5.DictionaryBase`2.Check">\r
2667             <summary>\r
2668             Check the integrity of the internal data structures of this dictionary.\r
2669             Only avaliable in DEBUG builds???\r
2670             </summary>\r
2671             <returns>True if check does not fail.</returns>\r
2672         </member>\r
2673         <member name="M:C5.DictionaryBase`2.GetEnumerator">\r
2674             <summary>\r
2675             Create an enumerator for the collection of entries of the dictionary\r
2676             </summary>\r
2677             <returns>The enumerator</returns>\r
2678         </member>\r
2679         <member name="P:C5.DictionaryBase`2.Count">\r
2680             <summary>\r
2681             \r
2682             </summary>\r
2683             <value>The number of entrues in the dictionary</value>\r
2684         </member>\r
2685         <member name="P:C5.DictionaryBase`2.SyncRoot">\r
2686             <summary>\r
2687             \r
2688             </summary>\r
2689             <value>A distinguished object to use for locking to synchronize multithreaded access</value>\r
2690         </member>\r
2691         <member name="P:C5.DictionaryBase`2.Keys">\r
2692             <summary>\r
2693             \r
2694             </summary>\r
2695             <value>A collection containg the all the keys of the dictionary</value>\r
2696         </member>\r
2697         <member name="P:C5.DictionaryBase`2.Values">\r
2698             <summary>\r
2699             \r
2700             </summary>\r
2701             <value>A collection containing all the values of the dictionary</value>\r
2702         </member>\r
2703         <member name="P:C5.DictionaryBase`2.Item(`0)">\r
2704             <summary>\r
2705             Indexer for dictionary.\r
2706             <exception cref="T:System.InvalidOperationException"/> if no entry is found. \r
2707             </summary>\r
2708             <value>The value corresponding to the key</value>\r
2709         </member>\r
2710         <member name="P:C5.DictionaryBase`2.IsReadOnly">\r
2711             <summary>\r
2712             \r
2713             </summary>\r
2714             <value>True if dictionary is read  only</value>\r
2715         </member>\r
2716         <member name="M:C5.TreeDictionary`2.#ctor">\r
2717             <summary>\r
2718             Create a red-black tree dictionary using the natural comparer for keys.\r
2719             <exception cref="T:System.ArgumentException"/> if the key type K is not comparable.\r
2720             </summary>\r
2721         </member>\r
2722         <member name="M:C5.TreeDictionary`2.#ctor(C5.IComparer{`0})">\r
2723             <summary>\r
2724             Create a red-black tree dictionary using an external comparer for keys.\r
2725             </summary>\r
2726             <param name="c">The external comparer</param>\r
2727         </member>\r
2728         <member name="M:C5.TreeDictionary`2.Predecessor(`0)">\r
2729             <summary>\r
2730             Get the entry in the dictionary whose key is the\r
2731             predecessor of a specified key.\r
2732             </summary>\r
2733             <param name="key">The key</param>\r
2734             <returns>The entry</returns>\r
2735         </member>\r
2736         <member name="M:C5.TreeDictionary`2.WeakPredecessor(`0)">\r
2737             <summary>\r
2738             Get the entry in the dictionary whose key is the\r
2739             weak predecessor of a specified key.\r
2740             </summary>\r
2741             <param name="key">The key</param>\r
2742             <returns>The entry</returns>\r
2743         </member>\r
2744         <member name="M:C5.TreeDictionary`2.Successor(`0)">\r
2745             <summary>\r
2746             Get the entry in the dictionary whose key is the\r
2747             successor of a specified key.\r
2748             </summary>\r
2749             <param name="key">The key</param>\r
2750             <returns>The entry</returns>\r
2751         </member>\r
2752         <member name="M:C5.TreeDictionary`2.WeakSuccessor(`0)">\r
2753             <summary>\r
2754             Get the entry in the dictionary whose key is the\r
2755             weak successor of a specified key.\r
2756             </summary>\r
2757             <param name="key">The key</param>\r
2758             <returns>The entry</returns>\r
2759         </member>\r
2760         <member name="M:C5.TreeDictionary`2.Snapshot">\r
2761             <summary>\r
2762             Make a snapshot of the current state of this dictionary\r
2763             </summary>\r
2764             <returns>The snapshot</returns>\r
2765         </member>\r
2766         <member name="T:C5.HashedLinkedList`1">\r
2767             <summary>\r
2768             A list collection based on a doubly linked list data structure with \r
2769             a hash index mapping item to node.\r
2770             </summary>\r
2771         </member>\r
2772         <member name="T:C5.LinkedList`1">\r
2773             <summary>\r
2774             A list collection class based on a doubly linked list data structure.\r
2775             </summary>\r
2776         </member>\r
2777         <member name="F:C5.LinkedList`1.fIFO">\r
2778             <summary>\r
2779             IExtensible.Add(T) always does AddLast(T), fIFO determines \r
2780             if T Remove() does RemoveFirst() or RemoveLast()\r
2781             </summary>\r
2782         </member>\r
2783         <member name="F:C5.LinkedList`1.maintaintags">\r
2784             <summary>\r
2785             True if we maintain tags for node ordering (false for plain linked list, true for hashed linked list).\r
2786             </summary>\r
2787         </member>\r
2788         <member name="F:C5.LinkedList`1.startsentinel">\r
2789             <summary>\r
2790             Node to the left of first node \r
2791             </summary>\r
2792         </member>\r
2793         <member name="F:C5.LinkedList`1.endsentinel">\r
2794             <summary>\r
2795             Node to the right of last node\r
2796             </summary>\r
2797         </member>\r
2798         <member name="F:C5.LinkedList`1.offset">\r
2799             <summary>\r
2800             Offset of this view in underlying list\r
2801             </summary>\r
2802         </member>\r
2803         <member name="F:C5.LinkedList`1.underlying">\r
2804             <summary>\r
2805             underlying list of theis view (or null)\r
2806             </summary>\r
2807         </member>\r
2808         <member name="M:C5.LinkedList`1.updatecheck">\r
2809             <summary>\r
2810             Check if it is valid to perform updates and increment stamp.\r
2811             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
2812             <br/>This method should be called at the start of any public modifying methods.\r
2813             </summary>\r
2814         </member>\r
2815         <member name="M:C5.LinkedList`1.modifycheck">\r
2816             <summary>\r
2817             Check if we are a view that the underlyinglist has only been updated through us.\r
2818             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
2819             <br/>\r
2820             This method should be called from enumerators etc to guard against \r
2821             modification of the base collection.\r
2822             </summary>\r
2823         </member>\r
2824         <member name="M:C5.LinkedList`1.modifycheck(System.Int32)">\r
2825             <summary>\r
2826             Check that the list has not been updated since a particular time.\r
2827             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
2828             </summary>\r
2829             <param name="stamp">The stamp indicating the time.</param>\r
2830         </member>\r
2831         <member name="M:C5.LinkedList`1.insertNode(C5.LinkedList{`0}.Node,C5.LinkedList{`0}.Node)">\r
2832             <summary>\r
2833             Insert a Node before another one. Unchecked internal version.\r
2834             </summary>\r
2835             <param name="succ">The successor to be</param>\r
2836             <param name="newnode">Node to insert</param>\r
2837         </member>\r
2838         <member name="M:C5.LinkedList`1.remove(C5.LinkedList{`0}.Node)">\r
2839             <summary>\r
2840             Remove a node. Unchecked internal version.\r
2841             </summary>\r
2842             <param name="node">Node to remove</param>\r
2843             <returns>The item of the removed node</returns>\r
2844         </member>\r
2845         <member name="M:C5.LinkedList`1.gettaggroup(C5.LinkedList{`0}.Node,C5.LinkedList{`0}.Node,System.Int32@,System.Int32@)">\r
2846             <summary>\r
2847             \r
2848             </summary>\r
2849             <param name="pred"></param>\r
2850             <param name="succ"></param>\r
2851             <param name="lowbound"></param>\r
2852             <param name="highbound"></param>\r
2853             <returns></returns>\r
2854         </member>\r
2855         <member name="M:C5.LinkedList`1.settag(C5.LinkedList{`0}.Node)">\r
2856             <summary>\r
2857             Put a tag on a node (already inserted in the list). Split taggroups and renumber as \r
2858             necessary.\r
2859             </summary>\r
2860             <param name="node">The node to tag</param>\r
2861         </member>\r
2862         <member name="M:C5.LinkedList`1.removefromtaggroup(C5.LinkedList{`0}.Node)">\r
2863             <summary>\r
2864             Remove a node from its taggroup.\r
2865             <br/> When this is called, node must already have been removed from the underlying list\r
2866             </summary>\r
2867             <param name="node">The node to remove</param>\r
2868         </member>\r
2869         <member name="M:C5.LinkedList`1.splittaggroup(C5.LinkedList{`0}.TagGroup)">\r
2870             <summary>\r
2871             Split a tag group to make rom for more tags.\r
2872             </summary>\r
2873             <param name="taggroup">The tag group</param>\r
2874         </member>\r
2875         <member name="M:C5.LinkedList`1.#ctor(C5.IHasher{`0})">\r
2876             <summary>\r
2877             Create a linked list with en external item hasher\r
2878             </summary>\r
2879             <param name="itemhasher">The external hasher</param>\r
2880         </member>\r
2881         <member name="M:C5.LinkedList`1.#ctor">\r
2882             <summary>\r
2883             Create a linked list with the nmatural item hasher\r
2884             </summary>\r
2885         </member>\r
2886         <member name="M:C5.LinkedList`1.get(System.Int32)">\r
2887             <summary>\r
2888             Return the node at position n\r
2889             </summary>\r
2890             <param name="n"></param>\r
2891             <returns></returns>\r
2892         </member>\r
2893         <member name="M:C5.LinkedList`1.Insert(System.Int32,`0)">\r
2894             <summary>\r
2895             Insert an item at a specific index location in this list. \r
2896             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
2897             &gt; the size of the collection.</summary>\r
2898             <param name="i">The index at which to insert.</param>\r
2899             <param name="item">The item to insert.</param>\r
2900         </member>\r
2901         <member name="M:C5.LinkedList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
2902             <summary>\r
2903             Insert into this list all items from an enumerable collection starting \r
2904             at a particular index.\r
2905             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
2906             &gt; the size of the collection.\r
2907             </summary>\r
2908             <param name="i">Index to start inserting at</param>\r
2909             <param name="items">Items to insert</param>\r
2910         </member>\r
2911         <member name="M:C5.LinkedList`1.InsertBefore(`0,`0)">\r
2912             <summary>\r
2913             Insert an item right before the first occurrence of some target item.\r
2914             <exception cref="T:System.ArgumentException"/> if target    is not found\r
2915             </summary>\r
2916             <param name="item">The item to insert.</param>\r
2917             <param name="target">The target before which to insert.</param>\r
2918         </member>\r
2919         <member name="M:C5.LinkedList`1.InsertAfter(`0,`0)">\r
2920             <summary>\r
2921             Insert an item right after the last(???) occurrence of some target item.\r
2922             <exception cref="T:System.ArgumentException"/> if target    is not found\r
2923             </summary>\r
2924             <param name="item">The item to insert.</param>\r
2925             <param name="target">The target after which to insert.</param>\r
2926         </member>\r
2927         <member name="M:C5.LinkedList`1.InsertFirst(`0)">\r
2928             <summary>\r
2929             Insert an item at the front of this list.\r
2930             </summary>\r
2931             <param name="item">The item to insert.</param>\r
2932         </member>\r
2933         <member name="M:C5.LinkedList`1.InsertLast(`0)">\r
2934             <summary>\r
2935             Insert an item at the back of this list.\r
2936             </summary>\r
2937             <param name="item">The item to insert.</param>\r
2938         </member>\r
2939         <member name="M:C5.LinkedList`1.Map``1(C5.Mapper{`0,``0})">\r
2940             <summary>\r
2941             Create a new list consisting of the results of mapping all items of this\r
2942             list.\r
2943             </summary>\r
2944             <param name="mapper">The delegate definging the map.</param>\r
2945             <returns>The new list.</returns>\r
2946         </member>\r
2947         <member name="M:C5.LinkedList`1.Map``1(C5.Mapper{`0,``0},C5.IHasher{``0})">\r
2948             <summary>\r
2949             Create a new list consisting of the results of mapping all items of this\r
2950             list. The new list will use a specified hasher for the item type.\r
2951             </summary>\r
2952             <typeparam name="V">The type of items of the new list</typeparam>\r
2953             <param name="mapper">The delegate defining the map.</param>\r
2954             <param name="hasher">The hasher to use for the new list</param>\r
2955             <returns>The new list.</returns>\r
2956         </member>\r
2957         <member name="M:C5.LinkedList`1.Remove">\r
2958             <summary>\r
2959             Remove one item from the list: from the front if <code>FIFO</code>\r
2960             is true, else from the back.\r
2961             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
2962             </summary>\r
2963             <returns>The removed item.</returns>\r
2964         </member>\r
2965         <member name="M:C5.LinkedList`1.RemoveFirst">\r
2966             <summary>\r
2967             Remove one item from the front of the list.\r
2968             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
2969             </summary>\r
2970             <returns>The removed item.</returns>\r
2971         </member>\r
2972         <member name="M:C5.LinkedList`1.RemoveLast">\r
2973             <summary>\r
2974             Remove one item from the back of the list.\r
2975             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
2976             </summary>\r
2977             <returns>The removed item.</returns>\r
2978         </member>\r
2979         <member name="M:C5.LinkedList`1.View(System.Int32,System.Int32)">\r
2980             <summary>\r
2981             Create a list view on this list. \r
2982             <exception cref="T:System.ArgumentOutOfRangeException"/> if the start or count is negative\r
2983             <exception cref="T:System.ArgumentException"/> if the range does not fit within list.\r
2984             </summary>\r
2985             <param name="start">The index in this list of the start of the view.</param>\r
2986             <param name="count">The size of the view.</param>\r
2987             <returns>The new list view.</returns>\r
2988         </member>\r
2989         <member name="M:C5.LinkedList`1.Slide(System.Int32)">\r
2990             <summary>\r
2991             Slide this list view along the underlying list.\r
2992             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
2993             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
2994             would bring either end of the view outside the underlying list.\r
2995             </summary>\r
2996             <param name="offset">The signed amount to slide: positive to slide\r
2997             towards the end.</param>\r
2998         </member>\r
2999         <member name="M:C5.LinkedList`1.Slide(System.Int32,System.Int32)">\r
3000             <summary>\r
3001             Slide this list view along the underlying list, changing its size.\r
3002             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
3003             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
3004             would bring either end of the view outside the underlying list.\r
3005             </summary>\r
3006             <param name="offset">The signed amount to slide: positive to slide\r
3007             towards the end.</param>\r
3008             <param name="size">The new size of the view.</param>\r
3009         </member>\r
3010         <member name="M:C5.LinkedList`1.Reverse">\r
3011             <summary>\r
3012             Reverse the list so the items are in the opposite sequence order.\r
3013             </summary>\r
3014         </member>\r
3015         <member name="M:C5.LinkedList`1.Reverse(System.Int32,System.Int32)">\r
3016             <summary>\r
3017             Reverst part of the list so the items are in the opposite sequence order.\r
3018             <exception cref="T:System.ArgumentException"/> if the count is negative.\r
3019             <exception cref="T:System.ArgumentOutOfRangeException"/> if the part does not fit\r
3020             into the list.\r
3021             </summary>\r
3022             <param name="start">The index of the start of the part to reverse.</param>\r
3023             <param name="count">The size of the part to reverse.</param>\r
3024         </member>\r
3025         <member name="M:C5.LinkedList`1.IsSorted(C5.IComparer{`0})">\r
3026             <summary>\r
3027             Check if this list is sorted according to a specific sorting order.\r
3028             </summary>\r
3029             <param name="c">The comparer defining the sorting order.</param>\r
3030             <returns>True if the list is sorted, else false.</returns>\r
3031         </member>\r
3032         <member name="M:C5.LinkedList`1.Sort(C5.IComparer{`0})">\r
3033             <summary>\r
3034             Sort the items of the list according to a specific sorting order.\r
3035             The sorting is stable.\r
3036             </summary>\r
3037             <param name="c">The comparer defining the sorting order.</param>\r
3038         </member>\r
3039         <member name="M:C5.LinkedList`1.Shuffle">\r
3040             <summary>\r
3041             Randonmly shuffle the items of this list. \r
3042             </summary>\r
3043         </member>\r
3044         <member name="M:C5.LinkedList`1.Shuffle(System.Random)">\r
3045             <summary>\r
3046             Shuffle the items of this list according to a specific random source.\r
3047             </summary>\r
3048             <param name="rnd">The random source.</param>\r
3049         </member>\r
3050         <member name="M:C5.LinkedList`1.IndexOf(`0)">\r
3051             <summary>\r
3052             Searches for an item in the list going forwrds from the start.\r
3053             </summary>\r
3054             <param name="item">Item to search for.</param>\r
3055             <returns>Index of item from start.</returns>\r
3056         </member>\r
3057         <member name="M:C5.LinkedList`1.LastIndexOf(`0)">\r
3058             <summary>\r
3059             Searches for an item in the list going backwords from the end.\r
3060             </summary>\r
3061             <param name="item">Item to search for.</param>\r
3062             <returns>Index of of item from the end.</returns>\r
3063         </member>\r
3064         <member name="M:C5.LinkedList`1.RemoveAt(System.Int32)">\r
3065             <summary>\r
3066             Remove the item at a specific position of the list.\r
3067             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3068             &gt;= the size of the collection.\r
3069             </summary>\r
3070             <param name="i">The index of the item to remove.</param>\r
3071             <returns>The removed item.</returns>\r
3072         </member>\r
3073         <member name="M:C5.LinkedList`1.RemoveInterval(System.Int32,System.Int32)">\r
3074             <summary>\r
3075             Remove all items in an index interval.\r
3076             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
3077             </summary>\r
3078             <param name="start">The index of the first item to remove.</param>\r
3079             <param name="count">The number of items to remove.</param>\r
3080         </member>\r
3081         <member name="M:C5.LinkedList`1.Backwards">\r
3082             <summary>\r
3083             Create a collection containing the same items as this collection, but\r
3084             whose enumerator will enumerate the items backwards. The new collection\r
3085             will become invalid if the original is modified. Method typicaly used as in\r
3086             <code>foreach (T x in coll.Backwards()) {...}</code>\r
3087             </summary>\r
3088             <returns>The backwards collection.</returns>\r
3089         </member>\r
3090         <member name="M:C5.LinkedList`1.Contains(`0)">\r
3091             <summary>\r
3092             Check if this collection contains (an item equivalent to according to the\r
3093             itemhasher) a particular value.\r
3094             </summary>\r
3095             <param name="item">The value to check for.</param>\r
3096             <returns>True if the items is in this collection.</returns>\r
3097         </member>\r
3098         <member name="M:C5.LinkedList`1.Find(`0@)">\r
3099             <summary>\r
3100             Check if this collection contains an item equivalent according to the\r
3101             itemhasher to a particular value. If so, return in the ref argument (a\r
3102             binary copy of) the actual value found.\r
3103             </summary>\r
3104             <param name="item">The value to look for.</param>\r
3105             <returns>True if the items is in this collection.</returns>\r
3106         </member>\r
3107         <member name="M:C5.LinkedList`1.Update(`0)">\r
3108             <summary>\r
3109             Check if this collection contains an item equivalent according to the\r
3110             itemhasher to a particular value. If so, update the item in the collection \r
3111             to with a binary copy of the supplied value. Will update a single item.\r
3112             </summary>\r
3113             <param name="item">Value to update.</param>\r
3114             <returns>True if the item was found and hence updated.</returns>\r
3115         </member>\r
3116         <member name="M:C5.LinkedList`1.FindOrAdd(`0@)">\r
3117             <summary>\r
3118             Check if this collection contains an item equivalent according to the\r
3119             itemhasher to a particular value. If so, return in the ref argument (a\r
3120             binary copy of) the actual value found. Else, add the item to the collection.\r
3121             </summary>\r
3122             <param name="item">The value to look for.</param>\r
3123             <returns>True if the item was found (hence not added).</returns>\r
3124         </member>\r
3125         <member name="M:C5.LinkedList`1.UpdateOrAdd(`0)">\r
3126             <summary>\r
3127             Check if this collection contains an item equivalent according to the\r
3128             itemhasher to a particular value. If so, update the item in the collection \r
3129             to with a binary copy of the supplied value; else add the value to the collection. \r
3130             </summary>\r
3131             <param name="item">Value to add or update.</param>\r
3132             <returns>True if the item was updated (hence not added).</returns>\r
3133         </member>\r
3134         <member name="M:C5.LinkedList`1.Remove(`0)">\r
3135             <summary>\r
3136             Remove a particular item from this collection. Since the collection has bag\r
3137             semantics only one copy equivalent to the supplied item is removed. \r
3138             </summary>\r
3139             <param name="item">The value to remove.</param>\r
3140             <returns>True if the item was found (and removed).</returns>\r
3141         </member>\r
3142         <member name="M:C5.LinkedList`1.RemoveWithReturn(`0@)">\r
3143             <summary>\r
3144             Remove a particular item from this collection if found (only one copy). \r
3145             If an item was removed, report a binary copy of the actual item removed in \r
3146             the argument.\r
3147             </summary>\r
3148             <param name="item">The value to remove on input.</param>\r
3149             <returns>True if the item was found (and removed).</returns>\r
3150         </member>\r
3151         <member name="M:C5.LinkedList`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
3152             <summary>\r
3153             Remove all items in another collection from this one, take multiplicities into account.\r
3154             </summary>\r
3155             <param name="items">The items to remove.</param>\r
3156         </member>\r
3157         <member name="M:C5.LinkedList`1.Clear">\r
3158             <summary>\r
3159             Remove all items from this collection.\r
3160             </summary>\r
3161         </member>\r
3162         <member name="M:C5.LinkedList`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
3163             <summary>\r
3164             Remove all items not in some other collection from this one, take multiplicities into account.\r
3165             </summary>\r
3166             <param name="items">The items to retain.</param>\r
3167         </member>\r
3168         <member name="M:C5.LinkedList`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
3169             <summary>\r
3170             Check if this collection contains all the values in another collection\r
3171             with respect to multiplicities.\r
3172             </summary>\r
3173             <param name="items">The </param>\r
3174             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
3175         </member>\r
3176         <member name="M:C5.LinkedList`1.FindAll(C5.Filter{`0})">\r
3177             <summary>\r
3178             Create a new list consisting of the items of this list satisfying a \r
3179             certain predicate.\r
3180             </summary>\r
3181             <param name="filter">The filter delegate defining the predicate.</param>\r
3182             <returns>The new list.</returns>\r
3183         </member>\r
3184         <member name="M:C5.LinkedList`1.ContainsCount(`0)">\r
3185             <summary>\r
3186             Count the number of items of the collection equal to a particular value.\r
3187             Returns 0 if and only if the value is not in the collection.\r
3188             </summary>\r
3189             <param name="item">The value to count.</param>\r
3190             <returns>The number of copies found.</returns>\r
3191         </member>\r
3192         <member name="M:C5.LinkedList`1.RemoveAllCopies(`0)">\r
3193             <summary>\r
3194             Remove all items equivalent to a given value.\r
3195             </summary>\r
3196             <param name="item">The value to remove.</param>\r
3197         </member>\r
3198         <member name="M:C5.LinkedList`1.GetEnumerator">\r
3199             <summary>\r
3200             Create an enumerator for the collection\r
3201             </summary>\r
3202             <returns>The enumerator</returns>\r
3203         </member>\r
3204         <member name="M:C5.LinkedList`1.Add(`0)">\r
3205             <summary>\r
3206             Add an item to this collection if possible. \r
3207             </summary>\r
3208             <param name="item">The item to add.</param>\r
3209             <returns>True.</returns>\r
3210         </member>\r
3211         <member name="M:C5.LinkedList`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
3212             <summary>\r
3213             Add the elements from another collection to this collection. \r
3214             </summary>\r
3215             <param name="items">The items to add.</param>\r
3216         </member>\r
3217         <member name="M:C5.LinkedList`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
3218             <summary>\r
3219             Add the elements from another collection with a more specialized item type \r
3220             to this collection. \r
3221             </summary>\r
3222             <typeparam name="U">The type of items to add</typeparam>\r
3223             <param name="items">The items to add</param>\r
3224         </member>\r
3225         <member name="M:C5.LinkedList`1.Push(`0)">\r
3226             <summary>\r
3227             Push an item to the top of the stack.\r
3228             </summary>\r
3229             <param name="item">The item</param>\r
3230         </member>\r
3231         <member name="M:C5.LinkedList`1.Pop">\r
3232             <summary>\r
3233             Pop the item at the top of the stack from the stack.\r
3234             </summary>\r
3235             <returns>The popped item.</returns>\r
3236         </member>\r
3237         <member name="M:C5.LinkedList`1.EnQueue(`0)">\r
3238             <summary>\r
3239             Enqueue an item at the back of the queue. \r
3240             </summary>\r
3241             <param name="item">The item</param>\r
3242         </member>\r
3243         <member name="M:C5.LinkedList`1.DeQueue">\r
3244             <summary>\r
3245             Dequeue an item from the front of the queue.\r
3246             </summary>\r
3247             <returns>The item</returns>\r
3248         </member>\r
3249         <member name="M:C5.LinkedList`1.Check">\r
3250             <summary>\r
3251             Check the sanity of this list\r
3252             </summary>\r
3253             <returns>true if sane</returns>\r
3254         </member>\r
3255         <member name="P:C5.LinkedList`1.First">\r
3256             <summary>\r
3257             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
3258             </summary>\r
3259             <value>The first item in this list.</value>\r
3260         </member>\r
3261         <member name="P:C5.LinkedList`1.Last">\r
3262             <summary>\r
3263             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
3264             </summary>\r
3265             <value>The last item in this list.</value>\r
3266         </member>\r
3267         <member name="P:C5.LinkedList`1.FIFO">\r
3268             <summary>\r
3269             Since <code>Add(T item)</code> always add at the end of the list,\r
3270             this describes if list has FIFO or LIFO semantics.\r
3271             </summary>\r
3272             <value>True if the <code>Remove()</code> operation removes from the\r
3273             start of the list, false if it removes from the end.</value>\r
3274         </member>\r
3275         <member name="P:C5.LinkedList`1.Item(System.Int32)">\r
3276             <summary>\r
3277             On this list, this indexer is read/write.\r
3278             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3279             &gt;= the size of the collection.\r
3280             </summary>\r
3281             <value>The i'th item of this list.</value>\r
3282             <param name="index">The index of the item to fetch or store.</param>\r
3283         </member>\r
3284         <member name="P:C5.LinkedList`1.Underlying">\r
3285             <summary>\r
3286             Null if this list is not a view.\r
3287             </summary>\r
3288             <value>Underlying list for view.</value>\r
3289         </member>\r
3290         <member name="P:C5.LinkedList`1.Offset">\r
3291             <summary>\r
3292             </summary>\r
3293             <value>Offset for this list view or 0 for a underlying list.</value>\r
3294         </member>\r
3295         <member name="P:C5.LinkedList`1.Item(System.Int32,System.Int32)">\r
3296             <summary>\r
3297             <exception cref="T:System.IndexOutOfRangeException"/>.\r
3298             </summary>\r
3299             <value>The directed collection of items in a specific index interval.</value>\r
3300             <param name="start">The low index of the interval (inclusive).</param>\r
3301             <param name="count">The size of the range.</param>\r
3302         </member>\r
3303         <member name="P:C5.LinkedList`1.ContainsSpeed">\r
3304             <summary>\r
3305             The value is symbolic indicating the type of asymptotic complexity\r
3306             in terms of the size of this collection (worst-case or amortized as\r
3307             relevant).\r
3308             </summary>\r
3309             <value>Speed.Linear</value>\r
3310         </member>\r
3311         <member name="P:C5.LinkedList`1.Count">\r
3312             <summary>\r
3313             \r
3314             </summary>\r
3315             <value>The number of items in this collection</value>\r
3316         </member>\r
3317         <member name="P:C5.LinkedList`1.AllowsDuplicates">\r
3318             <summary>\r
3319             \r
3320             </summary>\r
3321             <value>True since this collection has bag semantics.</value>\r
3322         </member>\r
3323         <member name="T:C5.LinkedList`1.Node">\r
3324             <summary>\r
3325             An individual cell in the linked list\r
3326             </summary>\r
3327         </member>\r
3328         <member name="F:C5.LinkedList`1.Node.prev">\r
3329             <summary>\r
3330             Previous-node reference\r
3331             </summary>\r
3332         </member>\r
3333         <member name="F:C5.LinkedList`1.Node.next">\r
3334             <summary>\r
3335             Next-node reference\r
3336             </summary>\r
3337         </member>\r
3338         <member name="F:C5.LinkedList`1.Node.item">\r
3339             <summary>\r
3340             Node item\r
3341             </summary>\r
3342         </member>\r
3343         <member name="M:C5.LinkedList`1.Node.#ctor(`0)">\r
3344             <summary>\r
3345             Create node\r
3346             </summary>\r
3347             <param name="item">Item to insert</param>\r
3348         </member>\r
3349         <member name="M:C5.LinkedList`1.Node.#ctor(`0,C5.LinkedList{`0}.Node,C5.LinkedList{`0}.Node)">\r
3350             <summary>\r
3351             Create node, specifying predecessor and successor\r
3352             </summary>\r
3353             <param name="item"></param>\r
3354             <param name="prev"></param>\r
3355             <param name="next"></param>\r
3356         </member>\r
3357         <member name="M:C5.LinkedList`1.Node.ToString">\r
3358             <summary>\r
3359             Pretty print node\r
3360             </summary>\r
3361             <returns>Formatted node</returns>\r
3362         </member>\r
3363         <member name="T:C5.LinkedList`1.TagGroup">\r
3364             <summary>\r
3365             A group of nodes with the same high tag. Purpose is to be\r
3366             able to tell the sequence order of two nodes without having to scan through\r
3367             the list.\r
3368             </summary>\r
3369         </member>\r
3370         <member name="M:C5.LinkedList`1.TagGroup.ToString">\r
3371             <summary>\r
3372             Pretty print a tag group\r
3373             </summary>\r
3374             <returns>Formatted tag group</returns>\r
3375         </member>\r
3376         <member name="M:C5.HashedLinkedList`1.#ctor(C5.IHasher{`0})">\r
3377             <summary>\r
3378             Create a hashed linked list with an external item hasher.\r
3379             </summary>\r
3380             <param name="itemhasher">The external hasher</param>\r
3381         </member>\r
3382         <member name="M:C5.HashedLinkedList`1.#ctor">\r
3383             <summary>\r
3384             Create a hashed linked list with the natural item hasher.\r
3385             </summary>\r
3386         </member>\r
3387         <member name="M:C5.HashedLinkedList`1.Insert(System.Int32,`0)">\r
3388             <summary>\r
3389             Insert an item at a specific index location in this list. \r
3390             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3391             &gt; the size of the collection.</summary>\r
3392             <exception cref="T:System.InvalidOperationException"/> if  the item is \r
3393             already in the list.\r
3394             <param name="i">The index at which to insert.</param>\r
3395             <param name="item">The item to insert.</param>\r
3396         </member>\r
3397         <member name="M:C5.HashedLinkedList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
3398             <summary>\r
3399             Insert into this list all items from an enumerable collection starting \r
3400             at a particular index.\r
3401             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3402             &gt; the size of the collection.\r
3403             <exception cref="T:System.InvalidOperationException"/> if one of the items to insert is\r
3404             already in the list.\r
3405             </summary>\r
3406             <param name="i">Index to start inserting at</param>\r
3407             <param name="items">Items to insert</param>\r
3408         </member>\r
3409         <member name="M:C5.HashedLinkedList`1.InsertBefore(`0,`0)">\r
3410             <summary>\r
3411             Insert an item right before the first occurrence of some target item.\r
3412             <exception cref="T:System.ArgumentException"/> if target    is not found\r
3413             <exception cref="T:System.InvalidOperationException"/> if the item is \r
3414             already in the list.\r
3415             </summary>\r
3416             <param name="item">The item to insert.</param>\r
3417             <param name="target">The target before which to insert.</param>\r
3418         </member>\r
3419         <member name="M:C5.HashedLinkedList`1.InsertAfter(`0,`0)">\r
3420             <summary>\r
3421             Insert an item right after the last(???) occurrence of some target item.\r
3422             <exception cref="T:System.ArgumentException"/> if target    is not found\r
3423             <exception cref="T:System.InvalidOperationException"/> if the item is \r
3424             already in the list.\r
3425             </summary>\r
3426             <param name="item">The item to insert.</param>\r
3427             <param name="target">The target after which to insert.</param>\r
3428         </member>\r
3429         <member name="M:C5.HashedLinkedList`1.InsertFirst(`0)">\r
3430             <summary>\r
3431             Insert an item at the front of this list.\r
3432             <exception cref="T:System.InvalidOperationException"/> if the item is \r
3433             already in the list.\r
3434             </summary>\r
3435             <param name="item">The item to insert.</param>\r
3436         </member>\r
3437         <member name="M:C5.HashedLinkedList`1.InsertLast(`0)">\r
3438             <summary>\r
3439             Insert an item at the back of this list.\r
3440             <exception cref="T:System.InvalidOperationException"/> if  the item is \r
3441             already in the list.\r
3442             </summary>\r
3443             <param name="item">The item to insert.</param>\r
3444         </member>\r
3445         <member name="M:C5.HashedLinkedList`1.Remove">\r
3446             <summary>\r
3447             Remove one item from the list: from the front if <code>FIFO</code>\r
3448             is true, else from the back.\r
3449             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
3450             </summary>\r
3451             <returns>The removed item.</returns>\r
3452         </member>\r
3453         <member name="M:C5.HashedLinkedList`1.RemoveFirst">\r
3454             <summary>\r
3455             Remove one item from the front of the list.\r
3456             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
3457             </summary>\r
3458             <returns>The removed item.</returns>\r
3459         </member>\r
3460         <member name="M:C5.HashedLinkedList`1.RemoveLast">\r
3461             <summary>\r
3462             Remove one item from the back of the list.\r
3463             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
3464             </summary>\r
3465             <returns>The removed item.</returns>\r
3466         </member>\r
3467         <member name="M:C5.HashedLinkedList`1.View(System.Int32,System.Int32)">\r
3468             <summary>\r
3469             Create a list view on this list. \r
3470             <exception cref="T:System.ArgumentOutOfRangeException"/> if the view would not fit into\r
3471             this list.\r
3472             </summary>\r
3473             <param name="start">The index in this list of the start of the view.</param>\r
3474             <param name="count">The size of the view.</param>\r
3475             <returns>The new list view.</returns>\r
3476         </member>\r
3477         <member name="M:C5.HashedLinkedList`1.Reverse(System.Int32,System.Int32)">\r
3478             <summary>\r
3479             Reverst part of the list so the items are in the opposite sequence order.\r
3480             <exception cref="T:System.ArgumentException"/> if the count is negative.\r
3481             <exception cref="T:System.ArgumentOutOfRangeException"/> if the part does not fit\r
3482             into the list.\r
3483             </summary>\r
3484             <param name="start">The index of the start of the part to reverse.</param>\r
3485             <param name="count">The size of the part to reverse.</param>\r
3486         </member>\r
3487         <member name="M:C5.HashedLinkedList`1.Shuffle(System.Random)">\r
3488             <summary>\r
3489             Shuffle the items of this list according to a specific random source.\r
3490             </summary>\r
3491             <param name="rnd">The random source.</param>\r
3492         </member>\r
3493         <member name="M:C5.HashedLinkedList`1.IndexOf(`0)">\r
3494             <summary>\r
3495             Searches for an item in the list going forwrds from the start.\r
3496             </summary>\r
3497             <param name="item">Item to search for.</param>\r
3498             <returns>Index of item from start.</returns>\r
3499         </member>\r
3500         <member name="M:C5.HashedLinkedList`1.LastIndexOf(`0)">\r
3501             <summary>\r
3502             Searches for an item in the list going backwords from the end.\r
3503             </summary>\r
3504             <param name="item">Item to search for.</param>\r
3505             <returns>Index of of item from the end.</returns>\r
3506         </member>\r
3507         <member name="M:C5.HashedLinkedList`1.RemoveAt(System.Int32)">\r
3508             <summary>\r
3509             Remove the item at a specific position of the list.\r
3510             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3511             &gt;= the size of the collection.\r
3512             </summary>\r
3513             <param name="i">The index of the item to remove.</param>\r
3514             <returns>The removed item.</returns>\r
3515         </member>\r
3516         <member name="M:C5.HashedLinkedList`1.RemoveInterval(System.Int32,System.Int32)">\r
3517             <summary>\r
3518             Remove all items in an index interval.\r
3519             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
3520             </summary>\r
3521             <param name="start">The index of the first item to remove.</param>\r
3522             <param name="count">The number of items to remove.</param>\r
3523         </member>\r
3524         <member name="M:C5.HashedLinkedList`1.Contains(`0)">\r
3525             <summary>\r
3526             Check if this collection contains (an item equivalent to according to the\r
3527             itemhasher) a particular value.\r
3528             </summary>\r
3529             <param name="item">The value to check for.</param>\r
3530             <returns>True if the items is in this collection.</returns>\r
3531         </member>\r
3532         <member name="M:C5.HashedLinkedList`1.Find(`0@)">\r
3533             <summary>\r
3534             Check if this collection contains an item equivalent according to the\r
3535             itemhasher to a particular value. If so, return in the ref argument (a\r
3536             binary copy of) the actual value found.\r
3537             </summary>\r
3538             <param name="item">The value to look for.</param>\r
3539             <returns>True if the items is in this collection.</returns>\r
3540         </member>\r
3541         <member name="M:C5.HashedLinkedList`1.Update(`0)">\r
3542             <summary>\r
3543             Check if this collection contains an item equivalent according to the\r
3544             itemhasher to a particular value. If so, update the item in the collection \r
3545             to with a binary copy of the supplied value. \r
3546             </summary>\r
3547             <param name="item">Value to update.</param>\r
3548             <returns>True if the item was found and hence updated.</returns>\r
3549         </member>\r
3550         <member name="M:C5.HashedLinkedList`1.FindOrAdd(`0@)">\r
3551             <summary>\r
3552             Check if this collection contains an item equivalent according to the\r
3553             itemhasher to a particular value. If so, return in the ref argument (a\r
3554             binary copy of) the actual value found. Else, add the item to the collection.\r
3555             </summary>\r
3556             <param name="item">The value to look for.</param>\r
3557             <returns>True if the item was found (hence not added).</returns>\r
3558         </member>\r
3559         <member name="M:C5.HashedLinkedList`1.UpdateOrAdd(`0)">\r
3560             <summary>\r
3561             Check if this collection contains an item equivalent according to the\r
3562             itemhasher to a particular value. If so, update the item in the collection \r
3563             to with a binary copy of the supplied value; else add the value to the collection. \r
3564             </summary>\r
3565             <param name="item">Value to add or update.</param>\r
3566             <returns>True if the item was found and updated (hence not added).</returns>\r
3567         </member>\r
3568         <member name="M:C5.HashedLinkedList`1.Remove(`0)">\r
3569             <summary>\r
3570             Remove a particular item from this collection. \r
3571             </summary>\r
3572             <param name="item">The value to remove.</param>\r
3573             <returns>True if the item was found (and removed).</returns>\r
3574         </member>\r
3575         <member name="M:C5.HashedLinkedList`1.RemoveWithReturn(`0@)">\r
3576             <summary>\r
3577             Remove a particular item from this collection if found. \r
3578             If an item was removed, report a binary copy of the actual item removed in \r
3579             the argument.\r
3580             </summary>\r
3581             <param name="item">The value to remove on input.</param>\r
3582             <returns>True if the item was found (and removed).</returns>\r
3583         </member>\r
3584         <member name="M:C5.HashedLinkedList`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
3585             <summary>\r
3586             Remove all items in another collection from this one. \r
3587             </summary>\r
3588             <param name="items">The items to remove.</param>\r
3589         </member>\r
3590         <member name="M:C5.HashedLinkedList`1.Clear">\r
3591             <summary>\r
3592             Remove all items from this collection.\r
3593             </summary>\r
3594         </member>\r
3595         <member name="M:C5.HashedLinkedList`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
3596             <summary>\r
3597             Remove all items not in some other collection from this one. \r
3598             </summary>\r
3599             <param name="items">The items to retain.</param>\r
3600         </member>\r
3601         <member name="M:C5.HashedLinkedList`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
3602             <summary>\r
3603             Check if this collection contains all the values in another collection\r
3604             Multiplicities\r
3605             are not taken into account.\r
3606             </summary>\r
3607             <param name="items">The </param>\r
3608             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
3609         </member>\r
3610         <member name="M:C5.HashedLinkedList`1.ContainsCount(`0)">\r
3611             <summary>\r
3612             Count the number of items of the collection equal to a particular value.\r
3613             Returns 0 if and only if the value is not in the collection.\r
3614             </summary>\r
3615             <param name="item">The value to count.</param>\r
3616             <returns>The number of copies found.</returns>\r
3617         </member>\r
3618         <member name="M:C5.HashedLinkedList`1.RemoveAllCopies(`0)">\r
3619             <summary>\r
3620             Remove all items equivalent to a given value.\r
3621             </summary>\r
3622             <param name="item">The value to remove.</param>\r
3623         </member>\r
3624         <member name="M:C5.HashedLinkedList`1.Add(`0)">\r
3625             <summary>\r
3626             Add an item to this collection if possible. Since this collection has set\r
3627             semantics, the item will be added if not already in the collection. \r
3628             </summary>\r
3629             <param name="item">The item to add.</param>\r
3630             <returns>True if item was added.</returns>\r
3631         </member>\r
3632         <member name="M:C5.HashedLinkedList`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
3633             <summary>\r
3634             Add the elements from another collection to this collection.\r
3635             Only items not already in the collection\r
3636             will be added.\r
3637             </summary>\r
3638             <param name="items">The items to add.</param>\r
3639         </member>\r
3640         <member name="M:C5.HashedLinkedList`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
3641             <summary>\r
3642             Add the elements from another collection with a more specialized item type \r
3643             to this collection. \r
3644             Only items not already in the collection\r
3645             will be added.\r
3646             </summary>\r
3647             <typeparam name="U">The type of items to add</typeparam>\r
3648             <param name="items">The items to add</param>\r
3649         </member>\r
3650         <member name="M:C5.HashedLinkedList`1.Check">\r
3651             <summary>\r
3652             Check the integrity of the internal data structures of this collection.\r
3653             Only avaliable in DEBUG builds???\r
3654             </summary>\r
3655             <returns>True if check does not fail.</returns>\r
3656         </member>\r
3657         <member name="P:C5.HashedLinkedList`1.Item(System.Int32)">\r
3658             <summary>\r
3659             On this list, this indexer is read/write.\r
3660             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
3661             &gt;= the size of the collection.\r
3662             </summary>\r
3663             <value>The i'th item of this list.</value>\r
3664             <param name="i">The index of the item to fetch or store.</param>\r
3665         </member>\r
3666         <member name="P:C5.HashedLinkedList`1.ContainsSpeed">\r
3667             <summary>\r
3668             The value is symbolic indicating the type of asymptotic complexity\r
3669             in terms of the size of this collection (worst-case or amortized as\r
3670             relevant).\r
3671             </summary>\r
3672             <value>Speed.Constant</value>\r
3673         </member>\r
3674         <member name="P:C5.HashedLinkedList`1.AllowsDuplicates">\r
3675             <summary>\r
3676             \r
3677             </summary>\r
3678             <value>False since this collection has set semantics.</value>\r
3679         </member>\r
3680         <member name="T:C5.KeyValuePair`2">\r
3681             <summary>\r
3682             An entry in a dictionary from K to V.\r
3683             </summary>\r
3684         </member>\r
3685         <member name="F:C5.KeyValuePair`2.key">\r
3686             <summary>\r
3687             The key field of the entry\r
3688             </summary>\r
3689         </member>\r
3690         <member name="F:C5.KeyValuePair`2.value">\r
3691             <summary>\r
3692             The value field of the entry\r
3693             </summary>\r
3694         </member>\r
3695         <member name="M:C5.KeyValuePair`2.#ctor(`0,`1)">\r
3696             <summary>\r
3697             Create an entry with specified key and value\r
3698             </summary>\r
3699             <param name="k">The key</param>\r
3700             <param name="v">The value</param>\r
3701         </member>\r
3702         <member name="M:C5.KeyValuePair`2.#ctor(`0)">\r
3703             <summary>\r
3704             Create an entry with a specified key. The value is undefined.\r
3705             </summary>\r
3706             <param name="k">The key</param>\r
3707         </member>\r
3708         <member name="M:C5.KeyValuePair`2.ToString">\r
3709             <summary>\r
3710             Pretty print an entry\r
3711             </summary>\r
3712             <returns>(key, value)</returns>\r
3713         </member>\r
3714         <member name="M:C5.KeyValuePair`2.Equals(System.Object)">\r
3715             <summary>\r
3716             Check equality of entries\r
3717             </summary>\r
3718             <param name="obj">The other object</param>\r
3719             <returns>True if obj is an entry of the same type and has the same key</returns>\r
3720         </member>\r
3721         <member name="M:C5.KeyValuePair`2.GetHashCode">\r
3722             <summary>\r
3723             Get the hash code of the key.\r
3724             </summary>\r
3725             <returns>The hash code</returns>\r
3726         </member>\r
3727         <member name="T:C5.KeyValuePairComparer`2">\r
3728             <summary>\r
3729             Default comparer for dictionary entries in a sorted dictionary.\r
3730             Entry comparisons only look at keys.\r
3731             </summary>\r
3732         </member>\r
3733         <member name="M:C5.KeyValuePairComparer`2.#ctor(C5.IComparer{`0})">\r
3734             <summary>\r
3735             Create an entry comparer for a item comparer of the keys\r
3736             </summary>\r
3737             <param name="c">Comparer of keys</param>\r
3738         </member>\r
3739         <member name="M:C5.KeyValuePairComparer`2.Compare(C5.KeyValuePair{`0,`1},C5.KeyValuePair{`0,`1})">\r
3740             <summary>\r
3741             Compare two entries\r
3742             </summary>\r
3743             <param name="a">First entry</param>\r
3744             <param name="b">Second entry</param>\r
3745             <returns>The result of comparing the keys</returns>\r
3746         </member>\r
3747         <member name="T:C5.KeyValuePairHasher`2">\r
3748             <summary>\r
3749             Default hasher for dictionary entries.\r
3750             Operations only look at keys.\r
3751             </summary>\r
3752         </member>\r
3753         <member name="M:C5.KeyValuePairHasher`2.#ctor">\r
3754             <summary>\r
3755             Create an entry hasher using the default hasher for keys\r
3756             </summary>\r
3757         </member>\r
3758         <member name="M:C5.KeyValuePairHasher`2.#ctor(C5.IHasher{`0})">\r
3759             <summary>\r
3760             Create an entry hasher from a specified item hasher for the keys\r
3761             </summary>\r
3762             <param name="c">The key hasher</param>\r
3763         </member>\r
3764         <member name="M:C5.KeyValuePairHasher`2.GetHashCode(C5.KeyValuePair{`0,`1})">\r
3765             <summary>\r
3766             Get the hash code of the entry\r
3767             </summary>\r
3768             <param name="item">The entry</param>\r
3769             <returns>The hash code of the key</returns>\r
3770         </member>\r
3771         <member name="M:C5.KeyValuePairHasher`2.Equals(C5.KeyValuePair{`0,`1},C5.KeyValuePair{`0,`1})">\r
3772             <summary>\r
3773             Test two entries for equality\r
3774             </summary>\r
3775             <param name="i1">First entry</param>\r
3776             <param name="i2">Second entry</param>\r
3777             <returns>True if keys are equal</returns>\r
3778         </member>\r
3779         <member name="T:C5.TreeSet`1">\r
3780              <summary>\r
3781              An implementation of Red-Black trees as an indexed, sorted collection with set semantics,\r
3782              cf. <a href="litterature.htm#CLRS">CLRS</a>. <see cref="T:C5.TreeBag!1"/> for a version \r
3783              with bag semantics. <see cref="T:C5.TreeDictionary!2"/> for a sorted dictionary \r
3784              based on this tree implementation.\r
3785              <p>\r
3786              The comparer (sorting order) may be either natural, because the item type is comparable \r
3787              (generic: <see cref="T:C5.IComparable!1"/> or non-generic: System.IComparable) or it can\r
3788              be external and supplied by the user in the constructor.</p>\r
3789             \r
3790              <p><i>TODO: describe performance here</i></p>\r
3791              <p><i>TODO: discuss persistence and its useful usage modes. Warn about the space\r
3792              leak possible with other usage modes.</i></p>\r
3793              </summary>\r
3794         </member>\r
3795         <member name="M:C5.TreeSet`1.left(C5.TreeSet{`0}.Node)">\r
3796             <summary>\r
3797             Fetch the left child of n taking node-copying persistence into\r
3798             account if relevant. \r
3799             </summary>\r
3800             <param name="n"></param>\r
3801             <returns></returns>\r
3802         </member>\r
3803         <member name="M:C5.TreeSet`1.#ctor">\r
3804             <summary>\r
3805             Create a red-black tree collection with natural comparer and item hasher.\r
3806             </summary>\r
3807         </member>\r
3808         <member name="M:C5.TreeSet`1.#ctor(C5.IComparer{`0})">\r
3809             <summary>\r
3810             Create a red-black tree collection with an external comparer (and natural item hasher,\r
3811             assumed consistent).\r
3812             </summary>\r
3813             <param name="c">The external comparer</param>\r
3814         </member>\r
3815         <member name="M:C5.TreeSet`1.#ctor(C5.IComparer{`0},C5.IHasher{`0})">\r
3816             <summary>\r
3817             Create a red-black tree collection with an external comparer aand an external\r
3818             item hasher, assumed consistent.\r
3819             </summary>\r
3820             <param name="c">The external comparer</param>\r
3821             <param name="h">The external item hasher</param>\r
3822         </member>\r
3823         <member name="M:C5.TreeSet`1.GetEnumerator">\r
3824             <summary>\r
3825             Create an enumerator for this tree\r
3826             </summary>\r
3827             <returns>The enumerator</returns>\r
3828         </member>\r
3829         <member name="M:C5.TreeSet`1.addIterative(`0,`0@,System.Boolean,System.Boolean@)">\r
3830             <summary>\r
3831             Add item to tree. If already there, return the found item in the second argument.\r
3832             </summary>\r
3833             <param name="item">Item to add</param>\r
3834             <param name="founditem">item found</param>\r
3835             <param name="update">whether item in node should be updated</param>\r
3836             <param name="wasfound">true if found in bag, false if not found or tre is a set</param>\r
3837             <returns>True if item was added</returns>\r
3838         </member>\r
3839         <member name="M:C5.TreeSet`1.Add(`0)">\r
3840             <summary>\r
3841             Add an item to this collection if possible. If this collection has set\r
3842             semantics, the item will be added if not already in the collection. If\r
3843             bag semantics, the item will always be added.\r
3844             </summary>\r
3845             <param name="item">The item to add.</param>\r
3846             <returns>True if item was added.</returns>\r
3847         </member>\r
3848         <member name="M:C5.TreeSet`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
3849             <summary>\r
3850             Add the elements from another collection to this collection. If this\r
3851             collection has set semantics, only items not already in the collection\r
3852             will be added.\r
3853             </summary>\r
3854             <param name="items">The items to add.</param>\r
3855         </member>\r
3856         <member name="M:C5.TreeSet`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
3857             <summary>\r
3858             Add the elements from another collection with a more specialized item type \r
3859             to this collection. If this\r
3860             collection has set semantics, only items not already in the collection\r
3861             will be added.\r
3862             </summary>\r
3863             <typeparam name="U">The type of items to add</typeparam>\r
3864             <param name="items">The items to add</param>\r
3865         </member>\r
3866         <member name="M:C5.TreeSet`1.AddSorted(System.Collections.Generic.IEnumerable{`0})">\r
3867             <summary>\r
3868             Add all the items from another collection with an enumeration order that \r
3869             is increasing in the items. <para>The idea is that the implementation may use\r
3870             a faster algorithm to merge the two collections.</para>\r
3871             <exception cref="T:System.ArgumentException"/> if the enumerated items turns out\r
3872             not to be in increasing order.\r
3873             </summary>\r
3874             <param name="items">The collection to add.</param>\r
3875         </member>\r
3876         <member name="M:C5.TreeSet`1.Contains(`0)">\r
3877             <summary>\r
3878             Check if this collection contains (an item equivalent to according to the\r
3879             itemhasher) a particular value.\r
3880             </summary>\r
3881             <param name="item">The value to check for.</param>\r
3882             <returns>True if the items is in this collection.</returns>\r
3883         </member>\r
3884         <member name="M:C5.TreeSet`1.Find(`0@)">\r
3885             <summary>\r
3886             Check if this collection contains an item equivalent according to the\r
3887             itemhasher to a particular value. If so, return in the ref argument (a\r
3888             binary copy of) the actual value found.\r
3889             </summary>\r
3890             <param name="item">The value to look for.</param>\r
3891             <returns>True if the items is in this collection.</returns>\r
3892         </member>\r
3893         <member name="M:C5.TreeSet`1.FindOrAdd(`0@)">\r
3894              <summary>\r
3895              Find or add the item to the tree. If the tree does not contain\r
3896              an item equivalent to this item add it, else return the exisiting\r
3897              one in the ref argument. \r
3898             \r
3899              </summary>\r
3900              <param name="item"></param>\r
3901              <returns>True if item was found</returns>\r
3902         </member>\r
3903         <member name="M:C5.TreeSet`1.Update(`0)">\r
3904             <summary>\r
3905             Check if this collection contains an item equivalent according to the\r
3906             itemhasher to a particular value. If so, update the item in the collection \r
3907             to with a binary copy of the supplied value. If the collection has bag semantics,\r
3908             this updates all equivalent copies in\r
3909             the collection.\r
3910             </summary>\r
3911             <param name="item">Value to update.</param>\r
3912             <returns>True if the item was found and hence updated.</returns>\r
3913         </member>\r
3914         <member name="M:C5.TreeSet`1.UpdateOrAdd(`0)">\r
3915              <summary>\r
3916              Check if this collection contains an item equivalent according to the\r
3917              itemhasher to a particular value. If so, update the item in the collection \r
3918              to with a binary copy of the supplied value; else add the value to the collection. \r
3919             \r
3920              <p>NOTE: the bag implementation is currently wrong!</p>\r
3921              </summary>\r
3922              <param name="item">Value to add or update.</param>\r
3923              <returns>True if the item was found and updated (hence not added).</returns>\r
3924         </member>\r
3925         <member name="M:C5.TreeSet`1.Remove(`0)">\r
3926             <summary>\r
3927             Remove a particular item from this collection. If the collection has bag\r
3928             semantics only one copy equivalent to the supplied item is removed. \r
3929             </summary>\r
3930             <param name="item">The value to remove.</param>\r
3931             <returns>True if the item was found (and removed).</returns>\r
3932         </member>\r
3933         <member name="M:C5.TreeSet`1.RemoveWithReturn(`0@)">\r
3934             <summary>\r
3935             Remove a particular item from this collection if found. If the collection\r
3936             has bag semantics only one copy equivalent to the supplied item is removed,\r
3937             which one is implementation dependent. \r
3938             If an item was removed, report a binary copy of the actual item removed in \r
3939             the argument.\r
3940             </summary>\r
3941             <param name="item">The value to remove on input.</param>\r
3942             <returns>True if the item was found (and removed).</returns>\r
3943         </member>\r
3944         <member name="M:C5.TreeSet`1.Clear">\r
3945             <summary>\r
3946             Remove all items from this collection.\r
3947             </summary>\r
3948         </member>\r
3949         <member name="M:C5.TreeSet`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
3950             <summary>\r
3951             Remove all items in another collection from this one. If this collection\r
3952             has bag semantics, take multiplicities into account.\r
3953             </summary>\r
3954             <param name="items">The items to remove.</param>\r
3955         </member>\r
3956         <member name="M:C5.TreeSet`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
3957             <summary>\r
3958             Remove all items not in some other collection from this one. If this collection\r
3959             has bag semantics, take multiplicities into account.\r
3960             </summary>\r
3961             <param name="items">The items to retain.</param>\r
3962         </member>\r
3963         <member name="M:C5.TreeSet`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
3964             <summary>\r
3965             Check if this collection contains all the values in another collection.\r
3966             If this collection has bag semantics (<code>NoDuplicates==false</code>)\r
3967             the check is made with respect to multiplicities, else multiplicities\r
3968             are not taken into account.\r
3969             </summary>\r
3970             <param name="items">The </param>\r
3971             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
3972         </member>\r
3973         <member name="M:C5.TreeSet`1.FindAll(C5.Filter{`0})">\r
3974             <summary>\r
3975             Create a new indexed sorted collection consisting of the items of this\r
3976             indexed sorted collection satisfying a certain predicate.\r
3977             </summary>\r
3978             <param name="filter">The filter delegate defining the predicate.</param>\r
3979             <returns>The new indexed sorted collection.</returns>\r
3980         </member>\r
3981         <member name="M:C5.TreeSet`1.Map``1(C5.Mapper{`0,``0},C5.IComparer{``0})">\r
3982             <summary>\r
3983             Create a new indexed sorted collection consisting of the results of\r
3984             mapping all items of this list.\r
3985             <exception cref="T:System.ArgumentException"/> if the map is not increasing over \r
3986             the items of this collection (with respect to the two given comparison \r
3987             relations).\r
3988             </summary>\r
3989             <param name="mapper">The delegate definging the map.</param>\r
3990             <param name="c">The comparion relation to use for the result.</param>\r
3991             <returns>The new sorted collection.</returns>\r
3992         </member>\r
3993         <member name="M:C5.TreeSet`1.ContainsCount(`0)">\r
3994             <summary>\r
3995             Count the number of items of the collection equal to a particular value.\r
3996             Returns 0 if and only if the value is not in the collection.\r
3997             </summary>\r
3998             <param name="item">The value to count.</param>\r
3999             <returns>The number of copies found.</returns>\r
4000         </member>\r
4001         <member name="M:C5.TreeSet`1.RemoveAllCopies(`0)">\r
4002             <summary>\r
4003             Remove all items equivalent to a given value.\r
4004             </summary>\r
4005             <param name="item">The value to remove.</param>\r
4006         </member>\r
4007         <member name="M:C5.TreeSet`1.IndexOf(`0)">\r
4008             <summary>\r
4009             Searches for an item in the list going forwrds from the start.\r
4010             </summary>\r
4011             <param name="item">Item to search for.</param>\r
4012             <returns>Index of item from start.</returns>\r
4013         </member>\r
4014         <member name="M:C5.TreeSet`1.LastIndexOf(`0)">\r
4015             <summary>\r
4016             Searches for an item in the list going backwords from the end.\r
4017             </summary>\r
4018             <param name="item">Item to search for.</param>\r
4019             <returns>Index of of item from the end.</returns>\r
4020         </member>\r
4021         <member name="M:C5.TreeSet`1.RemoveAt(System.Int32)">\r
4022             <summary>\r
4023             Remove the item at a specific position of the list.\r
4024             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
4025             &gt;= the size of the collection.\r
4026             </summary>\r
4027             <param name="i">The index of the item to remove.</param>\r
4028             <returns>The removed item.</returns>\r
4029         </member>\r
4030         <member name="M:C5.TreeSet`1.RemoveInterval(System.Int32,System.Int32)">\r
4031             <summary>\r
4032             Remove all items in an index interval.\r
4033             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
4034             </summary>\r
4035             <param name="start">The index of the first item to remove.</param>\r
4036             <param name="count">The number of items to remove.</param>\r
4037         </member>\r
4038         <member name="M:C5.TreeSet`1.Backwards">\r
4039             <summary>\r
4040             Create a collection containing the same items as this collection, but\r
4041             whose enumerator will enumerate the items backwards. The new collection\r
4042             will become invalid if the original is modified. Method typicaly used as in\r
4043             <code>foreach (T x in coll.Backwards()) {...}</code>\r
4044             </summary>\r
4045             <returns>The backwards collection.</returns>\r
4046         </member>\r
4047         <member name="M:C5.TreeSet`1.FindMin">\r
4048             <summary>\r
4049             Find the current least item of this priority queue.\r
4050             </summary>\r
4051             <returns>The least item.</returns>\r
4052         </member>\r
4053         <member name="M:C5.TreeSet`1.DeleteMin">\r
4054             <summary>\r
4055             Remove the least item from this  priority queue.\r
4056             </summary>\r
4057             <returns>The removed item.</returns>\r
4058         </member>\r
4059         <member name="M:C5.TreeSet`1.FindMax">\r
4060             <summary>\r
4061             Find the current largest item of this priority queue.\r
4062             </summary>\r
4063             <returns>The largest item.</returns>\r
4064         </member>\r
4065         <member name="M:C5.TreeSet`1.DeleteMax">\r
4066             <summary>\r
4067             Remove the largest item from this  priority queue.\r
4068             </summary>\r
4069             <returns>The removed item.</returns>\r
4070         </member>\r
4071         <member name="M:C5.TreeSet`1.Predecessor(`0)">\r
4072             <summary>\r
4073             Find the strict predecessor in the sorted collection of a particular value,\r
4074             i.e. the largest item in the collection less than the supplied value.\r
4075             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
4076             supplied  value is less than or equal to the minimum of this collection.)\r
4077             </summary>\r
4078             <param name="item">The item to find the predecessor for.</param>\r
4079             <returns>The predecessor.</returns>\r
4080         </member>\r
4081         <member name="M:C5.TreeSet`1.WeakPredecessor(`0)">\r
4082             <summary>\r
4083             Find the weak predecessor in the sorted collection of a particular value,\r
4084             i.e. the largest item in the collection less than or equal to the supplied value.\r
4085             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
4086             supplied  value is less than the minimum of this collection.)\r
4087             </summary>\r
4088             <param name="item">The item to find the weak predecessor for.</param>\r
4089             <returns>The weak predecessor.</returns>\r
4090         </member>\r
4091         <member name="M:C5.TreeSet`1.Successor(`0)">\r
4092             <summary>\r
4093             Find the strict successor in the sorted collection of a particular value,\r
4094             i.e. the least item in the collection greater than the supplied value.\r
4095             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
4096             supplied  value is greater than or equal to the maximum of this collection.)\r
4097             </summary>\r
4098             <param name="item">The item to find the successor for.</param>\r
4099             <returns>The successor.</returns>\r
4100         </member>\r
4101         <member name="M:C5.TreeSet`1.WeakSuccessor(`0)">\r
4102             <summary>\r
4103             Find the weak successor in the sorted collection of a particular value,\r
4104             i.e. the least item in the collection greater than or equal to the supplied value.\r
4105             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
4106             supplied  value is greater than the maximum of this collection.)\r
4107             </summary>\r
4108             <param name="item">The item to find the weak successor for.</param>\r
4109             <returns>The weak successor.</returns>\r
4110         </member>\r
4111         <member name="M:C5.TreeSet`1.RangeFrom(`0)">\r
4112             <summary>\r
4113             Query this sorted collection for items greater than or equal to a supplied value.\r
4114             </summary>\r
4115             <param name="bot">The lower bound (inclusive).</param>\r
4116             <returns>The result directed collection.</returns>\r
4117         </member>\r
4118         <member name="M:C5.TreeSet`1.RangeFromTo(`0,`0)">\r
4119             <summary>\r
4120             Query this sorted collection for items between two supplied values.\r
4121             </summary>\r
4122             <param name="bot">The lower bound (inclusive).</param>\r
4123             <param name="top">The upper bound (exclusive).</param>\r
4124             <returns>The result directed collection.</returns>\r
4125         </member>\r
4126         <member name="M:C5.TreeSet`1.RangeTo(`0)">\r
4127             <summary>\r
4128             Query this sorted collection for items less than a supplied value.\r
4129             </summary>\r
4130             <param name="top">The upper bound (exclusive).</param>\r
4131             <returns>The result directed collection.</returns>\r
4132         </member>\r
4133         <member name="M:C5.TreeSet`1.RangeAll">\r
4134             <summary>\r
4135             Create a directed collection with the same items as this collection.\r
4136             </summary>\r
4137             <returns>The result directed collection.</returns>\r
4138         </member>\r
4139         <member name="M:C5.TreeSet`1.Cut(System.IComparable{`0},`0@,System.Boolean@,`0@,System.Boolean@)">\r
4140             <summary>\r
4141             Perform a search in the sorted collection for the ranges in which a\r
4142             non-decreasing function from the item type to <code>int</code> is\r
4143             negative, zero respectively positive. If the supplied cut function is\r
4144             not non-decreasing, the result of this call is undefined.\r
4145             </summary>\r
4146             <param name="c">The cut function <code>T</code> to <code>int</code>, given\r
4147             as an <code>IComparable&lt;T&gt;</code> object, where the cut function is\r
4148             the <code>c.CompareTo(T that)</code> method.</param>\r
4149             <param name="low">Returns the largest item in the collection, where the\r
4150             cut function is negative (if any).</param>\r
4151             <param name="lowIsValid">True if the cut function is negative somewhere\r
4152             on this collection.</param>\r
4153             <param name="high">Returns the least item in the collection, where the\r
4154             cut function is positive (if any).</param>\r
4155             <param name="highIsValid">True if the cut function is positive somewhere\r
4156             on this collection.</param>\r
4157             <returns></returns>\r
4158         </member>\r
4159         <member name="M:C5.TreeSet`1.CountFrom(`0)">\r
4160             <summary>\r
4161             Determine the number of items at or above a supplied threshold.\r
4162             </summary>\r
4163             <param name="bot">The lower bound (inclusive)</param>\r
4164             <returns>The number of matcing items.</returns>\r
4165         </member>\r
4166         <member name="M:C5.TreeSet`1.CountFromTo(`0,`0)">\r
4167             <summary>\r
4168             Determine the number of items between two supplied thresholds.\r
4169             </summary>\r
4170             <param name="bot">The lower bound (inclusive)</param>\r
4171             <param name="top">The upper bound (exclusive)</param>\r
4172             <returns>The number of matcing items.</returns>\r
4173         </member>\r
4174         <member name="M:C5.TreeSet`1.CountTo(`0)">\r
4175             <summary>\r
4176             Determine the number of items below a supplied threshold.\r
4177             </summary>\r
4178             <param name="top">The upper bound (exclusive)</param>\r
4179             <returns>The number of matcing items.</returns>\r
4180         </member>\r
4181         <member name="M:C5.TreeSet`1.RemoveRangeFrom(`0)">\r
4182             <summary>\r
4183             Remove all items of this collection above or at a supplied threshold.\r
4184             </summary>\r
4185             <param name="low">The lower threshold (inclusive).</param>\r
4186         </member>\r
4187         <member name="M:C5.TreeSet`1.RemoveRangeFromTo(`0,`0)">\r
4188             <summary>\r
4189             Remove all items of this collection between two supplied thresholds.\r
4190             </summary>\r
4191             <param name="low">The lower threshold (inclusive).</param>\r
4192             <param name="hi">The upper threshold (exclusive).</param>\r
4193         </member>\r
4194         <member name="M:C5.TreeSet`1.RemoveRangeTo(`0)">\r
4195             <summary>\r
4196             Remove all items of this collection below a supplied threshold.\r
4197             </summary>\r
4198             <param name="hi">The upper threshold (exclusive).</param>\r
4199         </member>\r
4200         <member name="M:C5.TreeSet`1.Dispose">\r
4201             <summary>\r
4202             If this tree is a snapshot, remove registration in base tree\r
4203             </summary>\r
4204         </member>\r
4205         <member name="M:C5.TreeSet`1.Finalize">\r
4206             <summary>\r
4207             If this tree is a snapshot, remove registration in base tree\r
4208             </summary>\r
4209         </member>\r
4210         <member name="M:C5.TreeSet`1.Snapshot">\r
4211             <summary>\r
4212             Make a (read-only) snap shot of this collection.\r
4213             </summary>\r
4214             <returns>The snap shot.</returns>\r
4215         </member>\r
4216         <member name="M:C5.TreeSet`1.minidump(C5.TreeSet{`0}.Node,System.String)">\r
4217             <summary>\r
4218             Display this node on the console, and recursively its subnodes.\r
4219             </summary>\r
4220             <param name="n">Node to display</param>\r
4221             <param name="space">Indentation</param>\r
4222         </member>\r
4223         <member name="M:C5.TreeSet`1.dump">\r
4224             <summary>\r
4225             Print the tree structure to the console stdout.\r
4226             </summary>\r
4227         </member>\r
4228         <member name="M:C5.TreeSet`1.dump(System.String)">\r
4229             <summary>\r
4230             Print the tree structure to the console stdout.\r
4231             </summary>\r
4232         </member>\r
4233         <member name="M:C5.TreeSet`1.dump(System.String,System.String)">\r
4234             <summary>\r
4235             Display this tree on the console.\r
4236             </summary>\r
4237             <param name="msg">Identifying string of this call to dump</param>\r
4238             <param name="err">Extra (error)message to include</param>\r
4239         </member>\r
4240         <member name="M:C5.TreeSet`1.massert(System.Boolean,C5.TreeSet{`0}.Node,System.String,System.IO.TextWriter)">\r
4241             <summary>\r
4242             Print warning m on o if b is false.\r
4243             </summary>\r
4244             <param name="b">Condition that should hold</param>\r
4245             <param name="n">Place (used for id display)</param>\r
4246             <param name="m">Message</param>\r
4247             <param name="o">Output stream</param>\r
4248             <returns>b</returns>\r
4249         </member>\r
4250         <member name="M:C5.TreeSet`1.Check(System.String)">\r
4251             <summary>\r
4252             Checks red-black invariant. Dumps tree to console if bad\r
4253             </summary>\r
4254             <param name="name">Title of dump</param>\r
4255             <returns>false if invariant violation</returns>\r
4256         </member>\r
4257         <member name="M:C5.TreeSet`1.Check">\r
4258             <summary>\r
4259             Checks red-black invariant. Dumps tree to console if bad\r
4260             </summary>\r
4261             <returns>false if invariant violation</returns>\r
4262         </member>\r
4263         <member name="P:C5.TreeSet`1.Features">\r
4264             <summary>\r
4265             A debugging aid for making the selected compilation alternatives \r
4266             available to the user. (To be removed when selection is finally fixed\r
4267             for production version).\r
4268             </summary>\r
4269         </member>\r
4270         <member name="P:C5.TreeSet`1.AllowsDuplicates">\r
4271             <summary></summary>\r
4272             <value>False since this tree has set semantics.</value>\r
4273         </member>\r
4274         <member name="P:C5.TreeSet`1.ContainsSpeed">\r
4275             <summary>\r
4276             The value is symbolic indicating the type of asymptotic complexity\r
4277             in terms of the size of this collection (worst-case or amortized as\r
4278             relevant).\r
4279             </summary>\r
4280             <value>Speed.Log</value>\r
4281         </member>\r
4282         <member name="P:C5.TreeSet`1.Item(System.Int32)">\r
4283             <summary>\r
4284             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
4285             &gt;= the size of the collection.\r
4286             </summary>\r
4287             <value>The i'th item of this list.</value>\r
4288             <param name="i">the index to lookup</param>\r
4289         </member>\r
4290         <member name="P:C5.TreeSet`1.Item(System.Int32,System.Int32)">\r
4291             <summary>\r
4292             <exception cref="T:System.IndexOutOfRangeException"/>.\r
4293             </summary>\r
4294             <value>The directed collection of items in a specific index interval.</value>\r
4295             <param name="start">The low index of the interval (inclusive).</param>\r
4296             <param name="end">The high index of the interval (exclusive).</param>\r
4297         </member>\r
4298         <member name="P:C5.TreeSet`1.Comparer">\r
4299             <summary>\r
4300             The comparer object supplied at creation time for this collection\r
4301             </summary>\r
4302             <value>The comparer</value>\r
4303         </member>\r
4304         <member name="T:C5.TreeSet`1.Feature">\r
4305             <summary>\r
4306             A debugging aid for making the selected compilation alternatives \r
4307             available to the user. (To be removed when selection is finally fixed\r
4308             for production version).\r
4309             </summary>\r
4310         </member>\r
4311         <member name="F:C5.TreeSet`1.Feature.Dummy">\r
4312             <summary>\r
4313             Nothing\r
4314             </summary>\r
4315         </member>\r
4316         <member name="F:C5.TreeSet`1.Feature.NodeCopyPersistence">\r
4317             <summary>\r
4318             Node copy persistence as explained in <a href="litterature.htm#Tarjan1">Tarjan1</a>\r
4319             </summary>\r
4320         </member>\r
4321         <member name="F:C5.TreeSet`1.Feature.Sizes">\r
4322             <summary>\r
4323             Maintain sub tree sizes\r
4324             </summary>\r
4325         </member>\r
4326         <member name="F:C5.TreeSet`1.Feature.Heights">\r
4327             <summary>\r
4328             Maintain precise node heights\r
4329             </summary>\r
4330         </member>\r
4331         <member name="F:C5.TreeSet`1.Feature.Ranks">\r
4332             <summary>\r
4333             Maintain node ranks (~ black height)\r
4334             </summary>\r
4335         </member>\r
4336         <member name="F:C5.TreeSet`1.Feature.Traceid">\r
4337             <summary>\r
4338             Maintain unique ids on tree nodes.\r
4339             </summary>\r
4340         </member>\r
4341         <member name="T:C5.TreeSet`1.Node">\r
4342             <summary>\r
4343             The type of node in a Red-Black binary tree\r
4344             </summary>\r
4345         </member>\r
4346         <member name="M:C5.TreeSet`1.Node.update(C5.TreeSet{`0}.Node@,System.Boolean,C5.TreeSet{`0}.Node,System.Int32,System.Int32)">\r
4347             <summary>\r
4348             Update a child pointer\r
4349             </summary>\r
4350             <param name="cursor"></param>\r
4351             <param name="leftnode"></param>\r
4352             <param name="child"></param>\r
4353             <param name="maxsnapid"></param>\r
4354             <param name="generation"></param>\r
4355             <returns>True if node was *copied*</returns>\r
4356         </member>\r
4357         <member name="T:C5.TreeSet`1.Enumerator">\r
4358             <summary>\r
4359             An enumerator for a red-black tree collection. Based on an explicit stack\r
4360             of subtrees waiting to be enumerated. Currently only used for the tree set \r
4361             enumerators (tree bag enumerators use an iterator block based enumerator).\r
4362             </summary>\r
4363         </member>\r
4364         <member name="M:C5.TreeSet`1.Enumerator.#ctor(C5.TreeSet{`0})">\r
4365             <summary>\r
4366             Create a tree enumerator\r
4367             </summary>\r
4368             <param name="tree">The red-black tree to enumerate</param>\r
4369         </member>\r
4370         <member name="M:C5.TreeSet`1.Enumerator.MoveNext">\r
4371             <summary>\r
4372             Move enumerator to next item in tree, or the first item if\r
4373             this is the first call to MoveNext. \r
4374             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
4375             </summary>\r
4376             <returns>True if enumerator is valid now</returns>\r
4377         </member>\r
4378         <member name="M:C5.TreeSet`1.Enumerator.Dispose">\r
4379             <summary>\r
4380             Call Dispose(true) and then suppress finalization of this enumerator.\r
4381             </summary>\r
4382         </member>\r
4383         <member name="M:C5.TreeSet`1.Enumerator.Dispose(System.Boolean)">\r
4384             <summary>\r
4385             Remove the internal data (notably the stack array).\r
4386             </summary>\r
4387             <param name="disposing">True if called from Dispose(),\r
4388             false if called from the finalizer</param>\r
4389         </member>\r
4390         <member name="M:C5.TreeSet`1.Enumerator.Finalize">\r
4391             <summary>\r
4392             Finalizer for enumeratir\r
4393             </summary>\r
4394         </member>\r
4395         <member name="P:C5.TreeSet`1.Enumerator.Current">\r
4396             <summary>\r
4397             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
4398             </summary>\r
4399             <value>The current item of the enumerator.</value>\r
4400         </member>\r
4401         <member name="T:C5.TreeSet`1.SnapEnumerator">\r
4402             <summary>\r
4403             An enumerator for a snapshot of a node copy persistent red-black tree\r
4404             collection.\r
4405             </summary>\r
4406         </member>\r
4407         <member name="M:C5.TreeSet`1.SnapEnumerator.#ctor(C5.TreeSet{`0})">\r
4408             <summary>\r
4409             Creta an enumerator for a snapshot of a node copy persistent red-black tree\r
4410             collection\r
4411             </summary>\r
4412             <param name="tree">The snapshot</param>\r
4413         </member>\r
4414         <member name="M:C5.TreeSet`1.SnapEnumerator.MoveNext">\r
4415             <summary>\r
4416             Move enumerator to next item in tree, or the first item if\r
4417             this is the first call to MoveNext. \r
4418             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
4419             </summary>\r
4420             <returns>True if enumerator is valid now</returns>\r
4421         </member>\r
4422         <member name="P:C5.TreeSet`1.SnapEnumerator.Current">\r
4423             <summary>\r
4424             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
4425             </summary>\r
4426             <value>The current value of the enumerator.</value>\r
4427         </member>\r
4428         <member name="M:C5.TreeSet`1.Range.Enumerator.MoveNext">\r
4429             <summary>\r
4430             Move enumerator to next item in tree, or the first item if\r
4431             this is the first call to MoveNext. \r
4432             <exception cref="T:System.InvalidOperationException"/> if underlying tree was modified.\r
4433             </summary>\r
4434             <returns>True if enumerator is valid now</returns>\r
4435         </member>\r
4436         <member name="P:C5.TreeSet`1.Range.Enumerator.Current">\r
4437             <summary>\r
4438             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
4439             </summary>\r
4440             <value>The current value of the enumerator.</value>\r
4441         </member>\r
4442         <member name="T:C5.IntervalHeap`1">\r
4443             <summary>\r
4444             A priority queue class based on an interval heap data structure.\r
4445             </summary>\r
4446         </member>\r
4447         <member name="M:C5.IntervalHeap`1.#ctor">\r
4448             <summary>\r
4449             Create an interval heap with natural item comparer and default initial capacity (16)\r
4450             </summary>\r
4451         </member>\r
4452         <member name="M:C5.IntervalHeap`1.#ctor(C5.IComparer{`0})">\r
4453             <summary>\r
4454             Create an interval heap with external item comparer and default initial capacity (16)\r
4455             </summary>\r
4456             <param name="c">The external comparer</param>\r
4457         </member>\r
4458         <member name="M:C5.IntervalHeap`1.#ctor(System.Int32)">\r
4459             <summary>\r
4460             Create an interval heap with natural item comparer and prescribed initial capacity\r
4461             </summary>\r
4462             <param name="capacity">The initial capacity</param>\r
4463         </member>\r
4464         <member name="M:C5.IntervalHeap`1.#ctor(C5.IComparer{`0},System.Int32)">\r
4465             <summary>\r
4466             Create an interval heap with external item comparer and prescribed initial capacity\r
4467             </summary>\r
4468             <param name="c">The external comparer</param>\r
4469             <param name="capacity">The initial capacity</param>\r
4470         </member>\r
4471         <member name="M:C5.IntervalHeap`1.FindMin">\r
4472             <summary>\r
4473             Find the current least item of this priority queue.\r
4474             <exception cref="T:System.InvalidOperationException"/> if queue is empty\r
4475             </summary>\r
4476             <returns>The least item.</returns>\r
4477         </member>\r
4478         <member name="M:C5.IntervalHeap`1.DeleteMin">\r
4479             <summary>\r
4480             Remove the least item from this  priority queue.\r
4481             <exception cref="T:System.InvalidOperationException"/> if queue is empty\r
4482             </summary>\r
4483             <returns>The removed item.</returns>\r
4484         </member>\r
4485         <member name="M:C5.IntervalHeap`1.FindMax">\r
4486             <summary>\r
4487             Find the current largest item of this priority queue.\r
4488             <exception cref="T:System.InvalidOperationException"/> if queue is empty\r
4489             </summary>\r
4490             <returns>The largest item.</returns>\r
4491         </member>\r
4492         <member name="M:C5.IntervalHeap`1.DeleteMax">\r
4493             <summary>\r
4494             Remove the largest item from this  priority queue.\r
4495             <exception cref="T:System.InvalidOperationException"/> if queue is empty\r
4496             </summary>\r
4497             <returns>The removed item.</returns>\r
4498         </member>\r
4499         <member name="M:C5.IntervalHeap`1.Add(`0)">\r
4500             <summary>\r
4501             Add an item to this priority queue.\r
4502             </summary>\r
4503             <param name="item">The item to add.</param>\r
4504             <returns>True</returns>\r
4505         </member>\r
4506         <member name="M:C5.IntervalHeap`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
4507             <summary>\r
4508             Add the elements from another collection to this collection. \r
4509             </summary>\r
4510             <param name="items">The items to add.</param>\r
4511         </member>\r
4512         <member name="M:C5.IntervalHeap`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
4513             <summary>\r
4514             Add the elements from another collection with a more specialized item type \r
4515             to this collection. \r
4516             </summary>\r
4517             <typeparam name="U">The type of items to add</typeparam>\r
4518             <param name="items">The items to add</param>\r
4519         </member>\r
4520         <member name="M:C5.IntervalHeap`1.GetEnumerator">\r
4521             <summary>\r
4522             Create an enumerator for the collection\r
4523             <para>Note: the enumerator does *not* enumerate the items in sorted order, \r
4524             but in the internal table order.</para>\r
4525             </summary>\r
4526             <returns>The enumerator(SIC)</returns>\r
4527         </member>\r
4528         <member name="M:C5.IntervalHeap`1.Check">\r
4529             <summary>\r
4530             Check the integrity of the internal data structures of this collection.\r
4531             Only avaliable in DEBUG builds???\r
4532             </summary>\r
4533             <returns>True if check does not fail.</returns>\r
4534         </member>\r
4535         <member name="P:C5.IntervalHeap`1.Comparer">\r
4536             <summary>\r
4537             The comparer object supplied at creation time for this collection\r
4538             </summary>\r
4539             <value>The comparer</value>\r
4540         </member>\r
4541         <member name="P:C5.IntervalHeap`1.AllowsDuplicates">\r
4542             <summary>\r
4543             \r
4544             </summary>\r
4545             <value>True since this collection has bag semantics</value>\r
4546         </member>\r
4547         <member name="P:C5.IntervalHeap`1.SyncRoot">\r
4548             <summary>\r
4549             \r
4550             </summary>\r
4551             <value>The distinguished object to use for locking to synchronize multithreaded access</value>\r
4552         </member>\r
4553         <member name="P:C5.IntervalHeap`1.IsEmpty">\r
4554             <summary>\r
4555             \r
4556             </summary>\r
4557             <value>True if this collection is empty.</value>\r
4558         </member>\r
4559         <member name="P:C5.IntervalHeap`1.Count">\r
4560             <summary>\r
4561             \r
4562             </summary>\r
4563             <value>The size of this collection</value>\r
4564         </member>\r
4565         <member name="P:C5.IntervalHeap`1.CountSpeed">\r
4566             <summary>\r
4567             The value is symbolic indicating the type of asymptotic complexity\r
4568             in terms of the size of this collection (worst-case or amortized as\r
4569             relevant).\r
4570             </summary>\r
4571             <value>A characterization of the speed of the \r
4572             <code>Count</code> property in this collection.</value>\r
4573         </member>\r
4574         <member name="T:C5.HashDictionary`2">\r
4575             <summary>\r
4576             A generic dictionary class based on a hash set class <see cref="T:C5.HashSet!1"/>.\r
4577             </summary>\r
4578         </member>\r
4579         <member name="M:C5.HashDictionary`2.#ctor">\r
4580             <summary>\r
4581             Create a hash dictionary using a default hasher for the keys.\r
4582             Initial capacity of internal table will be 16 entries and threshold for \r
4583             expansion is 66% fill.\r
4584             </summary>\r
4585         </member>\r
4586         <member name="M:C5.HashDictionary`2.#ctor(C5.IHasher{`0})">\r
4587             <summary>\r
4588             Create a hash dictionary using a custom hasher for the keys.\r
4589             Initial capacity of internal table will be 16 entries and threshold for \r
4590             expansion is 66% fill.\r
4591             </summary>\r
4592             <param name="h">The external key hasher</param>\r
4593         </member>\r
4594         <member name="M:C5.HashDictionary`2.#ctor(System.Int32,System.Double,C5.IHasher{`0})">\r
4595             <summary>\r
4596             Create a hash dictionary using a custom hasher and prescribing the \r
4597             initial size of the dictionary and a non-default threshold for internal table expansion.\r
4598             </summary>\r
4599             <param name="capacity">The initial capacity. Will be rounded upwards to nearest\r
4600             power of 2, at least 16.</param>\r
4601             <param name="fill">The expansion threshold. Must be between 10% and 90%.</param>\r
4602             <param name="h">The external key hasher</param>\r
4603         </member>\r
4604         <member name="T:C5.ArrayList`1">\r
4605              <summary>\r
4606              A list collection based on a plain dynamic array data structure.\r
4607              Expansion of the internal array is performed by doubling on demand. \r
4608              The internal array is only shrinked by the Clear method. \r
4609             \r
4610              <p>When the FIFO property is set to false this class works fine as a stack of T.\r
4611              When the FIFO property is set to true the class will function as a (FIFO) queue\r
4612              but very inefficiently, use a LinkedList (<see cref="T:C5.LinkedList!1"/>) instead.</p>\r
4613              </summary>\r
4614         </member>\r
4615         <member name="F:C5.ArrayList`1.underlying">\r
4616             <summary>\r
4617             The underlying list if we are a view, null else.\r
4618             </summary>\r
4619         </member>\r
4620         <member name="F:C5.ArrayList`1.underlyingsize">\r
4621             <summary>\r
4622             The size of the underlying list.\r
4623             </summary>\r
4624         </member>\r
4625         <member name="F:C5.ArrayList`1.fIFO">\r
4626             <summary>\r
4627             The underlying field of the FIFO property\r
4628             </summary>\r
4629         </member>\r
4630         <member name="M:C5.ArrayList`1.expand">\r
4631             <summary>\r
4632             Double the size of the internal array.\r
4633             </summary>\r
4634         </member>\r
4635         <member name="M:C5.ArrayList`1.expand(System.Int32,System.Int32)">\r
4636             <summary>\r
4637             Expand the internal array, resetting the index of the first unused element.\r
4638             </summary>\r
4639             <param name="newcapacity">The new capacity (will be rouded upwards to a power of 2).</param>\r
4640             <param name="newsize">The new count of </param>\r
4641         </member>\r
4642         <member name="M:C5.ArrayList`1.updatecheck">\r
4643             <summary>\r
4644             Check if it is valid to perform updates and increment stamp.\r
4645             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
4646             </summary>\r
4647         </member>\r
4648         <member name="M:C5.ArrayList`1.modifycheck">\r
4649             <summary>\r
4650             Check if we are a view that the underlying list has only been updated through us.\r
4651             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
4652             <br/>\r
4653             This method should be called from enumerators etc to guard against \r
4654             modification of the base collection.\r
4655             </summary>\r
4656         </member>\r
4657         <member name="M:C5.ArrayList`1.modifycheck(System.Int32)">\r
4658             <summary>\r
4659             Check that the list has not been updated since a particular time.\r
4660             <exception cref="T:System.InvalidOperationException"/> if check fails.\r
4661             </summary>\r
4662             <param name="stamp">The stamp indicating the time.</param>\r
4663         </member>\r
4664         <member name="M:C5.ArrayList`1.addtosize(System.Int32)">\r
4665             <summary>\r
4666             Increment or decrement the private size fields\r
4667             </summary>\r
4668             <param name="delta">Increment (with sign)</param>\r
4669         </member>\r
4670         <member name="M:C5.ArrayList`1.indexOf(`0)">\r
4671             <summary>\r
4672             Internal version of IndexOf without modification checks.\r
4673             </summary>\r
4674             <param name="item">Item to look for</param>\r
4675             <returns>The index of first occurrence</returns>\r
4676         </member>\r
4677         <member name="M:C5.ArrayList`1.lastIndexOf(`0)">\r
4678             <summary>\r
4679             Internal version of LastIndexOf without modification checks.\r
4680             </summary>\r
4681             <param name="item">Item to look for</param>\r
4682             <returns>The index of last occurrence</returns>\r
4683         </member>\r
4684         <member name="M:C5.ArrayList`1.insert(System.Int32,`0)">\r
4685             <summary>\r
4686             Internal version of Insert with no modification checks.\r
4687             </summary>\r
4688             <param name="i">Index to insert at</param>\r
4689             <param name="item">Item to insert</param>\r
4690         </member>\r
4691         <member name="M:C5.ArrayList`1.removeAt(System.Int32)">\r
4692             <summary>\r
4693             Internal version of RemoveAt with no modification checks.\r
4694             </summary>\r
4695             <param name="i">Index to remove at</param>\r
4696             <returns>The removed item</returns>\r
4697         </member>\r
4698         <member name="M:C5.ArrayList`1.#ctor">\r
4699             <summary>\r
4700             Create an array list with default item hasher and initial capacity 8 items.\r
4701             </summary>\r
4702         </member>\r
4703         <member name="M:C5.ArrayList`1.#ctor(C5.IHasher{`0})">\r
4704             <summary>\r
4705             Create an array list with external item hasher and initial capacity 8 items.\r
4706             </summary>\r
4707             <param name="hasher">The external hasher</param>\r
4708         </member>\r
4709         <member name="M:C5.ArrayList`1.#ctor(System.Int32)">\r
4710             <summary>\r
4711             Create an array list with default item hasher and prescribed initial capacity.\r
4712             </summary>\r
4713             <param name="capacity">The prescribed capacity</param>\r
4714         </member>\r
4715         <member name="M:C5.ArrayList`1.#ctor(System.Int32,C5.IHasher{`0})">\r
4716             <summary>\r
4717             Create an array list with external item hasher and prescribed initial capacity.\r
4718             </summary>\r
4719             <param name="capacity">The prescribed capacity</param>\r
4720             <param name="hasher">The external hasher</param>\r
4721         </member>\r
4722         <member name="M:C5.ArrayList`1.Insert(System.Int32,`0)">\r
4723             <summary>\r
4724             Insert an item at a specific index location in this list. \r
4725             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
4726             &gt; the size of the collection.</summary>\r
4727             <param name="i">The index at which to insert.</param>\r
4728             <param name="item">The item to insert.</param>\r
4729         </member>\r
4730         <member name="M:C5.ArrayList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
4731             <summary>\r
4732             Insert into this list all items from an enumerable collection starting \r
4733             at a particular index.\r
4734             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
4735             &gt; the size of the collection.\r
4736             </summary>\r
4737             <param name="i">Index to start inserting at</param>\r
4738             <param name="items">Items to insert</param>\r
4739         </member>\r
4740         <member name="M:C5.ArrayList`1.InsertBefore(`0,`0)">\r
4741             <summary>\r
4742             Insert an item right before the first occurrence of some target item.\r
4743             <exception cref="T:System.ArgumentException"/> if target    is not found.\r
4744             </summary>\r
4745             <param name="item">The item to insert.</param>\r
4746             <param name="target">The target before which to insert.</param>\r
4747         </member>\r
4748         <member name="M:C5.ArrayList`1.InsertAfter(`0,`0)">\r
4749             <summary>\r
4750             Insert an item right after the last(???) occurrence of some target item.\r
4751             <exception cref="T:System.ArgumentException"/> if target    is not found.\r
4752             </summary>\r
4753             <param name="item">The item to insert.</param>\r
4754             <param name="target">The target after which to insert.</param>\r
4755         </member>\r
4756         <member name="M:C5.ArrayList`1.InsertFirst(`0)">\r
4757             <summary>\r
4758             Insert an item at the front of this list;\r
4759             </summary>\r
4760             <param name="item">The item to insert.</param>\r
4761         </member>\r
4762         <member name="M:C5.ArrayList`1.InsertLast(`0)">\r
4763             <summary>\r
4764             Insert an item at the back of this list.\r
4765             </summary>\r
4766             <param name="item">The item to insert.</param>\r
4767         </member>\r
4768         <member name="M:C5.ArrayList`1.FindAll(C5.Filter{`0})">\r
4769             <summary>\r
4770             Create a new list consisting of the items of this list satisfying a \r
4771             certain predicate.\r
4772             </summary>\r
4773             <param name="filter">The filter delegate defining the predicate.</param>\r
4774             <returns>The new list.</returns>\r
4775         </member>\r
4776         <member name="M:C5.ArrayList`1.Map``1(C5.Mapper{`0,``0})">\r
4777             <summary>\r
4778             Create a new list consisting of the results of mapping all items of this\r
4779             list. The new list will use the default hasher for the item type V.\r
4780             </summary>\r
4781             <typeparam name="V">The type of items of the new list</typeparam>\r
4782             <param name="mapper">The delegate defining the map.</param>\r
4783             <returns>The new list.</returns>\r
4784         </member>\r
4785         <member name="M:C5.ArrayList`1.Map``1(C5.Mapper{`0,``0},C5.IHasher{``0})">\r
4786             <summary>\r
4787             Create a new list consisting of the results of mapping all items of this\r
4788             list. The new list will use a specified hasher for the item type.\r
4789             </summary>\r
4790             <typeparam name="V">The type of items of the new list</typeparam>\r
4791             <param name="mapper">The delegate defining the map.</param>\r
4792             <param name="hasher">The hasher to use for the new list</param>\r
4793             <returns>The new list.</returns>\r
4794         </member>\r
4795         <member name="M:C5.ArrayList`1.Remove">\r
4796             <summary>\r
4797             Remove one item from the list: from the front if <code>FIFO</code>\r
4798             is true, else from the back.\r
4799             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
4800             </summary>\r
4801             <returns>The removed item.</returns>\r
4802         </member>\r
4803         <member name="M:C5.ArrayList`1.RemoveFirst">\r
4804             <summary>\r
4805             Remove one item from the fromnt of the list.\r
4806             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
4807             </summary>\r
4808             <returns>The removed item.</returns>\r
4809         </member>\r
4810         <member name="M:C5.ArrayList`1.RemoveLast">\r
4811             <summary>\r
4812             Remove one item from the back of the list.\r
4813             </summary>\r
4814             <exception cref="T:System.InvalidOperationException"> if this list is empty.</exception>\r
4815             <returns>The removed item.</returns>\r
4816         </member>\r
4817         <member name="M:C5.ArrayList`1.View(System.Int32,System.Int32)">\r
4818             <summary>\r
4819             Create a list view on this list. \r
4820             <exception cref="T:System.ArgumentOutOfRangeException"/> if the start or count is negative\r
4821             <exception cref="T:System.ArgumentException"/> if the range does not fit within list.\r
4822             </summary>\r
4823             <param name="start">The index in this list of the start of the view.</param>\r
4824             <param name="count">The size of the view.</param>\r
4825             <returns>The new list view.</returns>\r
4826         </member>\r
4827         <member name="M:C5.ArrayList`1.Slide(System.Int32)">\r
4828             <summary>\r
4829             Slide this list view along the underlying list.\r
4830             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
4831             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
4832             would bring either end of the view outside the underlying list.\r
4833             </summary>\r
4834             <param name="offset">The signed amount to slide: positive to slide\r
4835             towards the end.</param>\r
4836         </member>\r
4837         <member name="M:C5.ArrayList`1.Slide(System.Int32,System.Int32)">\r
4838             <summary>\r
4839             Slide this list view along the underlying list, changing its size.\r
4840             <exception cref="T:System.InvalidOperationException"/> if this list is not a view.\r
4841             <exception cref="T:System.ArgumentOutOfRangeException"/> if the operation\r
4842             would bring either end of the view outside the underlying list.\r
4843             </summary>\r
4844             <param name="offset">The signed amount to slide: positive to slide\r
4845             towards the end.</param>\r
4846             <param name="size">The new size of the view.</param>\r
4847         </member>\r
4848         <member name="M:C5.ArrayList`1.Reverse">\r
4849             <summary>\r
4850             Reverst the list so the items are in the opposite sequence order.\r
4851             </summary>\r
4852         </member>\r
4853         <member name="M:C5.ArrayList`1.Reverse(System.Int32,System.Int32)">\r
4854             <summary>\r
4855             Reverst part of the list so the items are in the opposite sequence order.\r
4856             <exception cref="T:System.ArgumentException"/> if the count is negative.\r
4857             <exception cref="T:System.ArgumentOutOfRangeException"/> if the part does not fit\r
4858             into the list.\r
4859             </summary>\r
4860             <param name="start">The index of the start of the part to reverse.</param>\r
4861             <param name="count">The size of the part to reverse.</param>\r
4862         </member>\r
4863         <member name="M:C5.ArrayList`1.IsSorted(C5.IComparer{`0})">\r
4864             <summary>\r
4865             Check if this list is sorted according to a specific sorting order.\r
4866             </summary>\r
4867             <param name="c">The comparer defining the sorting order.</param>\r
4868             <returns>True if the list is sorted, else false.</returns>\r
4869         </member>\r
4870         <member name="M:C5.ArrayList`1.Sort(C5.IComparer{`0})">\r
4871             <summary>\r
4872             Sort the items of the list according to a specific sorting order.\r
4873             </summary>\r
4874             <param name="c">The comparer defining the sorting order.</param>\r
4875         </member>\r
4876         <member name="M:C5.ArrayList`1.Shuffle">\r
4877             <summary>\r
4878             Randonmly shuffle the items of this list. \r
4879             </summary>\r
4880         </member>\r
4881         <member name="M:C5.ArrayList`1.Shuffle(System.Random)">\r
4882             <summary>\r
4883             Shuffle the items of this list according to a specific random source.\r
4884             </summary>\r
4885             <param name="rnd">The random source.</param>\r
4886         </member>\r
4887         <member name="M:C5.ArrayList`1.IndexOf(`0)">\r
4888             <summary>\r
4889             Search for an item in the list going forwrds from the start.\r
4890             </summary>\r
4891             <param name="item">Item to search for.</param>\r
4892             <returns>Index of item from start.</returns>\r
4893         </member>\r
4894         <member name="M:C5.ArrayList`1.LastIndexOf(`0)">\r
4895             <summary>\r
4896             Search for an item in the list going backwords from the end.\r
4897             </summary>\r
4898             <param name="item">Item to search for.</param>\r
4899             <returns>Index of of item from the end.</returns>\r
4900         </member>\r
4901         <member name="M:C5.ArrayList`1.RemoveAt(System.Int32)">\r
4902             <summary>\r
4903             Remove the item at a specific position of the list.\r
4904             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
4905             &gt;= the size of the collection.\r
4906             </summary>\r
4907             <param name="i">The index of the item to remove.</param>\r
4908             <returns>The removed item.</returns>\r
4909         </member>\r
4910         <member name="M:C5.ArrayList`1.RemoveInterval(System.Int32,System.Int32)">\r
4911             <summary>\r
4912             Remove all items in an index interval.\r
4913             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
4914             </summary>\r
4915             <param name="start">The index of the first item to remove.</param>\r
4916             <param name="count">The number of items to remove.</param>\r
4917         </member>\r
4918         <member name="M:C5.ArrayList`1.Contains(`0)">\r
4919             <summary>\r
4920             Check if this collection contains (an item equivalent to according to the\r
4921             itemhasher) a particular value.\r
4922             </summary>\r
4923             <param name="item">The value to check for.</param>\r
4924             <returns>True if the items is in this collection.</returns>\r
4925         </member>\r
4926         <member name="M:C5.ArrayList`1.Find(`0@)">\r
4927             <summary>\r
4928             Check if this collection contains an item equivalent according to the\r
4929             itemhasher to a particular value. If so, return in the ref argument (a\r
4930             binary copy of) the actual value found.\r
4931             </summary>\r
4932             <param name="item">The value to look for.</param>\r
4933             <returns>True if the items is in this collection.</returns>\r
4934         </member>\r
4935         <member name="M:C5.ArrayList`1.Update(`0)">\r
4936             <summary>\r
4937             Check if this collection contains an item equivalent according to the\r
4938             itemhasher to a particular value. If so, update the item in the collection \r
4939             to with a binary copy of the supplied value. This will only update the first \r
4940             mathching item.\r
4941             </summary>\r
4942             <param name="item">Value to update.</param>\r
4943             <returns>True if the item was found and hence updated.</returns>\r
4944         </member>\r
4945         <member name="M:C5.ArrayList`1.FindOrAdd(`0@)">\r
4946             <summary>\r
4947             Check if this collection contains an item equivalent according to the\r
4948             itemhasher to a particular value. If so, return in the ref argument (a\r
4949             binary copy of) the actual value found. Else, add the item to the collection.\r
4950             </summary>\r
4951             <param name="item">The value to look for.</param>\r
4952             <returns>True if the item was found (hence not added).</returns>\r
4953         </member>\r
4954         <member name="M:C5.ArrayList`1.UpdateOrAdd(`0)">\r
4955             <summary>\r
4956             Check if this collection contains an item equivalent according to the\r
4957             itemhasher to a particular value. If so, update the item in the collection \r
4958             to with a binary copy of the supplied value. This will only update the first \r
4959             mathching item.\r
4960             </summary>\r
4961             <param name="item">Value to update.</param>\r
4962             <returns>True if the item was found and hence updated.</returns>\r
4963         </member>\r
4964         <member name="M:C5.ArrayList`1.Remove(`0)">\r
4965             <summary>\r
4966             Remove the first copy of a particular item from this collection. \r
4967             </summary>\r
4968             <param name="item">The value to remove.</param>\r
4969             <returns>True if the item was found (and removed).</returns>\r
4970         </member>\r
4971         <member name="M:C5.ArrayList`1.RemoveWithReturn(`0@)">\r
4972             <summary>\r
4973             Remove the first copy of a particular item from this collection if found.\r
4974             If an item was removed, report a binary copy of the actual item removed in \r
4975             the argument.\r
4976             </summary>\r
4977             <param name="item">The value to remove on input.</param>\r
4978             <returns>True if the item was found (and removed).</returns>\r
4979         </member>\r
4980         <member name="M:C5.ArrayList`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
4981             <summary>\r
4982             Remove all items in another collection from this one, taking multiplicities into account.\r
4983             Matching items will be removed from the front. Current implementation is not optimal.\r
4984             </summary>\r
4985             <param name="items">The items to remove.</param>\r
4986         </member>\r
4987         <member name="M:C5.ArrayList`1.Clear">\r
4988             <summary>\r
4989             Remove all items from this collection, resetting internal array size.\r
4990             </summary>\r
4991         </member>\r
4992         <member name="M:C5.ArrayList`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
4993             <summary>\r
4994             Remove all items not in some other collection from this one, taking multiplicities into account.\r
4995             Items are retained front first.  Current implementation is not optimal.\r
4996             </summary>\r
4997             <param name="items">The items to retain.</param>\r
4998         </member>\r
4999         <member name="M:C5.ArrayList`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
5000             <summary>\r
5001             Check if this collection contains all the values in another collection,\r
5002             taking multiplicities into account.\r
5003             Current implementation is not optimal.\r
5004             </summary>\r
5005             <param name="items">The </param>\r
5006             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
5007         </member>\r
5008         <member name="M:C5.ArrayList`1.ContainsCount(`0)">\r
5009             <summary>\r
5010             Count the number of items of the collection equal to a particular value.\r
5011             Returns 0 if and only if the value is not in the collection.\r
5012             </summary>\r
5013             <param name="item">The value to count.</param>\r
5014             <returns>The number of copies found.</returns>\r
5015         </member>\r
5016         <member name="M:C5.ArrayList`1.RemoveAllCopies(`0)">\r
5017             <summary>\r
5018             Remove all items equal to a given one.\r
5019             </summary>\r
5020             <param name="item">The value to remove.</param>\r
5021         </member>\r
5022         <member name="M:C5.ArrayList`1.Check">\r
5023             <summary>\r
5024             Check the integrity of the internal data structures of this array list.\r
5025             </summary>\r
5026             <returns>True if check does not fail.</returns>\r
5027         </member>\r
5028         <member name="M:C5.ArrayList`1.Add(`0)">\r
5029             <summary>\r
5030             Add an item to end of this list.\r
5031             </summary>\r
5032             <param name="item">The item to add.</param>\r
5033             <returns>True</returns>\r
5034         </member>\r
5035         <member name="M:C5.ArrayList`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
5036             <summary>\r
5037             Add the elements from another collection to this collection. \r
5038             </summary>\r
5039             <param name="items">The items to add.</param>\r
5040         </member>\r
5041         <member name="M:C5.ArrayList`1.C5#IDirectedEnumerable{T}#Backwards">\r
5042             <summary>\r
5043             Create a collection containing the same items as this collection, but\r
5044             whose enumerator will enumerate the items backwards. The new collection\r
5045             will become invalid if the original is modified. Method typicaly used as in\r
5046             <code>foreach (T x in coll.Backwards()) {...}</code>\r
5047             </summary>\r
5048             <returns>The backwards collection.</returns>\r
5049         </member>\r
5050         <member name="M:C5.ArrayList`1.Push(`0)">\r
5051             <summary>\r
5052             Push an item to the top of the stack.\r
5053             </summary>\r
5054             <param name="item">The item</param>\r
5055         </member>\r
5056         <member name="M:C5.ArrayList`1.Pop">\r
5057             <summary>\r
5058             Pop the item at the top of the stack from the stack.\r
5059             </summary>\r
5060             <returns>The popped item.</returns>\r
5061         </member>\r
5062         <member name="M:C5.ArrayList`1.EnQueue(`0)">\r
5063             <summary>\r
5064             Enqueue an item at the back of the queue. \r
5065             </summary>\r
5066             <param name="item">The item</param>\r
5067         </member>\r
5068         <member name="M:C5.ArrayList`1.DeQueue">\r
5069             <summary>\r
5070             Dequeue an item from the front of the queue.\r
5071             </summary>\r
5072             <returns>The item</returns>\r
5073         </member>\r
5074         <member name="P:C5.ArrayList`1.First">\r
5075             <summary>\r
5076             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
5077             </summary>\r
5078             <value>The first item in this list.</value>\r
5079         </member>\r
5080         <member name="P:C5.ArrayList`1.Last">\r
5081             <summary>\r
5082             <exception cref="T:System.InvalidOperationException"/> if this list is empty.\r
5083             </summary>\r
5084             <value>The last item in this list.</value>\r
5085         </member>\r
5086         <member name="P:C5.ArrayList`1.FIFO">\r
5087             <summary>\r
5088             Since <code>Add(T item)</code> always add at the end of the list,\r
5089             this describes if list has FIFO or LIFO semantics.\r
5090             </summary>\r
5091             <value>True if the <code>Remove()</code> operation removes from the\r
5092             start of the list, false if it removes from the end.</value>\r
5093         </member>\r
5094         <member name="P:C5.ArrayList`1.Item(System.Int32)">\r
5095             <summary>\r
5096             On this list, this indexer is read/write.\r
5097             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
5098             &gt;= the size of the collection.\r
5099             </summary>\r
5100             <value>The i'th item of this list.</value>\r
5101             <param name="i">The index of the item to fetch or store.</param>\r
5102         </member>\r
5103         <member name="P:C5.ArrayList`1.Underlying">\r
5104             <summary>\r
5105             Null if this list is not a view.\r
5106             </summary>\r
5107             <value>Underlying list for view.</value>\r
5108         </member>\r
5109         <member name="P:C5.ArrayList`1.Offset">\r
5110             <summary>\r
5111             </summary>\r
5112             <value>Offset for this list view or 0 for an underlying list.</value>\r
5113         </member>\r
5114         <member name="P:C5.ArrayList`1.ContainsSpeed">\r
5115             <summary>\r
5116             The value is symbolic indicating the type of asymptotic complexity\r
5117             in terms of the size of this collection (worst-case or amortized as\r
5118             relevant).\r
5119             </summary>\r
5120             <value>Speed.Linear</value>\r
5121         </member>\r
5122         <member name="P:C5.ArrayList`1.AllowsDuplicates">\r
5123             <summary>\r
5124             \r
5125             </summary>\r
5126             <value>True, indicating array list has bag semantics.</value>\r
5127         </member>\r
5128         <member name="T:C5.ComparerBuilder.FromComparable`1">\r
5129             <summary>\r
5130             A default item comparer for an item type that is either generic (IComparable&lt;T&gt;)\r
5131             or ordinarily (System.IComparable) comparable.\r
5132             </summary>\r
5133         </member>\r
5134         <member name="M:C5.ComparerBuilder.FromComparable`1.Examine">\r
5135             <summary>\r
5136             Create a default comparer\r
5137             <exception cref="T:System.ArgumentException"/> if T is not comparable. \r
5138             </summary>\r
5139             <returns>The comparer</returns>\r
5140         </member>\r
5141         <member name="T:C5.HasherBuilder.SequencedHasher`2">\r
5142             <summary>\r
5143             Prototype for an sequenced hasher for IIndexed[W]\r
5144             This will use the IIndexed[W] specific operations\r
5145             </summary>\r
5146         </member>\r
5147         <member name="M:C5.HasherBuilder.SequencedHasher`2.GetHashCode(`0)">\r
5148             <summary>\r
5149             Get the hash code with respect to this sequenced hasher\r
5150             </summary>\r
5151             <param name="item">The item</param>\r
5152             <returns>The hash code</returns>\r
5153         </member>\r
5154         <member name="M:C5.HasherBuilder.SequencedHasher`2.Equals(`0,`0)">\r
5155             <summary>\r
5156             Check if two items are equal with respect to this sequenced hasher\r
5157             </summary>\r
5158             <param name="i1">first item</param>\r
5159             <param name="i2">second item</param>\r
5160             <returns>True if equal</returns>\r
5161         </member>\r
5162         <member name="T:C5.HasherBuilder.UnsequencedHasher`2">\r
5163             <summary>\r
5164             Prototype for an unsequenced hasher for ICollection[W]\r
5165             This will use the ICollection[W] specific operations\r
5166             </summary>\r
5167         </member>\r
5168         <member name="M:C5.HasherBuilder.UnsequencedHasher`2.GetHashCode(`0)">\r
5169             <summary>\r
5170             Get the hash code with respect to this unsequenced hasher\r
5171             </summary>\r
5172             <param name="item">The item</param>\r
5173             <returns>The hash code</returns>\r
5174         </member>\r
5175         <member name="M:C5.HasherBuilder.UnsequencedHasher`2.Equals(`0,`0)">\r
5176             <summary>\r
5177             Check if two items are equal with respect to this unsequenced hasher\r
5178             </summary>\r
5179             <param name="i1">first item</param>\r
5180             <param name="i2">second item</param>\r
5181             <returns>True if equal</returns>\r
5182         </member>\r
5183         <member name="T:C5.HasherBuilder.ByPrototype`1">\r
5184             <summary>\r
5185             Create a hasher for T that is DefaultValueTypeHasher[T] \r
5186             or DefaultReferenceTypeHasher[T] unless T has been \r
5187             instatiated to a type of the exact form IIndexed[W] or ICollection[W]\r
5188             in which case Examine will return Sequenced- repectively UnsequencedHasher.\r
5189             </summary>\r
5190         </member>\r
5191         <member name="M:C5.HasherBuilder.ByPrototype`1.Examine">\r
5192             <summary>\r
5193             See class description\r
5194             </summary>\r
5195             <returns>The hasher</returns>\r
5196         </member>\r
5197         <member name="T:C5.HasherBuilder.ByInvoke`1">\r
5198             <summary>\r
5199             IHasher factory class: examines at instatiation time if T is an\r
5200             interface implementing "int GetHashCode()" and "bool Equals(T)".\r
5201             If those are not present, MakeHasher will return a default hasher,\r
5202             else this class will implement Ihasher[T] via Invoke() on the\r
5203             reflected method infos.\r
5204             </summary>\r
5205         </member>\r
5206         <member name="M:C5.HasherBuilder.ByInvoke`1.MakeHasher">\r
5207             <summary>\r
5208             \r
5209             </summary>\r
5210             <returns></returns>\r
5211         </member>\r
5212         <member name="M:C5.HasherBuilder.ByInvoke`1.GetHashCode(`0)">\r
5213             <summary>\r
5214             \r
5215             </summary>\r
5216             <param name="item"></param>\r
5217             <returns></returns>\r
5218         </member>\r
5219         <member name="M:C5.HasherBuilder.ByInvoke`1.Equals(`0,`0)">\r
5220             <summary>\r
5221             \r
5222             </summary>\r
5223             <param name="i1"></param>\r
5224             <param name="i2"></param>\r
5225             <returns></returns>\r
5226         </member>\r
5227         <member name="T:C5.HasherBuilder.ByRTCG">\r
5228             <summary>\r
5229             Like ByInvoke, but tries to build a hasher by RTCG to\r
5230             avoid the Invoke() overhead. Does not work as intended \r
5231             because of a Whidbey RTCG bug.\r
5232             </summary>\r
5233         </member>\r
5234         <member name="M:C5.HasherBuilder.ByRTCG.CreateHasher``1(System.Reflection.MethodInfo,System.Reflection.MethodInfo)">\r
5235             <summary>\r
5236             \r
5237             </summary>\r
5238             <param name="hinfo"></param>\r
5239             <param name="einfo"></param>\r
5240             <returns></returns>\r
5241         </member>\r
5242         <member name="M:C5.HasherBuilder.ByRTCG.build``1">\r
5243             <summary>\r
5244             \r
5245             </summary>\r
5246             <typeparam name="T"></typeparam>\r
5247             <returns></returns>\r
5248         </member>\r
5249         <member name="M:C5.HasherBuilder.ByRTCG.dump">\r
5250             <summary>\r
5251             \r
5252             </summary>\r
5253         </member>\r
5254         <member name="T:C5.HashSet`1">\r
5255             <summary>\r
5256             A set collection class based on linear hashing\r
5257             </summary>\r
5258         </member>\r
5259         <member name="M:C5.HashSet`1.#ctor">\r
5260             <summary>\r
5261             Create a hash set with natural item hasher and default fill threshold (66%)\r
5262             and initial table size (16).\r
5263             </summary>\r
5264         </member>\r
5265         <member name="M:C5.HashSet`1.#ctor(C5.IHasher{`0})">\r
5266             <summary>\r
5267             Create a hash set with external item hasher and default fill threshold (66%)\r
5268             and initial table size (16).\r
5269             </summary>\r
5270             <param name="itemhasher">The external item hasher</param>\r
5271         </member>\r
5272         <member name="M:C5.HashSet`1.#ctor(System.Int32,C5.IHasher{`0})">\r
5273             <summary>\r
5274             Create a hash set with external item hasher and default fill threshold (66%)\r
5275             </summary>\r
5276             <param name="capacity">Initial table size (rounded to power of 2, at least 16)</param>\r
5277             <param name="itemhasher">The external item hasher</param>\r
5278         </member>\r
5279         <member name="M:C5.HashSet`1.#ctor(System.Int32,System.Double,C5.IHasher{`0})">\r
5280             <summary>\r
5281             Create a hash set with external item hasher.\r
5282             </summary>\r
5283             <param name="capacity">Initial table size (rounded to power of 2, at least 16)</param>\r
5284             <param name="fill">Fill threshold (in range 10% to 90%)</param>\r
5285             <param name="itemhasher">The external item hasher</param>\r
5286         </member>\r
5287         <member name="M:C5.HashSet`1.Contains(`0)">\r
5288             <summary>\r
5289             Check if an item is in the set \r
5290             </summary>\r
5291             <param name="item">The item to look for</param>\r
5292             <returns>True if set contains item</returns>\r
5293         </member>\r
5294         <member name="M:C5.HashSet`1.Find(`0@)">\r
5295             <summary>\r
5296             Check if an item (collection equal to a given one) is in the set and\r
5297             if so report the actual item object found.\r
5298             </summary>\r
5299             <param name="item">On entry, the item to look for.\r
5300             On exit the item found, if any</param>\r
5301             <returns>True if set contains item</returns>\r
5302         </member>\r
5303         <member name="M:C5.HashSet`1.Update(`0)">\r
5304             <summary>\r
5305             Check if an item (collection equal to a given one) is in the set and\r
5306             if so replace the item object in the set with the supplied one.\r
5307             </summary>\r
5308             <param name="item">The item object to update with</param>\r
5309             <returns>True if item was found (and updated)</returns>\r
5310         </member>\r
5311         <member name="M:C5.HashSet`1.FindOrAdd(`0@)">\r
5312             <summary>\r
5313             Check if an item (collection equal to a given one) is in the set.\r
5314             If found, report the actual item object in the set,\r
5315             else add the supplied one.\r
5316             </summary>\r
5317             <param name="item">On entry, the item to look for or add.\r
5318             On exit the actual object found, if any.</param>\r
5319             <returns>True if item was found</returns>\r
5320         </member>\r
5321         <member name="M:C5.HashSet`1.UpdateOrAdd(`0)">\r
5322             <summary>\r
5323             Check if an item (collection equal to a supplied one) is in the set and\r
5324             if so replace the item object in the set with the supplied one; else\r
5325             add the supplied one.\r
5326             </summary>\r
5327             <param name="item">The item to look for and update or add</param>\r
5328             <returns>True if item was updated</returns>\r
5329         </member>\r
5330         <member name="M:C5.HashSet`1.Remove(`0)">\r
5331             <summary>\r
5332             Remove an item from the set\r
5333             </summary>\r
5334             <param name="item">The item to remove</param>\r
5335             <returns>True if item was (found and) removed </returns>\r
5336         </member>\r
5337         <member name="M:C5.HashSet`1.RemoveWithReturn(`0@)">\r
5338             <summary>\r
5339             Remove an item from the set, reporting the actual matching item object.\r
5340             </summary>\r
5341             <param name="item">On entry the item to remove.\r
5342             On exit, the actual removed item object.</param>\r
5343             <returns>True if item was found.</returns>\r
5344         </member>\r
5345         <member name="M:C5.HashSet`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
5346             <summary>\r
5347             Remove all items in a supplied collection from this set.\r
5348             </summary>\r
5349             <param name="items">The items to remove.</param>\r
5350         </member>\r
5351         <member name="M:C5.HashSet`1.Clear">\r
5352             <summary>\r
5353             Remove all items from the set, resetting internal table to initial size.\r
5354             </summary>\r
5355         </member>\r
5356         <member name="M:C5.HashSet`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
5357             <summary>\r
5358             Remove all items *not* in a supplied collection from this set.\r
5359             </summary>\r
5360             <param name="items">The items to retain</param>\r
5361         </member>\r
5362         <member name="M:C5.HashSet`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
5363             <summary>\r
5364             Check if all items in a supplied collection is in this set\r
5365             (ignoring multiplicities). \r
5366             </summary>\r
5367             <param name="items">The items to look for.</param>\r
5368             <returns>True if all items are found.</returns>\r
5369         </member>\r
5370         <member name="M:C5.HashSet`1.ToArray">\r
5371             <summary>\r
5372             Create an array containing all items in this set (in enumeration order).\r
5373             </summary>\r
5374             <returns>The array</returns>\r
5375         </member>\r
5376         <member name="M:C5.HashSet`1.ContainsCount(`0)">\r
5377             <summary>\r
5378             Count the number of times an item is in this set (either 0 or 1).\r
5379             </summary>\r
5380             <param name="item">The item to look for.</param>\r
5381             <returns>1 if item is in set, 0 else</returns>\r
5382         </member>\r
5383         <member name="M:C5.HashSet`1.RemoveAllCopies(`0)">\r
5384             <summary>\r
5385             Remove all (at most 1) copies of item from this set.\r
5386             </summary>\r
5387             <param name="item">The item to remove</param>\r
5388         </member>\r
5389         <member name="M:C5.HashSet`1.GetEnumerator">\r
5390             <summary>\r
5391             Create an enumerator for this set.\r
5392             </summary>\r
5393             <returns>The enumerator</returns>\r
5394         </member>\r
5395         <member name="M:C5.HashSet`1.Add(`0)">\r
5396             <summary>\r
5397             Add an item to this set.\r
5398             </summary>\r
5399             <param name="item">The item to add.</param>\r
5400             <returns>True if item was added (i.e. not found)</returns>\r
5401         </member>\r
5402         <member name="M:C5.HashSet`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
5403             <summary>\r
5404             Add all items of a collection to this set.\r
5405             </summary>\r
5406             <param name="items">The items to add</param>\r
5407         </member>\r
5408         <member name="M:C5.HashSet`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
5409             <summary>\r
5410             Add the elements from another collection with a more specialized item type \r
5411             to this collection. Since this\r
5412             collection has set semantics, only items not already in the collection\r
5413             will be added.\r
5414             </summary>\r
5415             <typeparam name="U">The type of items to add</typeparam>\r
5416             <param name="items">The items to add</param>\r
5417         </member>\r
5418         <member name="M:C5.HashSet`1.Check">\r
5419             <summary>\r
5420             Test internal structure of data (invariants)\r
5421             </summary>\r
5422             <returns>True if pass</returns>\r
5423         </member>\r
5424         <member name="M:C5.HashSet`1.BucketSizeDistribution">\r
5425             <summary>\r
5426             Produce statistics on distribution of bucket sizes. Current implementation is incomplete.\r
5427             </summary>\r
5428             <returns>Histogram data.</returns>\r
5429         </member>\r
5430         <member name="P:C5.HashSet`1.Features">\r
5431             <summary>\r
5432             Show which implementation features was chosen at compilation time\r
5433             </summary>\r
5434         </member>\r
5435         <member name="P:C5.HashSet`1.ContainsSpeed">\r
5436             <summary>\r
5437             The complexity of the Contains operation\r
5438             </summary>\r
5439             <value>Always returns Speed.Constant</value>\r
5440         </member>\r
5441         <member name="P:C5.HashSet`1.AllowsDuplicates">\r
5442             <summary>\r
5443             Report if this is a set collection.\r
5444             </summary>\r
5445             <value>Always false</value>\r
5446         </member>\r
5447         <member name="T:C5.HashSet`1.Feature">\r
5448             <summary>\r
5449             Enum class to assist printing of compilation alternatives.\r
5450             </summary>\r
5451         </member>\r
5452         <member name="F:C5.HashSet`1.Feature.Dummy">\r
5453             <summary>\r
5454             Nothing\r
5455             </summary>\r
5456         </member>\r
5457         <member name="F:C5.HashSet`1.Feature.RefTypeBucket">\r
5458             <summary>\r
5459             Buckets are of reference type\r
5460             </summary>\r
5461         </member>\r
5462         <member name="F:C5.HashSet`1.Feature.ValueTypeBucket">\r
5463             <summary>\r
5464             Primary buckets are of value type\r
5465             </summary>\r
5466         </member>\r
5467         <member name="F:C5.HashSet`1.Feature.LinearProbing">\r
5468             <summary>\r
5469             Using linear probing to resolve index clashes\r
5470             </summary>\r
5471         </member>\r
5472         <member name="F:C5.HashSet`1.Feature.ShrinkTable">\r
5473             <summary>\r
5474             Shrink table when very sparsely filled\r
5475             </summary>\r
5476         </member>\r
5477         <member name="F:C5.HashSet`1.Feature.Chaining">\r
5478             <summary>\r
5479             Use chaining to resolve index clashes\r
5480             </summary>\r
5481         </member>\r
5482         <member name="F:C5.HashSet`1.Feature.InterHasher">\r
5483             <summary>\r
5484             Use hash function on item hash code\r
5485             </summary>\r
5486         </member>\r
5487         <member name="F:C5.HashSet`1.Feature.RandomInterHasher">\r
5488             <summary>\r
5489             Use a universal family of hash functions on item hash code\r
5490             </summary>\r
5491         </member>\r
5492         <member name="T:C5.GuardedEnumerator`1">\r
5493             <summary>\r
5494             A read-only wrapper class for a generic enumerator\r
5495             </summary>\r
5496         </member>\r
5497         <member name="M:C5.GuardedEnumerator`1.#ctor(System.Collections.Generic.IEnumerator{`0})">\r
5498             <summary>\r
5499             Create a wrapper around a generic enumerator\r
5500             </summary>\r
5501             <param name="enumerator">The enumerator to wrap</param>\r
5502         </member>\r
5503         <member name="M:C5.GuardedEnumerator`1.MoveNext">\r
5504             <summary>\r
5505             Move wrapped enumerator to next item, or the first item if\r
5506             this is the first call to MoveNext. \r
5507             </summary>\r
5508             <returns>True if enumerator is valid now</returns>\r
5509         </member>\r
5510         <member name="M:C5.GuardedEnumerator`1.Dispose">\r
5511             <summary>\r
5512             Dispose wrapped enumerator\r
5513             </summary>\r
5514         </member>\r
5515         <member name="P:C5.GuardedEnumerator`1.Current">\r
5516             <summary>\r
5517             Undefined if enumerator is not valid (MoveNext hash been called returning true)\r
5518             </summary>\r
5519             <value>The current item of the wrapped enumerator.</value>\r
5520         </member>\r
5521         <member name="T:C5.GuardedEnumerable`1">\r
5522              <summary>\r
5523              A read-only wrapper class for a generic enumerable\r
5524             \r
5525              <p>This is mainly interesting as a base of other guard classes</p>\r
5526              </summary>\r
5527         </member>\r
5528         <member name="M:C5.GuardedEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})">\r
5529             <summary>\r
5530             Wrap an enumerable in a read-only wrapper\r
5531             </summary>\r
5532             <param name="enumerable">The enumerable to wrap</param>\r
5533         </member>\r
5534         <member name="M:C5.GuardedEnumerable`1.GetEnumerator">\r
5535             <summary>\r
5536             Get an enumerator from the wrapped enumerable\r
5537             </summary>\r
5538             <returns>The enumerator (itself wrapped)</returns>\r
5539         </member>\r
5540         <member name="T:C5.GuardedDirectedEnumerable`1">\r
5541              <summary>\r
5542              A read-only wrapper for a generic directed enumerable\r
5543             \r
5544              <p>This is mainly interesting as a base of other guard classes</p>\r
5545              </summary>\r
5546         </member>\r
5547         <member name="M:C5.GuardedDirectedEnumerable`1.#ctor(C5.IDirectedEnumerable{`0})">\r
5548             <summary>\r
5549             Wrap a directed enumerable in a read-only wrapper\r
5550             </summary>\r
5551             <param name="directedenumerable">the collection to wrap</param>\r
5552         </member>\r
5553         <member name="M:C5.GuardedDirectedEnumerable`1.Backwards">\r
5554             <summary>\r
5555             Get a enumerable that enumerates the wrapped collection in the opposite direction\r
5556             </summary>\r
5557             <returns>The mirrored enumerable</returns>\r
5558         </member>\r
5559         <member name="P:C5.GuardedDirectedEnumerable`1.Direction">\r
5560             <summary>\r
5561             <code>Forwards</code> if same, else <code>Backwards</code>\r
5562             </summary>\r
5563             <value>The enumeration direction relative to the original collection.</value>\r
5564         </member>\r
5565         <member name="T:C5.GuardedCollectionValue`1">\r
5566              <summary>\r
5567              A read-only wrapper for an ICollectionValue&lt;T&gt;\r
5568             \r
5569              <p>This is mainly interesting as a base of other guard classes</p>\r
5570              </summary>\r
5571         </member>\r
5572         <member name="M:C5.GuardedCollectionValue`1.#ctor(C5.ICollectionValue{`0})">\r
5573             <summary>\r
5574             Wrap a ICollectionValue&lt;T&gt; in a read-only wrapper\r
5575             </summary>\r
5576             <param name="collection">the collection to wrap</param>\r
5577         </member>\r
5578         <member name="M:C5.GuardedCollectionValue`1.CopyTo(`0[],System.Int32)">\r
5579             <summary>\r
5580             Copy the items of the wrapped collection to an array\r
5581             </summary>\r
5582             <param name="a">The array</param>\r
5583             <param name="i">Starting offset</param>\r
5584         </member>\r
5585         <member name="M:C5.GuardedCollectionValue`1.ToArray">\r
5586             <summary>\r
5587             Create an array from the items of the wrapped collection\r
5588             </summary>\r
5589             <returns>The array</returns>\r
5590         </member>\r
5591         <member name="M:C5.GuardedCollectionValue`1.Apply(C5.Applier{`0})">\r
5592             <summary>\r
5593             Apply a delegate to all items of the wrapped enumerable.\r
5594             </summary>\r
5595             <param name="a">The delegate to apply</param>\r
5596         </member>\r
5597         <member name="M:C5.GuardedCollectionValue`1.Exists(C5.Filter{`0})">\r
5598             <summary>\r
5599             Check if there exists an item  that satisfies a\r
5600             specific predicate in the wrapped enumerable.\r
5601             </summary>\r
5602             <param name="filter">A filter delegate \r
5603             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
5604             <returns>True is such an item exists</returns>\r
5605         </member>\r
5606         <member name="M:C5.GuardedCollectionValue`1.All(C5.Filter{`0})">\r
5607             <summary>\r
5608             Check if all items in the wrapped enumerable satisfies a specific predicate.\r
5609             </summary>\r
5610             <param name="filter">A filter delegate \r
5611             (<see cref="T:C5.Filter!1"/>) defining the predicate</param>\r
5612             <returns>True if all items satisfies the predicate</returns>\r
5613         </member>\r
5614         <member name="P:C5.GuardedCollectionValue`1.Count">\r
5615             <summary>\r
5616             Get the size of the wrapped collection\r
5617             </summary>\r
5618             <value>The size</value>\r
5619         </member>\r
5620         <member name="P:C5.GuardedCollectionValue`1.CountSpeed">\r
5621             <summary>\r
5622             The value is symbolic indicating the type of asymptotic complexity\r
5623             in terms of the size of this collection (worst-case or amortized as\r
5624             relevant).\r
5625             </summary>\r
5626             <value>A characterization of the speed of the \r
5627             <code>Count</code> property in this collection.</value>\r
5628         </member>\r
5629         <member name="T:C5.GuardedDirectedCollectionValue`1">\r
5630              <summary>\r
5631              A read-only wrapper for a directed collection\r
5632             \r
5633              <p>This is mainly interesting as a base of other guard classes</p>\r
5634              </summary>\r
5635         </member>\r
5636         <member name="M:C5.GuardedDirectedCollectionValue`1.#ctor(C5.IDirectedCollectionValue{`0})">\r
5637             <summary>\r
5638             Wrap a directed collection in a read-only wrapper\r
5639             </summary>\r
5640             <param name="directedcollection">the collection to wrap</param>\r
5641         </member>\r
5642         <member name="M:C5.GuardedDirectedCollectionValue`1.Backwards">\r
5643             <summary>\r
5644             Get a collection that enumerates the wrapped collection in the opposite direction\r
5645             </summary>\r
5646             <returns>The mirrored collection</returns>\r
5647         </member>\r
5648         <member name="P:C5.GuardedDirectedCollectionValue`1.Direction">\r
5649             <summary>\r
5650             <code>Forwards</code> if same, else <code>Backwards</code>\r
5651             </summary>\r
5652             <value>The enumeration direction relative to the original collection.</value>\r
5653         </member>\r
5654         <member name="T:C5.GuardedCollection`1">\r
5655              <summary>\r
5656              A read-only wrapper for an ICollection&lt;T&gt;.\r
5657              <see cref="T:C5.ICollection!1"/>\r
5658             \r
5659              <p>Suitable for wrapping hash tables, <see cref="T:C5.HashSet!1"/>\r
5660              and <see cref="T:C5.HashBag!1"/>  </p>\r
5661              </summary>\r
5662         </member>\r
5663         <member name="M:C5.GuardedCollection`1.#ctor(C5.ICollection{`0})">\r
5664             <summary>\r
5665             Wrap an ICollection&lt;T&gt; in a read-only wrapper\r
5666             </summary>\r
5667             <param name="collection">the collection to wrap</param>\r
5668         </member>\r
5669         <member name="M:C5.GuardedCollection`1.Contains(`0)">\r
5670             <summary>\r
5671             Check if an item is in the wrapped collection\r
5672             </summary>\r
5673             <param name="item">The item</param>\r
5674             <returns>True if found</returns>\r
5675         </member>\r
5676         <member name="M:C5.GuardedCollection`1.ContainsCount(`0)">\r
5677             <summary>\r
5678             Count the number of times an item appears in the wrapped collection\r
5679             </summary>\r
5680             <param name="item">The item</param>\r
5681             <returns>The number of copies</returns>\r
5682         </member>\r
5683         <member name="M:C5.GuardedCollection`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
5684             <summary>\r
5685             Check if all items in the argument is in the wrapped collection\r
5686             </summary>\r
5687             <param name="items">The items</param>\r
5688             <returns>True if so</returns>\r
5689         </member>\r
5690         <member name="M:C5.GuardedCollection`1.Find(`0@)">\r
5691             <summary>\r
5692             Search for an item in the wrapped collection\r
5693             </summary>\r
5694             <param name="item">On entry the item to look for, on exit the equivalent item found (if any)</param>\r
5695             <returns></returns>\r
5696         </member>\r
5697         <member name="M:C5.GuardedCollection`1.FindOrAdd(`0@)">\r
5698             <summary>\r
5699             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5700             </summary>\r
5701             <param name="item"></param>\r
5702             <returns></returns>\r
5703         </member>\r
5704         <member name="M:C5.GuardedCollection`1.Update(`0)">\r
5705             <summary>\r
5706             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5707             </summary>\r
5708             <param name="item"></param>\r
5709             <returns></returns>\r
5710         </member>\r
5711         <member name="M:C5.GuardedCollection`1.UpdateOrAdd(`0)">\r
5712             <summary>\r
5713             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5714             </summary>\r
5715             <param name="item"></param>\r
5716             <returns></returns>\r
5717         </member>\r
5718         <member name="M:C5.GuardedCollection`1.Remove(`0)">\r
5719             <summary>\r
5720             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5721             </summary>\r
5722             <param name="item"></param>\r
5723             <returns></returns>\r
5724         </member>\r
5725         <member name="M:C5.GuardedCollection`1.RemoveWithReturn(`0@)">\r
5726             <summary>\r
5727             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5728             </summary>\r
5729             <param name="item"></param>\r
5730             <returns></returns>\r
5731         </member>\r
5732         <member name="M:C5.GuardedCollection`1.RemoveAllCopies(`0)">\r
5733             <summary>\r
5734             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5735             </summary>\r
5736             <param name="item"></param>\r
5737         </member>\r
5738         <member name="M:C5.GuardedCollection`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
5739             <summary>\r
5740             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5741             </summary>\r
5742             <param name="items"></param>\r
5743         </member>\r
5744         <member name="M:C5.GuardedCollection`1.Clear">\r
5745             <summary>\r
5746             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5747             </summary>\r
5748         </member>\r
5749         <member name="M:C5.GuardedCollection`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
5750             <summary>\r
5751             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5752             </summary>\r
5753             <param name="items"></param>\r
5754         </member>\r
5755         <member name="M:C5.GuardedCollection`1.Check">\r
5756             <summary>\r
5757             Check  wrapped collection for internal consistency\r
5758             </summary>\r
5759             <returns>True if check passed</returns>\r
5760         </member>\r
5761         <member name="M:C5.GuardedCollection`1.Add(`0)">\r
5762             <summary>\r
5763             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5764             </summary>\r
5765             <param name="item"></param>\r
5766             <returns></returns>\r
5767         </member>\r
5768         <member name="M:C5.GuardedCollection`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
5769             <summary>\r
5770             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5771             </summary>\r
5772             <param name="items"></param>\r
5773         </member>\r
5774         <member name="M:C5.GuardedCollection`1.C5#IExtensible{T}#AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
5775             <summary>\r
5776             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5777             </summary>\r
5778             <param name="items"></param>\r
5779         </member>\r
5780         <member name="P:C5.GuardedCollection`1.IsReadOnly">\r
5781             <summary>\r
5782             (This is a read-only wrapper)\r
5783             </summary>\r
5784             <value>True</value>\r
5785         </member>\r
5786         <member name="P:C5.GuardedCollection`1.ContainsSpeed">\r
5787             <summary> </summary>\r
5788             <value>Speed of wrapped collection</value>\r
5789         </member>\r
5790         <member name="P:C5.GuardedCollection`1.AllowsDuplicates">\r
5791             <summary> </summary>\r
5792             <value>False if wrapped collection has set semantics</value>\r
5793         </member>\r
5794         <member name="P:C5.GuardedCollection`1.SyncRoot">\r
5795             <summary> </summary>\r
5796             <value>The sync root of the wrapped collection</value>\r
5797         </member>\r
5798         <member name="P:C5.GuardedCollection`1.IsEmpty">\r
5799             <summary> </summary>\r
5800             <value>True if wrapped collection is empty</value>\r
5801         </member>\r
5802         <member name="T:C5.GuardedSequenced`1">\r
5803              <summary>\r
5804              A read-only wrapper for a sequenced collection\r
5805             \r
5806              <p>This is mainly interesting as a base of other guard classes</p>\r
5807              </summary>\r
5808         </member>\r
5809         <member name="M:C5.GuardedSequenced`1.#ctor(C5.ISequenced{`0})">\r
5810             <summary>\r
5811             Wrap a sequenced collection in a read-only wrapper\r
5812             </summary>\r
5813             <param name="sorted"></param>\r
5814         </member>\r
5815         <member name="M:C5.GuardedSequenced`1.Backwards">\r
5816             <summary>\r
5817             Get a collection that enumerates the wrapped collection in the opposite direction\r
5818             </summary>\r
5819             <returns>The mirrored collection</returns>\r
5820         </member>\r
5821         <member name="P:C5.GuardedSequenced`1.Direction">\r
5822             <summary>\r
5823             <code>Forwards</code> if same, else <code>Backwards</code>\r
5824             </summary>\r
5825             <value>The enumeration direction relative to the original collection.</value>\r
5826         </member>\r
5827         <member name="T:C5.GuardedSorted`1">\r
5828              <summary>\r
5829              A read-only wrapper for a sorted collection\r
5830             \r
5831              <p>This is mainly interesting as a base of other guard classes</p>\r
5832              </summary>\r
5833         </member>\r
5834         <member name="M:C5.GuardedSorted`1.#ctor(C5.ISorted{`0})">\r
5835             <summary>\r
5836             Wrap a sorted collection in a read-only wrapper\r
5837             </summary>\r
5838             <param name="sorted"></param>\r
5839         </member>\r
5840         <member name="M:C5.GuardedSorted`1.Predecessor(`0)">\r
5841             <summary>\r
5842             Find the predecessor of the item in the wrapped sorted collection\r
5843             </summary>\r
5844             <param name="item">The item</param>\r
5845             <returns>The predecessor</returns>\r
5846         </member>\r
5847         <member name="M:C5.GuardedSorted`1.Successor(`0)">\r
5848             <summary>\r
5849             Find the Successor of the item in the wrapped sorted collection\r
5850             </summary>\r
5851             <param name="item">The item</param>\r
5852             <returns>The Successor</returns>\r
5853         </member>\r
5854         <member name="M:C5.GuardedSorted`1.WeakPredecessor(`0)">\r
5855             <summary>\r
5856             Find the weak predecessor of the item in the wrapped sorted collection\r
5857             </summary>\r
5858             <param name="item">The item</param>\r
5859             <returns>The weak predecessor</returns>\r
5860         </member>\r
5861         <member name="M:C5.GuardedSorted`1.WeakSuccessor(`0)">\r
5862             <summary>\r
5863             Find the weak Successor of the item in the wrapped sorted collection\r
5864             </summary>\r
5865             <param name="item">The item</param>\r
5866             <returns>The weak Successor</returns>\r
5867         </member>\r
5868         <member name="M:C5.GuardedSorted`1.Cut(System.IComparable{`0},`0@,System.Boolean@,`0@,System.Boolean@)">\r
5869             <summary>\r
5870             Run Cut on the wrapped sorted collection\r
5871             </summary>\r
5872             <param name="c"></param>\r
5873             <param name="low"></param>\r
5874             <param name="lval"></param>\r
5875             <param name="high"></param>\r
5876             <param name="hval"></param>\r
5877             <returns></returns>\r
5878         </member>\r
5879         <member name="M:C5.GuardedSorted`1.RangeFrom(`0)">\r
5880             <summary>\r
5881             Get the specified range from the wrapped collection. \r
5882             (The current implementation erroneously does not wrap the result.)\r
5883             </summary>\r
5884             <param name="bot"></param>\r
5885             <returns></returns>\r
5886         </member>\r
5887         <member name="M:C5.GuardedSorted`1.RangeFromTo(`0,`0)">\r
5888             <summary>\r
5889             Get the specified range from the wrapped collection. \r
5890             (The current implementation erroneously does not wrap the result.)\r
5891             </summary>\r
5892             <param name="bot"></param>\r
5893             <param name="top"></param>\r
5894             <returns></returns>\r
5895         </member>\r
5896         <member name="M:C5.GuardedSorted`1.RangeTo(`0)">\r
5897             <summary>\r
5898             Get the specified range from the wrapped collection. \r
5899             (The current implementation erroneously does not wrap the result.)\r
5900             </summary>\r
5901             <param name="top"></param>\r
5902             <returns></returns>\r
5903         </member>\r
5904         <member name="M:C5.GuardedSorted`1.RangeAll">\r
5905             <summary>\r
5906             Get the specified range from the wrapped collection. \r
5907             (The current implementation erroneously does not wrap the result.)\r
5908             </summary>\r
5909             <returns></returns>\r
5910         </member>\r
5911         <member name="M:C5.GuardedSorted`1.AddSorted(System.Collections.Generic.IEnumerable{`0})">\r
5912             <summary>\r
5913             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5914             </summary>\r
5915             <param name="items"></param>\r
5916         </member>\r
5917         <member name="M:C5.GuardedSorted`1.RemoveRangeFrom(`0)">\r
5918             <summary>\r
5919             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5920             </summary>\r
5921             <param name="low"></param>\r
5922         </member>\r
5923         <member name="M:C5.GuardedSorted`1.RemoveRangeFromTo(`0,`0)">\r
5924             <summary>\r
5925             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5926             </summary>\r
5927             <param name="low"></param>\r
5928             <param name="hi"></param>\r
5929         </member>\r
5930         <member name="M:C5.GuardedSorted`1.RemoveRangeTo(`0)">\r
5931             <summary>\r
5932             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5933             </summary>\r
5934             <param name="hi"></param>\r
5935         </member>\r
5936         <member name="M:C5.GuardedSorted`1.FindMin">\r
5937             <summary>\r
5938             Find the minimum of the wrapped collection\r
5939             </summary>\r
5940             <returns>The minimum</returns>\r
5941         </member>\r
5942         <member name="M:C5.GuardedSorted`1.DeleteMin">\r
5943             <summary>\r
5944             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5945             </summary>\r
5946             <returns></returns>\r
5947         </member>\r
5948         <member name="M:C5.GuardedSorted`1.FindMax">\r
5949             <summary>\r
5950             Find the maximum of the wrapped collection\r
5951             </summary>\r
5952             <returns>The maximum</returns>\r
5953         </member>\r
5954         <member name="M:C5.GuardedSorted`1.DeleteMax">\r
5955             <summary>\r
5956             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
5957             </summary>\r
5958             <returns></returns>\r
5959         </member>\r
5960         <member name="P:C5.GuardedSorted`1.Comparer">\r
5961             <summary>\r
5962             The comparer object supplied at creation time for the underlying collection\r
5963             </summary>\r
5964             <value>The comparer</value>\r
5965         </member>\r
5966         <member name="T:C5.GuardedIndexedSorted`1">\r
5967              <summary>\r
5968              Read-only wrapper for indexed sorted collections\r
5969             \r
5970              <p>Suitable for wrapping TreeSet, TreeBag and SortedArray</p>\r
5971              </summary>\r
5972         </member>\r
5973         <member name="M:C5.GuardedIndexedSorted`1.#ctor(C5.IIndexedSorted{`0})">\r
5974             <summary>\r
5975             Wrap an indexed sorted collection in a read-only wrapper\r
5976             </summary>\r
5977             <param name="list">the indexed sorted collection</param>\r
5978         </member>\r
5979         <member name="M:C5.GuardedIndexedSorted`1.RangeFrom(`0)">\r
5980             <summary>\r
5981             Get the specified range from the wrapped collection. \r
5982             (The current implementation erroneously does not wrap the result.)\r
5983             </summary>\r
5984             <param name="bot"></param>\r
5985             <returns></returns>\r
5986         </member>\r
5987         <member name="M:C5.GuardedIndexedSorted`1.RangeFromTo(`0,`0)">\r
5988             <summary>\r
5989             Get the specified range from the wrapped collection. \r
5990             (The current implementation erroneously does not wrap the result.)\r
5991             </summary>\r
5992             <param name="bot"></param>\r
5993             <param name="top"></param>\r
5994             <returns></returns>\r
5995         </member>\r
5996         <member name="M:C5.GuardedIndexedSorted`1.RangeTo(`0)">\r
5997             <summary>\r
5998             Get the specified range from the wrapped collection. \r
5999             (The current implementation erroneously does not wrap the result.)\r
6000             </summary>\r
6001             <param name="top"></param>\r
6002             <returns></returns>\r
6003         </member>\r
6004         <member name="M:C5.GuardedIndexedSorted`1.CountFrom(`0)">\r
6005             <summary>\r
6006             Report the number of items in the specified range of the wrapped collection\r
6007             </summary>\r
6008             <param name="bot"></param>\r
6009             <returns></returns>\r
6010         </member>\r
6011         <member name="M:C5.GuardedIndexedSorted`1.CountFromTo(`0,`0)">\r
6012             <summary>\r
6013             Report the number of items in the specified range of the wrapped collection\r
6014             </summary>\r
6015             <param name="bot"></param>\r
6016             <param name="top"></param>\r
6017             <returns></returns>\r
6018         </member>\r
6019         <member name="M:C5.GuardedIndexedSorted`1.CountTo(`0)">\r
6020             <summary>\r
6021             Report the number of items in the specified range of the wrapped collection\r
6022             </summary>\r
6023             <param name="top"></param>\r
6024             <returns></returns>\r
6025         </member>\r
6026         <member name="M:C5.GuardedIndexedSorted`1.FindAll(C5.Filter{`0})">\r
6027             <summary>\r
6028             Run FindAll on the wrapped collection with the indicated filter.\r
6029             The result will <b>not</b> be read-only.\r
6030             </summary>\r
6031             <param name="f"></param>\r
6032             <returns></returns>\r
6033         </member>\r
6034         <member name="M:C5.GuardedIndexedSorted`1.Map``1(C5.Mapper{`0,``0},C5.IComparer{``0})">\r
6035             <summary>\r
6036             Run Map on the wrapped collection with the indicated mapper.\r
6037             The result will <b>not</b> be read-only.\r
6038             </summary>\r
6039             <param name="m"></param>\r
6040             <param name="c">The comparer to use in the result</param>\r
6041             <returns></returns>\r
6042         </member>\r
6043         <member name="M:C5.GuardedIndexedSorted`1.IndexOf(`0)">\r
6044             <summary>\r
6045             Find the (first) index of an item in the wrapped collection\r
6046             </summary>\r
6047             <param name="item"></param>\r
6048             <returns></returns>\r
6049         </member>\r
6050         <member name="M:C5.GuardedIndexedSorted`1.LastIndexOf(`0)">\r
6051             <summary>\r
6052             Find the last index of an item in the wrapped collection\r
6053             </summary>\r
6054             <param name="item"></param>\r
6055             <returns></returns>\r
6056         </member>\r
6057         <member name="M:C5.GuardedIndexedSorted`1.RemoveAt(System.Int32)">\r
6058             <summary>\r
6059             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6060             </summary>\r
6061             <param name="i"></param>\r
6062             <returns></returns>\r
6063         </member>\r
6064         <member name="M:C5.GuardedIndexedSorted`1.RemoveInterval(System.Int32,System.Int32)">\r
6065             <summary>\r
6066             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6067             </summary>\r
6068             <param name="start"></param>\r
6069             <param name="count"></param>\r
6070         </member>\r
6071         <member name="P:C5.GuardedIndexedSorted`1.Item(System.Int32)">\r
6072             <summary>\r
6073             \r
6074             </summary>\r
6075             <value>The i'th item of the wrapped sorted collection</value>\r
6076         </member>\r
6077         <member name="P:C5.GuardedIndexedSorted`1.Item(System.Int32,System.Int32)">\r
6078             <summary> </summary>\r
6079             <value>A directed collection of the items in the indicated interval of the wrapped collection</value>\r
6080         </member>\r
6081         <member name="T:C5.GuardedList`1">\r
6082             <summary>\r
6083             A read-only wrapper for a generic list collection\r
6084             <p>Suitable as a wrapper for LinkedList, HashedLinkedList, ArrayList and HashedArray.\r
6085             <see cref="T:C5.LinkedList!1"/>, \r
6086             <see cref="T:C5.HashedLinkedList!1"/>, \r
6087             <see cref="T:C5.ArrayList!1"/> or\r
6088             <see cref="T:C5.HashedArray!1"/>.\r
6089             </p>\r
6090             </summary>\r
6091         </member>\r
6092         <member name="M:C5.GuardedList`1.#ctor(C5.IList{`0})">\r
6093             <summary>\r
6094             Wrap a list in a read-only wrapper\r
6095             </summary>\r
6096             <param name="list">The list</param>\r
6097         </member>\r
6098         <member name="M:C5.GuardedList`1.Insert(System.Int32,`0)">\r
6099             <summary>\r
6100             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6101             </summary>\r
6102             <param name="i"></param>\r
6103             <param name="item"></param>\r
6104         </member>\r
6105         <member name="M:C5.GuardedList`1.InsertFirst(`0)">\r
6106             <summary>\r
6107             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6108             </summary>\r
6109             <param name="item"></param>\r
6110         </member>\r
6111         <member name="M:C5.GuardedList`1.InsertLast(`0)">\r
6112             <summary>\r
6113             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6114             </summary>\r
6115             <param name="item"></param>\r
6116         </member>\r
6117         <member name="M:C5.GuardedList`1.InsertBefore(`0,`0)">\r
6118             <summary>\r
6119             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6120             </summary>\r
6121             <param name="item"></param>\r
6122             <param name="target"></param>\r
6123         </member>\r
6124         <member name="M:C5.GuardedList`1.InsertAfter(`0,`0)">\r
6125             <summary>\r
6126             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6127             </summary>\r
6128             <param name="item"></param>\r
6129             <param name="target"></param>\r
6130         </member>\r
6131         <member name="M:C5.GuardedList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
6132             <summary>\r
6133             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6134             </summary>\r
6135             <param name="i"></param>\r
6136             <param name="items"></param>\r
6137         </member>\r
6138         <member name="M:C5.GuardedList`1.FindAll(C5.Filter{`0})">\r
6139             <summary>\r
6140             Perform FindAll on the wrapped list. The result is <b>not</b> necessarily read-only.\r
6141             </summary>\r
6142             <param name="filter">The filter to use</param>\r
6143             <returns></returns>\r
6144         </member>\r
6145         <member name="M:C5.GuardedList`1.Map``1(C5.Mapper{`0,``0})">\r
6146             <summary>\r
6147             Perform Map on the wrapped list. The result is <b>not</b> necessarily read-only.\r
6148             </summary>\r
6149             <typeparam name="V">The type of items of the new list</typeparam>\r
6150             <param name="mapper">The mapper to use.</param>\r
6151             <returns>The mapped list</returns>\r
6152         </member>\r
6153         <member name="M:C5.GuardedList`1.Map``1(C5.Mapper{`0,``0},C5.IHasher{``0})">\r
6154             <summary>\r
6155             Perform Map on the wrapped list. The result is <b>not</b> necessarily read-only.\r
6156             </summary>\r
6157             <typeparam name="V">The type of items of the new list</typeparam>\r
6158             <param name="mapper">The delegate defining the map.</param>\r
6159             <param name="hasher">The hasher to use for the new list</param>\r
6160             <returns>The new list.</returns>\r
6161         </member>\r
6162         <member name="M:C5.GuardedList`1.Remove">\r
6163             <summary>\r
6164             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6165             </summary>\r
6166             <returns></returns>\r
6167         </member>\r
6168         <member name="M:C5.GuardedList`1.RemoveFirst">\r
6169             <summary>\r
6170             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6171             </summary>\r
6172             <returns></returns>\r
6173         </member>\r
6174         <member name="M:C5.GuardedList`1.RemoveLast">\r
6175             <summary>\r
6176             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6177             </summary>\r
6178             <returns></returns>\r
6179         </member>\r
6180         <member name="M:C5.GuardedList`1.View(System.Int32,System.Int32)">\r
6181             <summary>\r
6182             Create the indicated view on the wrapped list and wrap it read-only.\r
6183             </summary>\r
6184             <param name="start"></param>\r
6185             <param name="count"></param>\r
6186             <returns></returns>\r
6187         </member>\r
6188         <member name="M:C5.GuardedList`1.Slide(System.Int32)">\r
6189             <summary>\r
6190             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6191             </summary>\r
6192             <param name="offset"></param>\r
6193         </member>\r
6194         <member name="M:C5.GuardedList`1.Slide(System.Int32,System.Int32)">\r
6195             <summary>\r
6196             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6197             </summary>\r
6198             <param name="offset"></param>\r
6199             <param name="size"></param>\r
6200         </member>\r
6201         <member name="M:C5.GuardedList`1.Reverse">\r
6202             <summary>\r
6203             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6204             </summary>\r
6205         </member>\r
6206         <member name="M:C5.GuardedList`1.Reverse(System.Int32,System.Int32)">\r
6207             <summary>\r
6208             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6209             </summary>\r
6210             <param name="start"></param>\r
6211             <param name="count"></param>\r
6212         </member>\r
6213         <member name="M:C5.GuardedList`1.IsSorted(C5.IComparer{`0})">\r
6214             <summary>\r
6215             Check if wrapped list is sorted\r
6216             </summary>\r
6217             <param name="c">The sorting order to use</param>\r
6218             <returns>True if sorted</returns>\r
6219         </member>\r
6220         <member name="M:C5.GuardedList`1.Sort(C5.IComparer{`0})">\r
6221             <summary>\r
6222             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6223             </summary>\r
6224             <param name="c"></param>\r
6225         </member>\r
6226         <member name="M:C5.GuardedList`1.Shuffle">\r
6227             <summary>\r
6228             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6229             </summary>\r
6230         </member>\r
6231         <member name="M:C5.GuardedList`1.Shuffle(System.Random)">\r
6232             <summary>\r
6233             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6234             </summary>\r
6235             <param name="rnd"></param>\r
6236         </member>\r
6237         <member name="M:C5.GuardedList`1.IndexOf(`0)">\r
6238             <summary>\r
6239             Find the (first) index of an item in the wrapped collection\r
6240             </summary>\r
6241             <param name="item"></param>\r
6242             <returns></returns>\r
6243         </member>\r
6244         <member name="M:C5.GuardedList`1.LastIndexOf(`0)">\r
6245             <summary>\r
6246             Find the last index of an item in the wrapped collection\r
6247             </summary>\r
6248             <param name="item"></param>\r
6249             <returns></returns>\r
6250         </member>\r
6251         <member name="M:C5.GuardedList`1.RemoveAt(System.Int32)">\r
6252             <summary>\r
6253             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6254             </summary>\r
6255             <param name="i"></param>\r
6256             <returns></returns>\r
6257         </member>\r
6258         <member name="M:C5.GuardedList`1.RemoveInterval(System.Int32,System.Int32)">\r
6259             <summary>\r
6260             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6261             </summary>\r
6262             <param name="start"></param>\r
6263             <param name="count"></param>\r
6264         </member>\r
6265         <member name="M:C5.GuardedList`1.Push(`0)">\r
6266             <summary>\r
6267             \r
6268             </summary>\r
6269             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6270             <returns>-</returns>\r
6271         </member>\r
6272         <member name="M:C5.GuardedList`1.Pop">\r
6273             <summary>\r
6274             \r
6275             </summary>\r
6276             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6277             <returns>-</returns>\r
6278         </member>\r
6279         <member name="M:C5.GuardedList`1.EnQueue(`0)">\r
6280             <summary>\r
6281             \r
6282             </summary>\r
6283             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6284             <returns>-</returns>\r
6285         </member>\r
6286         <member name="M:C5.GuardedList`1.DeQueue">\r
6287             <summary>\r
6288             \r
6289             </summary>\r
6290             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6291             <returns>-</returns>\r
6292         </member>\r
6293         <member name="P:C5.GuardedList`1.First">\r
6294             <summary>\r
6295             \r
6296             </summary>\r
6297             <value>The first item of the wrapped list</value>\r
6298         </member>\r
6299         <member name="P:C5.GuardedList`1.Last">\r
6300             <summary>\r
6301             \r
6302             </summary>\r
6303             <value>The last item of the wrapped list</value>\r
6304         </member>\r
6305         <member name="P:C5.GuardedList`1.FIFO">\r
6306             <summary>\r
6307             <exception cref="T:System.InvalidOperationException"/> if used as setter\r
6308             </summary>\r
6309             <value>True if wrapped list has FIFO semantics for the Add(T item) and Remove() methods</value>\r
6310         </member>\r
6311         <member name="P:C5.GuardedList`1.Item(System.Int32)">\r
6312             <summary>\r
6313             <exception cref="T:System.InvalidOperationException"/> if used as setter\r
6314             </summary>\r
6315             <value>The i'th item of the wrapped list</value>\r
6316         </member>\r
6317         <member name="P:C5.GuardedList`1.Underlying">\r
6318             <summary>\r
6319             (This is wrong functionality)\r
6320             </summary>\r
6321             <value>The wrapped underlying list of the wrapped view </value>\r
6322         </member>\r
6323         <member name="P:C5.GuardedList`1.Offset">\r
6324             <summary>\r
6325             \r
6326             </summary>\r
6327             <value>The offset of the wrapped list as a view.</value>\r
6328         </member>\r
6329         <member name="P:C5.GuardedList`1.Item(System.Int32,System.Int32)">\r
6330             <summary> </summary>\r
6331             <value>A directed collection of the items in the indicated interval of the wrapped collection</value>\r
6332         </member>\r
6333         <member name="T:C5.GuardedDictionary`2">\r
6334              <summary>\r
6335              A read-only wrapper for a dictionary.\r
6336             \r
6337              <p>Suitable for wrapping a HashDictionary. <see cref="T:C5.HashDictionary!2"/></p>\r
6338              </summary>\r
6339         </member>\r
6340         <member name="M:C5.GuardedDictionary`2.#ctor(C5.IDictionary{`0,`1})">\r
6341             <summary>\r
6342             Wrap a dictionary in a read-only wrapper\r
6343             </summary>\r
6344             <param name="dict">the dictionary</param>\r
6345         </member>\r
6346         <member name="M:C5.GuardedDictionary`2.Add(`0,`1)">\r
6347             <summary>\r
6348             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6349             </summary>\r
6350             <param name="key"></param>\r
6351             <param name="val"></param>\r
6352         </member>\r
6353         <member name="M:C5.GuardedDictionary`2.Remove(`0)">\r
6354             <summary>\r
6355             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6356             </summary>\r
6357             <param name="key"></param>\r
6358             <returns></returns>\r
6359         </member>\r
6360         <member name="M:C5.GuardedDictionary`2.Remove(`0,`1@)">\r
6361             <summary>\r
6362             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6363             </summary>\r
6364             <param name="key"></param>\r
6365             <param name="val"></param>\r
6366             <returns></returns>\r
6367         </member>\r
6368         <member name="M:C5.GuardedDictionary`2.Clear">\r
6369             <summary>\r
6370             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6371             </summary>\r
6372         </member>\r
6373         <member name="M:C5.GuardedDictionary`2.Contains(`0)">\r
6374             <summary>\r
6375             Check if the wrapped dictionary contains a specific key\r
6376             </summary>\r
6377             <param name="key">The key</param>\r
6378             <returns>True if it does</returns>\r
6379         </member>\r
6380         <member name="M:C5.GuardedDictionary`2.Find(`0,`1@)">\r
6381             <summary>\r
6382             Search for a key in the wrapped dictionary, reporting the value if found\r
6383             </summary>\r
6384             <param name="key">The key</param>\r
6385             <param name="val">On exit: the value if found</param>\r
6386             <returns>True if found</returns>\r
6387         </member>\r
6388         <member name="M:C5.GuardedDictionary`2.Update(`0,`1)">\r
6389             <summary>\r
6390             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6391             </summary>\r
6392             <param name="key"></param>\r
6393             <param name="val"></param>\r
6394             <returns></returns>\r
6395         </member>\r
6396         <member name="M:C5.GuardedDictionary`2.FindOrAdd(`0,`1@)">\r
6397             <summary>\r
6398             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6399             </summary>\r
6400             <param name="key"></param>\r
6401             <param name="val"></param>\r
6402             <returns></returns>\r
6403         </member>\r
6404         <member name="M:C5.GuardedDictionary`2.UpdateOrAdd(`0,`1)">\r
6405             <summary>\r
6406             <exception cref="T:System.InvalidOperationException"/> since this is a read-only wrappper\r
6407             </summary>\r
6408             <param name="key"></param>\r
6409             <param name="val"></param>\r
6410             <returns></returns>\r
6411         </member>\r
6412         <member name="M:C5.GuardedDictionary`2.Check">\r
6413             <summary>\r
6414             Check the internal consistency of the wrapped dictionary\r
6415             </summary>\r
6416             <returns>True if check passed</returns>\r
6417         </member>\r
6418         <member name="P:C5.GuardedDictionary`2.Item(`0)">\r
6419             <summary>\r
6420             <exception cref="T:System.InvalidOperationException"/> since this is a\r
6421             read-only wrappper if used as a setter\r
6422             </summary>\r
6423             <value>Get the value corresponding to a key in the wrapped dictionary</value>\r
6424         </member>\r
6425         <member name="P:C5.GuardedDictionary`2.Count">\r
6426             <summary> </summary>\r
6427             <value>The size of the wrapped dictionary</value>\r
6428         </member>\r
6429         <member name="P:C5.GuardedDictionary`2.IsReadOnly">\r
6430             <summary>\r
6431             (This is a read-only wrapper)\r
6432             </summary>\r
6433             <value>True</value>\r
6434         </member>\r
6435         <member name="P:C5.GuardedDictionary`2.SyncRoot">\r
6436             <summary> </summary>\r
6437             <value>The sync root of the wrapped dictionary</value>\r
6438         </member>\r
6439         <member name="P:C5.GuardedDictionary`2.Keys">\r
6440             <summary> </summary>\r
6441             <value>The collection of keys of the wrapped dictionary</value>\r
6442         </member>\r
6443         <member name="P:C5.GuardedDictionary`2.Values">\r
6444             <summary> </summary>\r
6445             <value>The collection of values of the wrapped dictionary</value>\r
6446         </member>\r
6447         <member name="T:C5.GuardedSortedDictionary`2">\r
6448              <summary>\r
6449              A read-only wrapper for a sorted dictionary.\r
6450             \r
6451              <p>Suitable for wrapping a Dictionary. <see cref="T:C5.Dictionary!2"/></p>\r
6452              </summary>\r
6453         </member>\r
6454         <member name="M:C5.GuardedSortedDictionary`2.#ctor(C5.ISortedDictionary{`0,`1})">\r
6455             <summary>\r
6456             Wrap a sorted dictionary in a read-only wrapper\r
6457             </summary>\r
6458             <param name="sorteddict">the dictionary</param>\r
6459         </member>\r
6460         <member name="M:C5.GuardedSortedDictionary`2.Predecessor(`0)">\r
6461             <summary>\r
6462             Get the entry in the wrapped dictionary whose key is the\r
6463             predecessor of a specified key.\r
6464             </summary>\r
6465             <param name="key">The key</param>\r
6466             <returns>The entry</returns>\r
6467         </member>\r
6468         <member name="M:C5.GuardedSortedDictionary`2.Successor(`0)">\r
6469             <summary>\r
6470             Get the entry in the wrapped dictionary whose key is the\r
6471             successor of a specified key.\r
6472             </summary>\r
6473             <param name="key">The key</param>\r
6474             <returns>The entry</returns>\r
6475         </member>\r
6476         <member name="M:C5.GuardedSortedDictionary`2.WeakPredecessor(`0)">\r
6477             <summary>\r
6478             Get the entry in the wrapped dictionary whose key is the\r
6479             weak predecessor of a specified key.\r
6480             </summary>\r
6481             <param name="key">The key</param>\r
6482             <returns>The entry</returns>\r
6483         </member>\r
6484         <member name="M:C5.GuardedSortedDictionary`2.WeakSuccessor(`0)">\r
6485             <summary>\r
6486             Get the entry in the wrapped dictionary whose key is the\r
6487             weak successor of a specified key.\r
6488             </summary>\r
6489             <param name="key">The key</param>\r
6490             <returns>The entry</returns>\r
6491         </member>\r
6492         <member name="T:C5.SortedArray`1">\r
6493             <summary>\r
6494             A collection class implementing a sorted dynamic array data structure.\r
6495             </summary>\r
6496         </member>\r
6497         <member name="M:C5.SortedArray`1.binarySearch(`0,System.Int32@)">\r
6498             <summary>\r
6499             \r
6500             </summary>\r
6501             <param name="item">The item to search for</param>\r
6502             <param name="mid">The least index, mid, for which array[mid] >= item</param>\r
6503             <returns>True if item found</returns>\r
6504         </member>\r
6505         <member name="M:C5.SortedArray`1.#ctor">\r
6506             <summary>\r
6507             Create a dynamic sorted array with a natural comparer\r
6508             </summary>\r
6509         </member>\r
6510         <member name="M:C5.SortedArray`1.#ctor(System.Int32)">\r
6511             <summary>\r
6512             Create a dynamic sorted array with a natural comparer\r
6513             and prescribed initial capacity.\r
6514             </summary>\r
6515             <param name="capacity">The capacity</param>\r
6516         </member>\r
6517         <member name="M:C5.SortedArray`1.#ctor(C5.IComparer{`0})">\r
6518             <summary>\r
6519             Create a dynamic sorted array with an external comparer\r
6520             </summary>\r
6521             <param name="c">The comparer</param>\r
6522         </member>\r
6523         <member name="M:C5.SortedArray`1.#ctor(System.Int32,C5.IComparer{`0})">\r
6524             <summary>\r
6525             Create a dynamic sorted array with an external comparer\r
6526             and prescribed initial capacity.\r
6527             </summary>\r
6528             <param name="capacity">The capacity</param>\r
6529             <param name="c">The comparer</param>\r
6530         </member>\r
6531         <member name="M:C5.SortedArray`1.#ctor(System.Int32,C5.IComparer{`0},C5.IHasher{`0})">\r
6532             <summary>\r
6533             Create a dynamic sorted array with an external comparer, an external hasher\r
6534             and prescribed initial capacity.\r
6535             </summary>\r
6536             <param name="capacity">The capacity</param>\r
6537             <param name="c">The comparer</param>\r
6538             <param name="h">The hasher (compatible)</param>\r
6539         </member>\r
6540         <member name="M:C5.SortedArray`1.CountFrom(`0)">\r
6541             <summary>\r
6542             Determine the number of items at or above a supplied threshold.\r
6543             </summary>\r
6544             <param name="bot">The lower bound (inclusive)</param>\r
6545             <returns>The number of matcing items.</returns>\r
6546         </member>\r
6547         <member name="M:C5.SortedArray`1.CountFromTo(`0,`0)">\r
6548             <summary>\r
6549             Determine the number of items between two supplied thresholds.\r
6550             </summary>\r
6551             <param name="bot">The lower bound (inclusive)</param>\r
6552             <param name="top">The upper bound (exclusive)</param>\r
6553             <returns>The number of matcing items.</returns>\r
6554         </member>\r
6555         <member name="M:C5.SortedArray`1.CountTo(`0)">\r
6556             <summary>\r
6557             Determine the number of items below a supplied threshold.\r
6558             </summary>\r
6559             <param name="top">The upper bound (exclusive)</param>\r
6560             <returns>The number of matcing items.</returns>\r
6561         </member>\r
6562         <member name="M:C5.SortedArray`1.RangeFrom(`0)">\r
6563             <summary>\r
6564             Query this sorted collection for items greater than or equal to a supplied value.\r
6565             </summary>\r
6566             <param name="bot">The lower bound (inclusive).</param>\r
6567             <returns>The result directed collection.</returns>\r
6568         </member>\r
6569         <member name="M:C5.SortedArray`1.RangeFromTo(`0,`0)">\r
6570             <summary>\r
6571             Query this sorted collection for items between two supplied values.\r
6572             </summary>\r
6573             <param name="bot">The lower bound (inclusive).</param>\r
6574             <param name="top">The upper bound (exclusive).</param>\r
6575             <returns>The result directed collection.</returns>\r
6576         </member>\r
6577         <member name="M:C5.SortedArray`1.RangeTo(`0)">\r
6578             <summary>\r
6579             Query this sorted collection for items less than a supplied value.\r
6580             </summary>\r
6581             <param name="top">The upper bound (exclusive).</param>\r
6582             <returns>The result directed collection.</returns>\r
6583         </member>\r
6584         <member name="M:C5.SortedArray`1.FindAll(C5.Filter{`0})">\r
6585             <summary>\r
6586             Create a new indexed sorted collection consisting of the items of this\r
6587             indexed sorted collection satisfying a certain predicate.\r
6588             </summary>\r
6589             <param name="f">The filter delegate defining the predicate.</param>\r
6590             <returns>The new indexed sorted collection.</returns>\r
6591         </member>\r
6592         <member name="M:C5.SortedArray`1.Map``1(C5.Mapper{`0,``0},C5.IComparer{``0})">\r
6593             <summary>\r
6594             Create a new indexed sorted collection consisting of the results of\r
6595             mapping all items of this list.\r
6596             <exception cref="T:System.ArgumentException"/> if the map is not increasing over \r
6597             the items of this collection (with respect to the two given comparison \r
6598             relations).\r
6599             </summary>\r
6600             <param name="m">The delegate definging the map.</param>\r
6601             <param name="c">The comparion relation to use for the result.</param>\r
6602             <returns>The new sorted collection.</returns>\r
6603         </member>\r
6604         <member name="M:C5.SortedArray`1.Predecessor(`0)">\r
6605             <summary>\r
6606             Find the strict predecessor in the sorted collection of a particular value,\r
6607             i.e. the largest item in the collection less than the supplied value.\r
6608             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
6609             supplied  value is less than or equal to the minimum of this collection.)\r
6610             </summary>\r
6611             <param name="item">The item to find the predecessor for.</param>\r
6612             <returns>The predecessor.</returns>\r
6613         </member>\r
6614         <member name="M:C5.SortedArray`1.Successor(`0)">\r
6615             <summary>\r
6616             Find the strict successor in the sorted collection of a particular value,\r
6617             i.e. the least item in the collection greater than the supplied value.\r
6618             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
6619             supplied  value is greater than or equal to the maximum of this collection.)\r
6620             </summary>\r
6621             <param name="item">The item to find the successor for.</param>\r
6622             <returns>The successor.</returns>\r
6623         </member>\r
6624         <member name="M:C5.SortedArray`1.WeakPredecessor(`0)">\r
6625             <summary>\r
6626             Find the weak predecessor in the sorted collection of a particular value,\r
6627             i.e. the largest item in the collection less than or equal to the supplied value.\r
6628             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
6629             supplied  value is less than the minimum of this collection.)\r
6630             </summary>\r
6631             <param name="item">The item to find the weak predecessor for.</param>\r
6632             <returns>The weak predecessor.</returns>\r
6633         </member>\r
6634         <member name="M:C5.SortedArray`1.WeakSuccessor(`0)">\r
6635             <summary>\r
6636             Find the weak successor in the sorted collection of a particular value,\r
6637             i.e. the least item in the collection greater than or equal to the supplied value.\r
6638             <exception cref="T:System.InvalidOperationException"/> if no such element exists (the\r
6639             supplied  value is greater than the maximum of this collection.)\r
6640             </summary>\r
6641             <param name="item">The item to find the weak successor for.</param>\r
6642             <returns>The weak successor.</returns>\r
6643         </member>\r
6644         <member name="M:C5.SortedArray`1.Cut(System.IComparable{`0},`0@,System.Boolean@,`0@,System.Boolean@)">\r
6645             <summary>\r
6646             Perform a search in the sorted collection for the ranges in which a\r
6647             non-decreasing function from the item type to <code>int</code> is\r
6648             negative, zero respectively positive. If the supplied cut function is\r
6649             not non-decreasing, the result of this call is undefined.\r
6650             </summary>\r
6651             <param name="c">The cut function <code>T</code> to <code>int</code>, given\r
6652             as an <code>IComparable&lt;T&gt;</code> object, where the cut function is\r
6653             the <code>c.CompareTo(T that)</code> method.</param>\r
6654             <param name="low">Returns the largest item in the collection, where the\r
6655             cut function is negative (if any).</param>\r
6656             <param name="lowIsValid">True if the cut function is negative somewhere\r
6657             on this collection.</param>\r
6658             <param name="high">Returns the least item in the collection, where the\r
6659             cut function is positive (if any).</param>\r
6660             <param name="highIsValid">True if the cut function is positive somewhere\r
6661             on this collection.</param>\r
6662             <returns></returns>\r
6663         </member>\r
6664         <member name="M:C5.SortedArray`1.RangeAll">\r
6665             <summary>\r
6666             Create a directed collection with the same items as this collection.\r
6667             </summary>\r
6668             <returns>The result directed collection.</returns>\r
6669         </member>\r
6670         <member name="M:C5.SortedArray`1.AddSorted(System.Collections.Generic.IEnumerable{`0})">\r
6671             <summary>\r
6672             Add all the items from another collection with an enumeration order that \r
6673             is increasing in the items.\r
6674             <exception cref="T:System.ArgumentException"/> if the enumerated items turns out\r
6675             not to be in increasing order.\r
6676             </summary>\r
6677             <param name="items">The collection to add.</param>\r
6678         </member>\r
6679         <member name="M:C5.SortedArray`1.RemoveRangeFrom(`0)">\r
6680             <summary>\r
6681             Remove all items of this collection above or at a supplied threshold.\r
6682             </summary>\r
6683             <param name="low">The lower threshold (inclusive).</param>\r
6684         </member>\r
6685         <member name="M:C5.SortedArray`1.RemoveRangeFromTo(`0,`0)">\r
6686             <summary>\r
6687             Remove all items of this collection between two supplied thresholds.\r
6688             </summary>\r
6689             <param name="low">The lower threshold (inclusive).</param>\r
6690             <param name="hi">The upper threshold (exclusive).</param>\r
6691         </member>\r
6692         <member name="M:C5.SortedArray`1.RemoveRangeTo(`0)">\r
6693             <summary>\r
6694             Remove all items of this collection below a supplied threshold.\r
6695             </summary>\r
6696             <param name="hi">The upper threshold (exclusive).</param>\r
6697         </member>\r
6698         <member name="M:C5.SortedArray`1.Contains(`0)">\r
6699             <summary>\r
6700             Check if this collection contains (an item equivalent to according to the\r
6701             itemhasher) a particular value.\r
6702             </summary>\r
6703             <param name="item">The value to check for.</param>\r
6704             <returns>True if the items is in this collection.</returns>\r
6705         </member>\r
6706         <member name="M:C5.SortedArray`1.Find(`0@)">\r
6707             <summary>\r
6708             Check if this collection contains an item equivalent according to the\r
6709             itemhasher to a particular value. If so, return in the ref argument (a\r
6710             binary copy of) the actual value found.\r
6711             </summary>\r
6712             <param name="item">The value to look for.</param>\r
6713             <returns>True if the items is in this collection.</returns>\r
6714         </member>\r
6715         <member name="M:C5.SortedArray`1.FindOrAdd(`0@)">\r
6716             <summary>\r
6717             Check if this collection contains an item equivalent according to the\r
6718             itemhasher to a particular value. If so, return in the ref argument (a\r
6719             binary copy of) the actual value found. Else, add the item to the collection.\r
6720             </summary>\r
6721             <param name="item">The value to look for.</param>\r
6722             <returns>True if the item was added (hence not found).</returns>\r
6723         </member>\r
6724         <member name="M:C5.SortedArray`1.Update(`0)">\r
6725             <summary>\r
6726             Check if this collection contains an item equivalent according to the\r
6727             itemhasher to a particular value. If so, update the item in the collection \r
6728             to with a binary copy of the supplied value. If the collection has bag semantics,\r
6729             it is implementation dependent if this updates all equivalent copies in\r
6730             the collection or just one.\r
6731             </summary>\r
6732             <param name="item">Value to update.</param>\r
6733             <returns>True if the item was found and hence updated.</returns>\r
6734         </member>\r
6735         <member name="M:C5.SortedArray`1.UpdateOrAdd(`0)">\r
6736             <summary>\r
6737             Check if this collection contains an item equivalent according to the\r
6738             itemhasher to a particular value. If so, update the item in the collection \r
6739             to with a binary copy of the supplied value; else add the value to the collection. \r
6740             </summary>\r
6741             <param name="item">Value to add or update.</param>\r
6742             <returns>True if the item was found and updated (hence not added).</returns>\r
6743         </member>\r
6744         <member name="M:C5.SortedArray`1.Remove(`0)">\r
6745             <summary>\r
6746             Remove a particular item from this collection. If the collection has bag\r
6747             semantics only one copy equivalent to the supplied item is removed. \r
6748             </summary>\r
6749             <param name="item">The value to remove.</param>\r
6750             <returns>True if the item was found (and removed).</returns>\r
6751         </member>\r
6752         <member name="M:C5.SortedArray`1.RemoveWithReturn(`0@)">\r
6753             <summary>\r
6754             Remove a particular item from this collection if found. If the collection\r
6755             has bag semantics only one copy equivalent to the supplied item is removed,\r
6756             which one is implementation dependent. \r
6757             If an item was removed, report a binary copy of the actual item removed in \r
6758             the argument.\r
6759             </summary>\r
6760             <param name="item">The value to remove on input.</param>\r
6761             <returns>True if the item was found (and removed).</returns>\r
6762         </member>\r
6763         <member name="M:C5.SortedArray`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
6764             <summary>\r
6765             Remove all items in another collection from this one. \r
6766             </summary>\r
6767             <param name="items">The items to remove.</param>\r
6768         </member>\r
6769         <member name="M:C5.SortedArray`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
6770             <summary>\r
6771             Remove all items not in some other collection from this one. \r
6772             </summary>\r
6773             <param name="items">The items to retain.</param>\r
6774         </member>\r
6775         <member name="M:C5.SortedArray`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
6776             <summary>\r
6777             Check if this collection contains all the values in another collection.\r
6778             Multiplicities are not taken into account.\r
6779             </summary>\r
6780             <param name="items">The </param>\r
6781             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
6782         </member>\r
6783         <member name="M:C5.SortedArray`1.ContainsCount(`0)">\r
6784             <summary>\r
6785             Count the number of items of the collection equal to a particular value.\r
6786             Returns 0 if and only if the value is not in the collection.\r
6787             </summary>\r
6788             <param name="item">The value to count.</param>\r
6789             <returns>The number of copies found (0 or 1).</returns>\r
6790         </member>\r
6791         <member name="M:C5.SortedArray`1.RemoveAllCopies(`0)">\r
6792             <summary>\r
6793             Remove all (0 or 1) items equivalent to a given value.\r
6794             </summary>\r
6795             <param name="item">The value to remove.</param>\r
6796         </member>\r
6797         <member name="M:C5.SortedArray`1.Check">\r
6798             <summary>\r
6799             Check the integrity of the internal data structures of this collection.\r
6800             Only avaliable in DEBUG builds???\r
6801             </summary>\r
6802             <returns>True if check does not fail.</returns>\r
6803         </member>\r
6804         <member name="M:C5.SortedArray`1.Add(`0)">\r
6805             <summary>\r
6806             Add an item to this collection if possible. If this collection has set\r
6807             semantics, the item will be added if not already in the collection. If\r
6808             bag semantics, the item will always be added.\r
6809             </summary>\r
6810             <param name="item">The item to add.</param>\r
6811             <returns>True if item was added.</returns>\r
6812         </member>\r
6813         <member name="M:C5.SortedArray`1.AddAll(System.Collections.Generic.IEnumerable{`0})">\r
6814             <summary>\r
6815             Add the elements from another collection to this collection. If this\r
6816             collection has set semantics, only items not already in the collection\r
6817             will be added.\r
6818             </summary>\r
6819             <param name="items">The items to add.</param>\r
6820         </member>\r
6821         <member name="M:C5.SortedArray`1.AddAll``1(System.Collections.Generic.IEnumerable{``0})">\r
6822             <summary>\r
6823             Add the elements from another collection with a more specialized item type \r
6824             to this collection. Since this\r
6825             collection has set semantics, only items not already in the collection\r
6826             will be added.\r
6827             </summary>\r
6828             <typeparam name="U">The type of items to add</typeparam>\r
6829             <param name="items">The items to add</param>\r
6830         </member>\r
6831         <member name="M:C5.SortedArray`1.FindMin">\r
6832             <summary>\r
6833             Find the current least item of this priority queue.\r
6834             </summary>\r
6835             <returns>The least item.</returns>\r
6836         </member>\r
6837         <member name="M:C5.SortedArray`1.DeleteMin">\r
6838             <summary>\r
6839             Remove the least item from this  priority queue.\r
6840             </summary>\r
6841             <returns>The removed item.</returns>\r
6842         </member>\r
6843         <member name="M:C5.SortedArray`1.FindMax">\r
6844             <summary>\r
6845             Find the current largest item of this priority queue.\r
6846             </summary>\r
6847             <returns>The largest item.</returns>\r
6848         </member>\r
6849         <member name="M:C5.SortedArray`1.DeleteMax">\r
6850             <summary>\r
6851             Remove the largest item from this  priority queue.\r
6852             </summary>\r
6853             <returns>The removed item.</returns>\r
6854         </member>\r
6855         <member name="M:C5.SortedArray`1.IndexOf(`0)">\r
6856             <summary>\r
6857             Searches for an item in the list going forwrds from the start.\r
6858             </summary>\r
6859             <param name="item">Item to search for.</param>\r
6860             <returns>Index of item from start.</returns>\r
6861         </member>\r
6862         <member name="M:C5.SortedArray`1.LastIndexOf(`0)">\r
6863             <summary>\r
6864             Searches for an item in the list going backwords from the end.\r
6865             </summary>\r
6866             <param name="item">Item to search for.</param>\r
6867             <returns>Index of of item from the end.</returns>\r
6868         </member>\r
6869         <member name="M:C5.SortedArray`1.RemoveAt(System.Int32)">\r
6870             <summary>\r
6871             Remove the item at a specific position of the list.\r
6872             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
6873             &gt;= the size of the collection.\r
6874             </summary>\r
6875             <param name="i">The index of the item to remove.</param>\r
6876             <returns>The removed item.</returns>\r
6877         </member>\r
6878         <member name="M:C5.SortedArray`1.RemoveInterval(System.Int32,System.Int32)">\r
6879             <summary>\r
6880             Remove all items in an index interval.\r
6881             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
6882             </summary>\r
6883             <param name="start">The index of the first item to remove.</param>\r
6884             <param name="count">The number of items to remove.</param>\r
6885         </member>\r
6886         <member name="M:C5.SortedArray`1.C5#IDirectedEnumerable{T}#Backwards">\r
6887             <summary>\r
6888             Create a collection containing the same items as this collection, but\r
6889             whose enumerator will enumerate the items backwards. The new collection\r
6890             will become invalid if the original is modified. Method typicaly used as in\r
6891             <code>foreach (T x in coll.Backwards()) {...}</code>\r
6892             </summary>\r
6893             <returns>The backwards collection.</returns>\r
6894         </member>\r
6895         <member name="P:C5.SortedArray`1.Features">\r
6896             <summary>\r
6897             A debugging artifact. To be removed.\r
6898             </summary>\r
6899             <value></value>\r
6900         </member>\r
6901         <member name="P:C5.SortedArray`1.ContainsSpeed">\r
6902             <summary>\r
6903             The value is symbolic indicating the type of asymptotic complexity\r
6904             in terms of the size of this collection (worst-case).\r
6905             </summary>\r
6906             <value>Speed.Log</value>\r
6907         </member>\r
6908         <member name="P:C5.SortedArray`1.AllowsDuplicates">\r
6909             <summary>\r
6910             \r
6911             </summary>\r
6912             <value>False since this collection has set semantics</value>\r
6913         </member>\r
6914         <member name="P:C5.SortedArray`1.Comparer">\r
6915             <summary>\r
6916             The comparer object supplied at creation time for this collection\r
6917             </summary>\r
6918             <value>The comparer</value>\r
6919         </member>\r
6920         <member name="P:C5.SortedArray`1.Item(System.Int32)">\r
6921             <summary>\r
6922             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
6923             &gt;= the size of the collection.\r
6924             </summary>\r
6925             <value>The i'th item of this list.</value>\r
6926             <param name="i">the index to lookup</param>\r
6927         </member>\r
6928         <member name="T:C5.SortedArray`1.Feature">\r
6929             <summary>\r
6930             A debugging artifact. To be removed.\r
6931             </summary>\r
6932         </member>\r
6933         <member name="F:C5.SortedArray`1.Feature.Standard">\r
6934             <summary>\r
6935             A debugging artifact. To be removed.\r
6936             </summary>\r
6937         </member>\r
6938         <member name="T:C5.HashedArrayList`1">\r
6939             <summary>\r
6940             A set collection based on a dynamic  array combined with a hash index\r
6941             for item to index lookup.\r
6942             </summary>\r
6943         </member>\r
6944         <member name="M:C5.HashedArrayList`1.indexOf(`0)">\r
6945             <summary>\r
6946             Internal version of IndexOf without modification checks.\r
6947             </summary>\r
6948             <param name="item">Item to look for</param>\r
6949             <returns>The index of first occurrence</returns>\r
6950         </member>\r
6951         <member name="M:C5.HashedArrayList`1.lastIndexOf(`0)">\r
6952             <summary>\r
6953             Internal version of LastIndexOf without modification checks.\r
6954             </summary>\r
6955             <param name="item">Item to look for</param>\r
6956             <returns>The index of last occurrence</returns>\r
6957         </member>\r
6958         <member name="M:C5.HashedArrayList`1.insert(System.Int32,`0)">\r
6959             <summary>\r
6960             Internal version of Insert with no modification checks.\r
6961             <exception cref="T:System.ArgumentException"/> if item already in list.\r
6962             </summary>\r
6963             <param name="i">Index to insert at</param>\r
6964             <param name="item">Item to insert</param>\r
6965         </member>\r
6966         <member name="M:C5.HashedArrayList`1.removeAt(System.Int32)">\r
6967             <summary>\r
6968             Internal version of RemoveAt with no modification checks.\r
6969             </summary>\r
6970             <param name="i">Index to remove at</param>\r
6971             <returns>The removed item</returns>\r
6972         </member>\r
6973         <member name="M:C5.HashedArrayList`1.#ctor">\r
6974             <summary>\r
6975             Create a hashed array list with the natural hasher \r
6976             </summary>\r
6977         </member>\r
6978         <member name="M:C5.HashedArrayList`1.#ctor(System.Int32)">\r
6979             <summary>\r
6980             Create a hashed array list with the natural hasher and specified capacity\r
6981             </summary>\r
6982             <param name="cap">The initial capacity</param>\r
6983         </member>\r
6984         <member name="M:C5.HashedArrayList`1.#ctor(C5.IHasher{`0})">\r
6985             <summary>\r
6986             Create a hashed array list with an external hasher\r
6987             </summary>\r
6988             <param name="hasher">The external hasher</param>\r
6989         </member>\r
6990         <member name="M:C5.HashedArrayList`1.#ctor(System.Int32,C5.IHasher{`0})">\r
6991             <summary>\r
6992             Create a hashed array list with an external hasher and specified capacity\r
6993             </summary>\r
6994             <param name="capacity">The initial capacity</param>\r
6995             <param name="hasher">The external hasher</param>\r
6996         </member>\r
6997         <member name="M:C5.HashedArrayList`1.InsertAll(System.Int32,System.Collections.Generic.IEnumerable{`0})">\r
6998             <summary>\r
6999             Insert into this list all items from an enumerable collection starting \r
7000             at a particular index.\r
7001             <exception cref="T:System.IndexOutOfRangeException"/> if i is negative or\r
7002             &gt; the size of the collection.\r
7003             <exception cref="T:System.InvalidOperationException"/> if one of the items to insert is\r
7004             already in the list.\r
7005             </summary>\r
7006             <param name="i">Index to start inserting at</param>\r
7007             <param name="items">Items to insert</param>\r
7008         </member>\r
7009         <member name="M:C5.HashedArrayList`1.InsertBefore(`0,`0)">\r
7010             <summary>\r
7011             Insert an item right before the first occurrence of some target item.\r
7012             <exception cref="T:System.ArgumentException"/> if target    is not found.\r
7013             <exception cref="T:System.InvalidOperationException"/> if the item to insert is\r
7014             already in the list.\r
7015             </summary>\r
7016             <param name="item">The item to insert.</param>\r
7017             <param name="target">The target before which to insert.</param>\r
7018         </member>\r
7019         <member name="M:C5.HashedArrayList`1.InsertAfter(`0,`0)">\r
7020             <summary>\r
7021             Insert an item right after the last(???) occurrence of some target item.\r
7022             <exception cref="T:System.ArgumentException"/> if target    is not found.\r
7023             <exception cref="T:System.InvalidOperationException"/> if the item to insert is\r
7024             already in the list.\r
7025             </summary>\r
7026             <param name="item">The item to insert.</param>\r
7027             <param name="target">The target after which to insert.</param>\r
7028         </member>\r
7029         <member name="M:C5.HashedArrayList`1.View(System.Int32,System.Int32)">\r
7030             <summary>\r
7031             Create a list view on this list. \r
7032             <exception cref="T:System.ArgumentOutOfRangeException"/> if the view would not fit into\r
7033             this list.\r
7034             </summary>\r
7035             <param name="start">The index in this list of the start of the view.</param>\r
7036             <param name="count">The size of the view.</param>\r
7037             <returns>The new list view.</returns>\r
7038         </member>\r
7039         <member name="M:C5.HashedArrayList`1.Reverse(System.Int32,System.Int32)">\r
7040             <summary>\r
7041             Reverst part of the list so the items are in the opposite sequence order.\r
7042             <exception cref="T:System.ArgumentException"/> if the count is negative.\r
7043             <exception cref="T:System.ArgumentOutOfRangeException"/> if the part does not fit\r
7044             into the list.\r
7045             </summary>\r
7046             <param name="start">The index of the start of the part to reverse.</param>\r
7047             <param name="count">The size of the part to reverse.</param>\r
7048         </member>\r
7049         <member name="M:C5.HashedArrayList`1.Sort(C5.IComparer{`0})">\r
7050             <summary>\r
7051             Sort the items of the list according to a specific sorting order.\r
7052             </summary>\r
7053             <param name="c">The comparer defining the sorting order.</param>\r
7054         </member>\r
7055         <member name="M:C5.HashedArrayList`1.Shuffle(System.Random)">\r
7056             <summary>\r
7057             Shuffle the items of this list according to a specific random source.\r
7058             </summary>\r
7059             <param name="rnd">The random source.</param>\r
7060         </member>\r
7061         <member name="M:C5.HashedArrayList`1.RemoveInterval(System.Int32,System.Int32)">\r
7062             <summary>\r
7063             Remove all items in an index interval.\r
7064             <exception cref="T:System.IndexOutOfRangeException"/>???. \r
7065             </summary>\r
7066             <param name="start">The index of the first item to remove.</param>\r
7067             <param name="count">The number of items to remove.</param>\r
7068         </member>\r
7069         <member name="M:C5.HashedArrayList`1.Contains(`0)">\r
7070             <summary>\r
7071             Check if this collection contains (an item equivalent to according to the\r
7072             itemhasher) a particular value.\r
7073             </summary>\r
7074             <param name="item">The value to check for.</param>\r
7075             <returns>True if the items is in this collection.</returns>\r
7076         </member>\r
7077         <member name="M:C5.HashedArrayList`1.Remove(`0)">\r
7078             <summary>\r
7079             Remove the first copy of a particular item from this collection. \r
7080             </summary>\r
7081             <param name="item">The value to remove.</param>\r
7082             <returns>True if the item was found (and removed).</returns>\r
7083         </member>\r
7084         <member name="M:C5.HashedArrayList`1.RemoveAll(System.Collections.Generic.IEnumerable{`0})">\r
7085             <summary>\r
7086             Remove all items in another collection from this one, taking multiplicities into account.\r
7087             Matching items will be removed from the front. Current implementation is not optimal.\r
7088             </summary>\r
7089             <param name="items">The items to remove.</param>\r
7090         </member>\r
7091         <member name="M:C5.HashedArrayList`1.Clear">\r
7092             <summary>\r
7093             Remove all items from this collection, resetting internal array size.\r
7094             </summary>\r
7095         </member>\r
7096         <member name="M:C5.HashedArrayList`1.RetainAll(System.Collections.Generic.IEnumerable{`0})">\r
7097             <summary>\r
7098             Remove all items not in some other collection from this one.\r
7099             </summary>\r
7100             <param name="items">The items to retain.</param>\r
7101         </member>\r
7102         <member name="M:C5.HashedArrayList`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">\r
7103             <summary>\r
7104             Check if this collection contains all the values in another collection.\r
7105             </summary>\r
7106             <param name="items">The </param>\r
7107             <returns>True if all values in <code>items</code>is in this collection.</returns>\r
7108         </member>\r
7109         <member name="M:C5.HashedArrayList`1.ContainsCount(`0)">\r
7110             <summary>\r
7111             Count the number of items of the collection equal to a particular value.\r
7112             Returns 0 if and only if the value is not in the collection.\r
7113             </summary>\r
7114             <param name="item">The value to count.</param>\r
7115             <returns>The number of copies found (0 or 1).</returns>\r
7116         </member>\r
7117         <member name="M:C5.HashedArrayList`1.RemoveAllCopies(`0)">\r
7118             <summary>\r
7119             Remove all items equal to a given one.\r
7120             </summary>\r
7121             <param name="item">The value to remove.</param>\r
7122         </member>\r
7123         <member name="M:C5.HashedArrayList`1.Check">\r
7124             <summary>\r
7125             Check the integrity of the internal data structures of this array list.\r
7126             </summary>\r
7127             <returns>True if check does not fail.</returns>\r
7128         </member>\r
7129         <member name="M:C5.HashedArrayList`1.Add(`0)">\r
7130             <summary>\r
7131             Add an item to end of this list if not already in list.\r
7132             </summary>\r
7133             <param name="item">The item to add.</param>\r
7134             <returns>True if item was added</returns>\r
7135         </member>\r
7136         <member name="P:C5.HashedArrayList`1.ContainsSpeed">\r
7137             <summary>\r
7138             The value is symbolic indicating the type of asymptotic complexity\r
7139             in terms of the size of this collection (expected).\r
7140             </summary>\r
7141             <value>Speed.Constant</value>\r
7142         </member>\r
7143         <member name="P:C5.HashedArrayList`1.AllowsDuplicates">\r
7144             <summary>\r
7145             \r
7146             </summary>\r
7147             <value>False, indicating hashed array list has set semantics.</value>\r
7148         </member>\r
7149     </members>\r
7150 </doc>\r