/[TS3.SkuReader]/trunk/TS3.SkuReader/bin/Debug/s3pi.Interfaces.xml
ViewVC logotype

Contents of /trunk/TS3.SkuReader/bin/Debug/s3pi.Interfaces.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 87 - (show annotations) (download) (as text)
Sat May 31 07:17:05 2014 UTC (6 years, 7 months ago) by william
File MIME type: text/xml
File size: 278411 byte(s)
1.0.0.13217
1 <?xml version="1.0"?>
2 <doc>
3 <assembly>
4 <name>s3pi.Interfaces</name>
5 </assembly>
6 <members>
7 <member name="T:s3pi.Interfaces.AApiVersionedFields">
8 <summary>
9 API Objects should all descend from this Abstract class.
10 It will provide versioning support -- when implemented.
11 It provides ContentFields support
12 </summary>
13 </member>
14 <member name="T:s3pi.Interfaces.IApiVersion">
15 <summary>
16 Support for API versioning
17 </summary>
18 </member>
19 <member name="P:s3pi.Interfaces.IApiVersion.RequestedApiVersion">
20 <summary>
21 The version of the API in use
22 </summary>
23 </member>
24 <member name="P:s3pi.Interfaces.IApiVersion.RecommendedApiVersion">
25 <summary>
26 The best supported version of the API available
27 </summary>
28 </member>
29 <member name="T:s3pi.Interfaces.IContentFields">
30 <summary>
31 Standardised interface to API objects (hiding the reflection)
32 </summary>
33 </member>
34 <member name="P:s3pi.Interfaces.IContentFields.ContentFields">
35 <summary>
36 A <c>List&lt;string&gt;</c> of available field names on object
37 </summary>
38 </member>
39 <member name="P:s3pi.Interfaces.IContentFields.Item(System.String)">
40 <summary>
41 A <see cref="T:s3pi.Interfaces.TypedValue"/> on this object
42 </summary>
43 <param name="index">The <see cref="T:System.String"/> representing the name of the field
44 (i.e. one of the values from <see cref="P:s3pi.Interfaces.IContentFields.ContentFields"/>)</param>
45 <returns>The <see cref="T:s3pi.Interfaces.TypedValue"/> of field <paramref name="index"/> on this API object.</returns>
46 <exception cref="T:System.ArgumentOutOfRangeException">Thrown when an unknown index name is requested</exception>
47 </member>
48 <member name="F:s3pi.Interfaces.AApiVersionedFields.requestedApiVersion">
49 <summary>
50 Versioning is not currently implemented
51 Set this to the version of the API requested on object creation
52 </summary>
53 </member>
54 <member name="M:s3pi.Interfaces.AApiVersionedFields.GetContentFields(System.Int32,System.Type)">
55 <summary>
56 Versioning is not currently implemented
57 Return the list of fields for a given API Class
58 </summary>
59 <param name="APIversion">Set to 0 (== "best")</param>
60 <param name="t">The class type for which to get the fields</param>
61 <returns>List of field names for the given API version</returns>
62 </member>
63 <member name="M:s3pi.Interfaces.AApiVersionedFields.GetTGIBlocks(s3pi.Interfaces.AApiVersionedFields,System.String)">
64 <summary>
65 Get the TGIBlock list for a Content Field.
66 </summary>
67 <param name="o">The object to query.</param>
68 <param name="f">The property name under inspection.</param>
69 <returns>The TGIBlock list for a Content Field, if present; otherwise <c>null</c>.</returns>
70 </member>
71 <member name="M:s3pi.Interfaces.AApiVersionedFields.GetTGIBlocks(System.String)">
72 <summary>
73 Get the TGIBlock list for a Content Field.
74 </summary>
75 <param name="f">The property name under inspection.</param>
76 <returns>The TGIBlock list for a Content Field, if present; otherwise <c>null</c>.</returns>
77 </member>
78 <member name="M:s3pi.Interfaces.AApiVersionedFields.ToString">
79 <summary>
80 Returns a <see cref="T:System.String"/> that represents the current <see cref="T:s3pi.Interfaces.AApiVersionedFields"/> object.
81 </summary>
82 <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:s3pi.Interfaces.AApiVersionedFields"/> object.</returns>
83 </member>
84 <member name="M:s3pi.Interfaces.AApiVersionedFields.CompareByPriority(System.String,System.String)">
85 <summary>
86 Sorts Content Field names by their <see cref="T:s3pi.Interfaces.ElementPriorityAttribute"/> (if set)
87 </summary>
88 <param name="x">First content field name</param>
89 <param name="y">Second content field name</param>
90 <returns>A signed number indicating the relative values of this instance and value.</returns>
91 </member>
92 <member name="M:s3pi.Interfaces.AApiVersionedFields.GetContentFieldTypes(System.Int32,System.Type)">
93 <summary>
94 Gets a lookup table from fieldname to type.
95 </summary>
96 <param name="APIversion">Version of API to use</param>
97 <param name="t">API data type to query</param>
98 <returns></returns>
99 </member>
100 <member name="M:s3pi.Interfaces.AApiVersionedFields.FOURCC(System.String)">
101 <summary>
102 Convert a string (up to 8 characters) to a UInt64
103 </summary>
104 <param name="s">String to convert</param>
105 <returns>UInt64 packed representation of <paramref name="s"/></returns>
106 </member>
107 <member name="M:s3pi.Interfaces.AApiVersionedFields.FOURCC(System.UInt64)">
108 <summary>
109 Convert a UInt64 to a string (up to 8 characters, high-order zeros omitted)
110 </summary>
111 <param name="i">Bytes to convert</param>
112 <returns>String representation of <paramref name="i"/></returns>
113 </member>
114 <member name="M:s3pi.Interfaces.AApiVersionedFields.FlagNames(System.Type)">
115 <summary>
116 Return a space-separated string containing valid enumeration names for the given type
117 </summary>
118 <param name="t">Enum type</param>
119 <returns>Valid enum names</returns>
120 </member>
121 <member name="P:s3pi.Interfaces.AApiVersionedFields.RequestedApiVersion">
122 <summary>
123 The version of the API in use
124 </summary>
125 </member>
126 <member name="P:s3pi.Interfaces.AApiVersionedFields.RecommendedApiVersion">
127 <summary>
128 The best supported version of the API available
129 </summary>
130 </member>
131 <member name="P:s3pi.Interfaces.AApiVersionedFields.ContentFields">
132 <summary>
133 The list of available field names on this API object
134 </summary>
135 </member>
136 <member name="P:s3pi.Interfaces.AApiVersionedFields.Item(System.String)">
137 <summary>
138 A typed value on this object
139 </summary>
140 <param name="index">The name of the field (i.e. one of the values from ContentFields)</param>
141 <returns>The typed value of the named field</returns>
142 <exception cref="T:System.ArgumentOutOfRangeException">Thrown when an unknown index name is requested</exception>
143 </member>
144 <member name="P:s3pi.Interfaces.AApiVersionedFields.ValueBuilderFields">
145 <summary>
146 The fields ValueBuilder will return; used to eliminate those that should not be used.
147 </summary>
148 </member>
149 <member name="P:s3pi.Interfaces.AApiVersionedFields.ValueBuilder">
150 <summary>
151 Returns a string representing the value of the field (and any contained sub-fields)
152 </summary>
153 </member>
154 <member name="T:s3pi.Interfaces.AApiVersionedFields.Comparer`1">
155 <summary>
156 A class enabling sorting API objects by a ContentFields name
157 </summary>
158 <typeparam name="T">API object type</typeparam>
159 </member>
160 <member name="M:s3pi.Interfaces.AApiVersionedFields.Comparer`1.#ctor(System.String)">
161 <summary>
162 Sort API Objects by <paramref name="field"/>
163 </summary>
164 <param name="field">ContentField name to sort by</param>
165 </member>
166 <member name="M:s3pi.Interfaces.AApiVersionedFields.Comparer`1.Compare(`0,`0)">
167 <summary>
168 Compares two objects of type T and returns a value indicating whether one is less than,
169 equal to, or greater than the other.
170 </summary>
171 <param name="x">The first IContentFields object to compare.</param>
172 <param name="y">The second IContentFields object to compare.</param>
173 <returns>Value Condition Less than zero -- x is less than y.
174 Zero -- x equals y.
175 Greater than zero -- x is greater than y.</returns>
176 </member>
177 <member name="T:s3pi.Interfaces.AHandlerElement">
178 <summary>
179 A useful extension to <see cref="T:s3pi.Interfaces.AApiVersionedFields"/> where a change handler is required
180 </summary>
181 </member>
182 <member name="F:s3pi.Interfaces.AHandlerElement.handler">
183 <summary>
184 Holds the <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.
185 </summary>
186 </member>
187 <member name="F:s3pi.Interfaces.AHandlerElement.dirty">
188 <summary>
189 Indicates if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> has been changed by OnElementChanged()
190 </summary>
191 </member>
192 <member name="M:s3pi.Interfaces.AHandlerElement.#ctor(System.Int32,System.EventHandler)">
193 <summary>
194 Initialize a new instance
195 </summary>
196 <param name="APIversion">The requested API version.</param>
197 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
198 </member>
199 <member name="M:s3pi.Interfaces.AHandlerElement.Clone(System.EventHandler)">
200 <summary>
201 Get a copy of the <see cref="T:s3pi.Interfaces.AHandlerElement"/> but with a new change <see cref="T:System.EventHandler"/>.
202 </summary>
203 <param name="handler">The replacement <see cref="T:System.EventHandler"/> delegate.</param>
204 <returns>Return a copy of the <see cref="T:s3pi.Interfaces.AHandlerElement"/> but with a new change <see cref="T:System.EventHandler"/>.</returns>
205 </member>
206 <member name="M:s3pi.Interfaces.AHandlerElement.OnElementChanged">
207 <summary>
208 Flag the <see cref="T:s3pi.Interfaces.AHandlerElement"/> as dirty and invoke the <see cref="T:System.EventHandler"/> delegate.
209 </summary>
210 </member>
211 <member name="M:s3pi.Interfaces.AHandlerElement.SetHandler(System.EventHandler)">
212 <summary>
213 Change the element change handler to <paramref name="handler"/>.
214 </summary>
215 <param name="handler">The new element change handler.</param>
216 </member>
217 <member name="T:s3pi.Interfaces.HandlerElement`1">
218 <summary>
219 An extension to <see cref="T:s3pi.Interfaces.AHandlerElement"/>, for simple data types (such as <see cref="T:System.UInt32"/>).
220 </summary>
221 <typeparam name="T">A simple data type (such as <see cref="T:System.UInt32"/>).</typeparam>
222 <remarks>For an example of use, see <see cref="T:s3pi.Interfaces.SimpleList`1"/>.</remarks>
223 <seealso cref="T:s3pi.Interfaces.SimpleList`1"/>
224 </member>
225 <member name="M:s3pi.Interfaces.HandlerElement`1.#ctor(System.Int32,System.EventHandler)">
226 <summary>
227 Initialize a new instance with a default value.
228 </summary>
229 <param name="APIversion">The requested API version.</param>
230 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
231 </member>
232 <member name="M:s3pi.Interfaces.HandlerElement`1.#ctor(System.Int32,System.EventHandler,`0)">
233 <summary>
234 Initialize a new instance with an initial value of <paramref name="basis"/>.
235 </summary>
236 <param name="APIversion">The requested API version.</param>
237 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
238 <param name="basis">Initial value for instance.</param>
239 </member>
240 <member name="M:s3pi.Interfaces.HandlerElement`1.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.HandlerElement{`0})">
241 <summary>
242 Initialize a new instance with an initial value from <paramref name="basis"/>.
243 </summary>
244 <param name="APIversion">The requested API version.</param>
245 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
246 <param name="basis">Element containing the initial value for instance.</param>
247 </member>
248 <member name="M:s3pi.Interfaces.HandlerElement`1.Clone(System.EventHandler)">
249 <summary>
250 Get a copy of the HandlerElement but with a new change <see cref="T:System.EventHandler"/>.
251 </summary>
252 <param name="handler">The replacement HandlerElement delegate.</param>
253 <returns>Return a copy of the HandlerElement but with a new change <see cref="T:System.EventHandler"/>.</returns>
254 </member>
255 <member name="M:s3pi.Interfaces.HandlerElement`1.Equals(s3pi.Interfaces.HandlerElement{`0})">
256 <summary>
257 Indicates whether the current object is equal to another object of the same type.
258 </summary>
259 <param name="other">An object to compare with this object.</param>
260 <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
261 </member>
262 <member name="M:s3pi.Interfaces.HandlerElement`1.Equals(System.Object)">
263 <summary>
264 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>.
265 </summary>
266 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>.</param>
267 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>; otherwise, false.</returns>
268 <exception cref="T:System.NullReferenceException">The obj parameter is null.</exception>
269 </member>
270 <member name="M:s3pi.Interfaces.HandlerElement`1.GetHashCode">
271 <summary>
272 Returns the hash code for this instance.
273 </summary>
274 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
275 </member>
276 <member name="M:s3pi.Interfaces.HandlerElement`1.op_Implicit(s3pi.Interfaces.HandlerElement{`0})~`0">
277 <summary>
278 Implicit cast from <see cref="T:s3pi.Interfaces.HandlerElement`1"/> to <typeparamref name="T"/>.
279 </summary>
280 <param name="value">Value to cast.</param>
281 <returns>Cast value.</returns>
282 </member>
283 <member name="P:s3pi.Interfaces.HandlerElement`1.RecommendedApiVersion">
284 <summary>
285 The best supported version of the API available
286 </summary>
287 </member>
288 <member name="P:s3pi.Interfaces.HandlerElement`1.ContentFields">
289 <summary>
290 The list of available field names on this API object.
291 </summary>
292 </member>
293 <member name="P:s3pi.Interfaces.HandlerElement`1.Val">
294 <summary>
295 The value of the object.
296 </summary>
297 </member>
298 <member name="P:s3pi.Interfaces.HandlerElement`1.Value">
299 <summary>
300 Get displayable value.
301 </summary>
302 </member>
303 <member name="T:s3pi.Interfaces.TGIBlockListIndex`1">
304 <summary>
305 An extension to <see cref="T:s3pi.Interfaces.AHandlerElement"/>, for lists of TGIBlockList indices.
306 </summary>
307 <typeparam name="T">A simple data type (such as <see cref="T:System.Int32"/>).</typeparam>
308 <remarks>For an example of use, see <see cref="T:s3pi.Interfaces.IndexList`1"/>.</remarks>
309 <seealso cref="T:s3pi.Interfaces.IndexList`1"/>
310 </member>
311 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
312 <summary>
313 Initialize a new instance with a default value.
314 </summary>
315 <param name="APIversion">The requested API version.</param>
316 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
317 <param name="ParentTGIBlocks">Reference to list into which this is an index.</param>
318 </member>
319 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.TGIBlockListIndex{`0},s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
320 <summary>
321 Initialize a new instance with an initial value from <paramref name="basis"/>.
322 </summary>
323 <param name="APIversion">The requested API version.</param>
324 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
325 <param name="basis">Element containing the initial value for instance.</param>
326 <param name="ParentTGIBlocks">Reference to list into which this is an index, or null to use that in <paramref name="basis"/>.</param>
327 </member>
328 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.#ctor(System.Int32,System.EventHandler,`0,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
329 <summary>
330 Initialize a new instance with an initial value of <paramref name="value"/>.
331 </summary>
332 <param name="APIversion">The requested API version.</param>
333 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
334 <param name="value">Initial value for instance.</param>
335 <param name="ParentTGIBlocks">Reference to list into which this is an index.</param>
336 </member>
337 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.Equals(s3pi.Interfaces.TGIBlockListIndex{`0})">
338 <summary>
339 Indicates whether the current object is equal to another object of the same type.
340 </summary>
341 <param name="other">An object to compare with this object.</param>
342 <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
343 </member>
344 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.Equals(System.Object)">
345 <summary>
346 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>.
347 </summary>
348 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>.</param>
349 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.HandlerElement`1"/>; otherwise, false.</returns>
350 <exception cref="T:System.NullReferenceException">The obj parameter is null.</exception>
351 </member>
352 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.GetHashCode">
353 <summary>
354 Returns the hash code for this instance.
355 </summary>
356 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
357 </member>
358 <member name="M:s3pi.Interfaces.TGIBlockListIndex`1.op_Implicit(s3pi.Interfaces.TGIBlockListIndex{`0})~`0">
359 <summary>
360 Implicit cast from <see cref="T:s3pi.Interfaces.HandlerElement`1"/> to <typeparamref name="T"/>.
361 </summary>
362 <param name="value">Value to cast.</param>
363 <returns>Cast value.</returns>
364 </member>
365 <member name="P:s3pi.Interfaces.TGIBlockListIndex`1.ParentTGIBlocks">
366 <summary>
367 Reference to list into which this is an index.
368 </summary>
369 </member>
370 <member name="P:s3pi.Interfaces.TGIBlockListIndex`1.RecommendedApiVersion">
371 <summary>
372 The best supported version of the API available
373 </summary>
374 </member>
375 <member name="P:s3pi.Interfaces.TGIBlockListIndex`1.ContentFields">
376 <summary>
377 The list of available field names on this API object.
378 </summary>
379 </member>
380 <member name="P:s3pi.Interfaces.TGIBlockListIndex`1.Data">
381 <summary>
382 The value of the object.
383 </summary>
384 </member>
385 <member name="P:s3pi.Interfaces.TGIBlockListIndex`1.Value">
386 <summary>
387 Displayable value
388 </summary>
389 </member>
390 <member name="T:s3pi.Interfaces.AResourceIndexEntry">
391 <summary>
392 An abstract class, descended from <see cref="T:s3pi.Interfaces.AResourceKey"/>, providing an abstract implemention of <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>,
393 representing an index entry within a package.
394 </summary>
395 </member>
396 <member name="T:s3pi.Interfaces.AResourceKey">
397 <summary>
398 An abstract class, extending <see cref="T:s3pi.Interfaces.AHandlerElement"/> and implementing <see cref="T:s3pi.Interfaces.IResourceKey"/>.
399 </summary>
400 </member>
401 <member name="T:s3pi.Interfaces.IResourceKey">
402 <summary>
403 Exposes a standard set of properties to identify a resource
404 </summary>
405 </member>
406 <member name="P:s3pi.Interfaces.IResourceKey.ResourceType">
407 <summary>
408 The "type" of the resource
409 </summary>
410 </member>
411 <member name="P:s3pi.Interfaces.IResourceKey.ResourceGroup">
412 <summary>
413 The "group" the resource is part of
414 </summary>
415 </member>
416 <member name="P:s3pi.Interfaces.IResourceKey.Instance">
417 <summary>
418 The "instance" number of the resource
419 </summary>
420 </member>
421 <member name="F:s3pi.Interfaces.AResourceKey.resourceType">
422 <summary>
423 The "type" of the resource
424 </summary>
425 </member>
426 <member name="F:s3pi.Interfaces.AResourceKey.resourceGroup">
427 <summary>
428 The "group" the resource is part of
429 </summary>
430 </member>
431 <member name="F:s3pi.Interfaces.AResourceKey.instance">
432 <summary>
433 The "instance" number of the resource
434 </summary>
435 </member>
436 <member name="M:s3pi.Interfaces.AResourceKey.#ctor(System.Int32,System.EventHandler)">
437 <summary>
438 Initialize a new instance
439 </summary>
440 <param name="APIversion">The requested API version.</param>
441 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AResourceKey"/> changes.</param>
442 </member>
443 <member name="M:s3pi.Interfaces.AResourceKey.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.IResourceKey)">
444 <summary>
445 Initialize a new instance
446 </summary>
447 <param name="APIversion">The requested API version.</param>
448 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AResourceKey"/> changes.</param>
449 <param name="basis">The <see cref="T:s3pi.Interfaces.IResourceKey"/> values to use to initialise the instance.</param>
450 </member>
451 <member name="M:s3pi.Interfaces.AResourceKey.#ctor(System.Int32,System.EventHandler,System.UInt32,System.UInt32,System.UInt64)">
452 <summary>
453 Initialize a new instance
454 </summary>
455 <param name="APIversion">The requested API version.</param>
456 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AResourceKey"/> changes.</param>
457 <param name="resourceType">The type of the resource.</param>
458 <param name="resourceGroup">The group of the resource.</param>
459 <param name="instance">The instance of the resource.</param>
460 </member>
461 <member name="M:s3pi.Interfaces.AResourceKey.Equals(s3pi.Interfaces.IResourceKey,s3pi.Interfaces.IResourceKey)">
462 <summary>
463 Determines whether the specified <see cref="T:s3pi.Interfaces.IResourceKey"/> instances are equal.
464 </summary>
465 <param name="x">The first <see cref="T:s3pi.Interfaces.IResourceKey"/> to compare.</param>
466 <param name="y">The second <see cref="T:s3pi.Interfaces.IResourceKey"/> to compare.</param>
467 <returns>true if the specified <see cref="T:s3pi.Interfaces.IResourceKey"/> instances are equal; otherwise, false.</returns>
468 </member>
469 <member name="M:s3pi.Interfaces.AResourceKey.GetHashCode(s3pi.Interfaces.IResourceKey)">
470 <summary>
471 Returns a hash code for the specified <see cref="T:s3pi.Interfaces.IResourceKey"/>.
472 </summary>
473 <param name="obj">The <see cref="T:s3pi.Interfaces.IResourceKey"/> for which a hash code is to be returned.</param>
474 <returns>A hash code for the specified object.</returns>
475 <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and
476 <paramref name="obj"/> is null.</exception>
477 <seealso cref="M:s3pi.Interfaces.AResourceKey.GetHashCode"/>
478 </member>
479 <member name="M:s3pi.Interfaces.AResourceKey.GetHashCode">
480 <summary>
481 Serves as a hash function for an <see cref="T:s3pi.Interfaces.AResourceKey"/>.
482 </summary>
483 <returns>A hash code for the current <see cref="T:s3pi.Interfaces.AResourceKey"/>.</returns>
484 </member>
485 <member name="M:s3pi.Interfaces.AResourceKey.Equals(s3pi.Interfaces.IResourceKey)">
486 <summary>
487 Indicates whether the current <see cref="T:s3pi.Interfaces.AResourceKey"/> instance is equal to another <see cref="T:s3pi.Interfaces.IResourceKey"/> instance.
488 </summary>
489 <param name="other">An <see cref="T:s3pi.Interfaces.IResourceKey"/> instance to compare with this instance.</param>
490 <returns>true if the current instance is equal to the <paramref name="other"/> parameter; otherwise, false.</returns>
491 </member>
492 <member name="M:s3pi.Interfaces.AResourceKey.Equals(System.Object)">
493 <summary>
494 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.AResourceKey"/>.
495 </summary>
496 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.AResourceKey"/>.</param>
497 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.AResourceKey"/>; otherwise, false.</returns>
498 </member>
499 <member name="M:s3pi.Interfaces.AResourceKey.CompareTo(s3pi.Interfaces.IResourceKey)">
500 <summary>
501 Compare this <see cref="T:s3pi.Interfaces.AResourceKey"/> to another <see cref="T:s3pi.Interfaces.IResourceKey"/> for sort order purposes
502 </summary>
503 <param name="other">Target <see cref="T:s3pi.Interfaces.IResourceKey"/></param>
504 <returns>A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
505 <table>
506 <thead><tr><td><strong>Value</strong></td><td><strong>Meaning</strong></td></tr></thead>
507 <tbody>
508 <tr><td>Less than zero</td><td>This instance is less than <paramref name="other"/>.</td></tr>
509 <tr><td>Zero</td><td>This instance is equal to <paramref name="other"/>.</td></tr>
510 <tr><td>Greater than zero</td><td>This instance is greater than <paramref name="other"/>.</td></tr>
511 </tbody>
512 </table>
513 </returns>
514 <exception cref="T:System.NotImplementedException">Either this object's Type or the target's is not comparable</exception>
515 <exception cref="T:System.ArgumentException">The target is not comparable with this object</exception>
516 </member>
517 <member name="M:s3pi.Interfaces.AResourceKey.TryParse(System.String,s3pi.Interfaces.IResourceKey)">
518 <summary>
519 Converts the string representation of a resource key to its <see cref="T:s3pi.Interfaces.AResourceKey"/>
520 equivalent. A return value indicates whether the conversion succeeded.
521 </summary>
522 <param name="value">A string containing a resource key to convert.</param>
523 <param name="result">
524 When this method returns, contains the <see cref="T:s3pi.Interfaces.AResourceKey"/> equivalent
525 to the resource key contained in <paramref name="value"/>, if the conversion succeeded, or
526 unchanged if the conversion failed. The conversion fails if the <paramref name="value"/>
527 parameter is null or is not of the correct format. This parameter must not be null.
528 </param>
529 <returns>true if <paramref name="value"/> was converted successfully; otherwise, false.</returns>
530 <exception cref="T:System.NullReferenceException">Thrown if <paramref name="result"/> is null.</exception>
531 </member>
532 <member name="M:s3pi.Interfaces.AResourceKey.op_Implicit(s3pi.Interfaces.AResourceKey)~System.String">
533 <summary>
534 Converts an <see cref="T:s3pi.Interfaces.AResourceKey"/> to a string representation.
535 </summary>
536 <param name="value">The <see cref="T:s3pi.Interfaces.AResourceKey"/> to convert</param>
537 <returns>The 42 character string representation of this resource key,
538 of the form 0xXXXXXXXX-0xXXXXXXXX-0xXXXXXXXXXXXXXXXX.</returns>
539 </member>
540 <member name="M:s3pi.Interfaces.AResourceKey.ToString">
541 <summary>
542 Returns a string representation of this <see cref="T:s3pi.Interfaces.AResourceKey"/>.
543 </summary>
544 <returns>The 42 character string representation of this resource key,
545 of the form 0xXXXXXXXX-0xXXXXXXXX-0xXXXXXXXXXXXXXXXX.</returns>
546 </member>
547 <member name="P:s3pi.Interfaces.AResourceKey.ResourceType">
548 <summary>
549 The "type" of the resource
550 </summary>
551 </member>
552 <member name="P:s3pi.Interfaces.AResourceKey.ResourceGroup">
553 <summary>
554 The "group" the resource is part of
555 </summary>
556 </member>
557 <member name="P:s3pi.Interfaces.AResourceKey.Instance">
558 <summary>
559 The "instance" number of the resource
560 </summary>
561 </member>
562 <member name="T:s3pi.Interfaces.IResourceIndexEntry">
563 <summary>
564 An index entry within a package
565 </summary>
566 </member>
567 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Chunkoffset">
568 <summary>
569 If the resource was read from a package, the location in the package the resource was read from
570 </summary>
571 </member>
572 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Filesize">
573 <summary>
574 The number of bytes the resource uses within the package
575 </summary>
576 </member>
577 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Memsize">
578 <summary>
579 The number of bytes the resource uses in memory
580 </summary>
581 </member>
582 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Compressed">
583 <summary>
584 0xFFFF if Filesize != Memsize, else 0x0000
585 </summary>
586 </member>
587 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Unknown2">
588 <summary>
589 Always 0x0001
590 </summary>
591 </member>
592 <member name="P:s3pi.Interfaces.IResourceIndexEntry.Stream">
593 <summary>
594 A <see cref="T:System.IO.MemoryStream"/> covering the index entry bytes
595 </summary>
596 </member>
597 <member name="P:s3pi.Interfaces.IResourceIndexEntry.IsDeleted">
598 <summary>
599 True if the index entry has been deleted from the package index
600 </summary>
601 </member>
602 <member name="M:s3pi.Interfaces.AResourceIndexEntry.#ctor">
603 <summary>
604 Initialize a new instance with the default API version and no change <see cref="T:System.EventHandler"/>.
605 </summary>
606 </member>
607 <member name="F:s3pi.Interfaces.AResourceIndexEntry.ResourceIndexEntryChanged">
608 <summary>
609 Raised when the AResourceIndexEntry changes
610 </summary>
611 </member>
612 <member name="M:s3pi.Interfaces.AResourceIndexEntry.Equals(s3pi.Interfaces.IResourceIndexEntry)">
613 <summary>
614 Indicates whether the current <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> instance is equal to another <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> instance.
615 </summary>
616 <param name="other">An <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> instance to compare with this instance.</param>
617 <returns>true if the current instance is equal to the <paramref name="other"/> parameter; otherwise, false.</returns>
618 </member>
619 <member name="M:s3pi.Interfaces.AResourceIndexEntry.Equals(System.Object)">
620 <summary>
621 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.AResourceIndexEntry"/>.
622 </summary>
623 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.AResourceIndexEntry"/>.</param>
624 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.AResourceIndexEntry"/>; otherwise, false.</returns>
625 </member>
626 <member name="M:s3pi.Interfaces.AResourceIndexEntry.GetHashCode">
627 <summary>
628 Returns the hash code for this instance.
629 </summary>
630 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
631 </member>
632 <member name="P:s3pi.Interfaces.AResourceIndexEntry.ContentFields">
633 <summary>
634 The list of available field names on this API object
635 </summary>
636 </member>
637 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Chunkoffset">
638 <summary>
639 If the resource was read from a package, the location in the package the resource was read from
640 </summary>
641 </member>
642 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Filesize">
643 <summary>
644 The number of bytes the resource uses within the package
645 </summary>
646 </member>
647 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Memsize">
648 <summary>
649 The number of bytes the resource uses in memory
650 </summary>
651 </member>
652 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Compressed">
653 <summary>
654 0xFFFF if Filesize != Memsize, else 0x0000
655 </summary>
656 </member>
657 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Unknown2">
658 <summary>
659 Always 0x0001
660 </summary>
661 </member>
662 <member name="P:s3pi.Interfaces.AResourceIndexEntry.Stream">
663 <summary>
664 A MemoryStream covering the index entry bytes
665 </summary>
666 </member>
667 <member name="P:s3pi.Interfaces.AResourceIndexEntry.IsDeleted">
668 <summary>
669 True if the index entry has been deleted from the package index
670 </summary>
671 </member>
672 <member name="T:s3pi.Interfaces.APackage">
673 <summary>
674 Abstract definition of a package
675 </summary>
676 </member>
677 <member name="T:s3pi.Interfaces.IPackage">
678 <summary>
679 Representation of a Sims 3 Package
680 </summary>
681 </member>
682 <member name="M:s3pi.Interfaces.IPackage.SavePackage">
683 <summary>
684 Tell the package to save itself to wherever it believes it came from
685 </summary>
686 </member>
687 <member name="M:s3pi.Interfaces.IPackage.SaveAs(System.IO.Stream)">
688 <summary>
689 Tell the package to save itself to the <see cref="T:System.IO.Stream"/> <paramref name="s"/>
690 </summary>
691 <param name="s">A <see cref="T:System.IO.Stream"/> to which the package should be saved</param>
692 </member>
693 <member name="M:s3pi.Interfaces.IPackage.SaveAs(System.String)">
694 <summary>
695 Tell the package to save itself to a file with the name in <paramref name="path"/>
696 </summary>
697 <param name="path">A fully-qualified file name</param>
698 </member>
699 <member name="M:s3pi.Interfaces.IPackage.Find(System.UInt32,s3pi.Interfaces.IResourceIndexEntry)">
700 <summary>
701 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
702 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
703 <paramref name="flags"/> and <paramref name="values"/>.
704 </summary>
705 <param name="flags">True bits enable matching against numerically equivalent <paramref name="values"/> entry.</param>
706 <param name="values">Field values to compare against.</param>
707 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
708 </member>
709 <member name="M:s3pi.Interfaces.IPackage.Find(System.String[],s3pi.Interfaces.TypedValue[])">
710 <summary>
711 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
712 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
713 <paramref name="names"/> and <paramref name="values"/>.
714 </summary>
715 <param name="names">Names of <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> fields to compare.</param>
716 <param name="values">Field values to compare against.</param>
717 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
718 </member>
719 <member name="M:s3pi.Interfaces.IPackage.Find(System.Predicate{s3pi.Interfaces.IResourceIndexEntry})">
720 <summary>
721 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
722 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
723 the <c>Predicate&lt;IResourceIndexEntry&gt;</c> <paramref name="Match"/>.
724 </summary>
725 <param name="Match"><c>Predicate&lt;IResourceIndexEntry&gt;</c> defining matching conditions.</param>
726 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
727 <remarks>Note that entries marked as deleted will not be returned.</remarks>
728 </member>
729 <member name="M:s3pi.Interfaces.IPackage.FindAll(System.UInt32,s3pi.Interfaces.IResourceIndexEntry)">
730 <summary>
731 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
732 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
733 <paramref name="flags"/> and <paramref name="values"/>.
734 </summary>
735 <param name="flags">True bits enable matching against numerically equivalent <paramref name="values"/> entry.</param>
736 <param name="values">Field values to compare against.</param>
737 <returns>An <c>IList&lt;IResourceIndexEntry&gt;</c> of zero or more matches.</returns>
738 </member>
739 <member name="M:s3pi.Interfaces.IPackage.FindAll(System.String[],s3pi.Interfaces.TypedValue[])">
740 <summary>
741 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
742 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
743 <paramref name="names"/> and <paramref name="values"/>.
744 </summary>
745 <param name="names">Names of <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> fields to compare.</param>
746 <param name="values">Field values to compare against.</param>
747 <returns>An <c>IList&lt;IResourceIndexEntry&gt;</c> of zero or more matches.</returns>
748 </member>
749 <member name="M:s3pi.Interfaces.IPackage.FindAll(System.Predicate{s3pi.Interfaces.IResourceIndexEntry})">
750 <summary>
751 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
752 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
753 the <c>Predicate&lt;IResourceIndexEntry&gt;</c> <paramref name="Match"/>.
754 </summary>
755 <param name="Match"><c>Predicate&lt;IResourceIndexEntry&gt;</c> defining matching conditions.</param>
756 <returns>Zero or more matches.</returns>
757 <remarks>Note that entries marked as deleted will not be returned.</remarks>
758 </member>
759 <member name="M:s3pi.Interfaces.IPackage.AddResource(s3pi.Interfaces.IResourceKey,System.IO.Stream,System.Boolean)">
760 <summary>
761 Add a resource to the <see cref="T:s3pi.Interfaces.IPackage"/>.
762 </summary>
763 <param name="rk">The resource's <see cref="T:s3pi.Interfaces.IResourceKey"/></param>
764 <param name="stream">The <see cref="T:System.IO.Stream"/> that contains the resource's data</param>
765 <param name="rejectDups">If true, fail if the <see cref="T:s3pi.Interfaces.IResourceKey"/> already exists</param>
766 <returns>Null if rejectDups and the <see cref="T:s3pi.Interfaces.IResourceKey"/> exists; else the new <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/></returns>
767 </member>
768 <member name="M:s3pi.Interfaces.IPackage.ReplaceResource(s3pi.Interfaces.IResourceIndexEntry,s3pi.Interfaces.IResource)">
769 <summary>
770 Tell the <see cref="T:s3pi.Interfaces.IPackage"/> to replace the data for the resource indexed by <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> <paramref name="rc"/>
771 with the data from the <see cref="T:s3pi.Interfaces.IResource"/> <paramref name="res"/>.
772 </summary>
773 <param name="rc">Target <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>.</param>
774 <param name="res">Source <see cref="T:s3pi.Interfaces.IResource"/>.</param>
775 </member>
776 <member name="M:s3pi.Interfaces.IPackage.DeleteResource(s3pi.Interfaces.IResourceIndexEntry)">
777 <summary>
778 Tell the package to delete the resource indexed by <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> <paramref name="rc"/>.
779 </summary>
780 <param name="rc">Target <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>.</param>
781 </member>
782 <member name="P:s3pi.Interfaces.IPackage.Magic">
783 <summary>
784 Package header: "DBPF" bytes
785 </summary>
786 </member>
787 <member name="P:s3pi.Interfaces.IPackage.Major">
788 <summary>
789 Package header: 0x00000002
790 </summary>
791 </member>
792 <member name="P:s3pi.Interfaces.IPackage.Minor">
793 <summary>
794 Package header: 0x00000000
795 </summary>
796 </member>
797 <member name="P:s3pi.Interfaces.IPackage.Unknown1">
798 <summary>
799 Package header: unused
800 </summary>
801 </member>
802 <member name="P:s3pi.Interfaces.IPackage.Indexcount">
803 <summary>
804 Package header: number of entries in the package index
805 </summary>
806 </member>
807 <member name="P:s3pi.Interfaces.IPackage.Unknown2">
808 <summary>
809 Package header: unused
810 </summary>
811 </member>
812 <member name="P:s3pi.Interfaces.IPackage.Indexsize">
813 <summary>
814 Package header: index size on disk in bytes
815 </summary>
816 </member>
817 <member name="P:s3pi.Interfaces.IPackage.Unknown3">
818 <summary>
819 Package header: unused
820 </summary>
821 </member>
822 <member name="P:s3pi.Interfaces.IPackage.Indexversion">
823 <summary>
824 Package header: always 3?
825 </summary>
826 </member>
827 <member name="P:s3pi.Interfaces.IPackage.Indexposition">
828 <summary>
829 Package header: index position in file
830 </summary>
831 </member>
832 <member name="P:s3pi.Interfaces.IPackage.Unknown4">
833 <summary>
834 Package header: unused
835 </summary>
836 </member>
837 <member name="P:s3pi.Interfaces.IPackage.HeaderStream">
838 <summary>
839 A <see cref="T:System.IO.MemoryStream"/> covering the package header bytes
840 </summary>
841 </member>
842 <member name="E:s3pi.Interfaces.IPackage.ResourceIndexInvalidated">
843 <summary>
844 Package index: raised when the result of a previous call to GetResourceList becomes invalid
845 </summary>
846 </member>
847 <member name="P:s3pi.Interfaces.IPackage.Indextype">
848 <summary>
849 Package index: the index format in use
850 </summary>
851 </member>
852 <member name="P:s3pi.Interfaces.IPackage.GetResourceList">
853 <summary>
854 Package index: the index as a <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> list
855 </summary>
856 </member>
857 <member name="M:s3pi.Interfaces.APackage.SavePackage">
858 <summary>
859 Tell the package to save itself to wherever it believes it came from
860 </summary>
861 </member>
862 <member name="M:s3pi.Interfaces.APackage.SaveAs(System.IO.Stream)">
863 <summary>
864 Tell the package to save itself to the stream <paramref name="s"/>
865 </summary>
866 <param name="s">A stream to which the package should be saved</param>
867 </member>
868 <member name="M:s3pi.Interfaces.APackage.SaveAs(System.String)">
869 <summary>
870 Tell the package to save itself to a file with the name in <paramref name="path"/>
871 </summary>
872 <param name="path">A fully-qualified file name</param>
873 </member>
874 <member name="M:s3pi.Interfaces.APackage.Find(System.UInt32,s3pi.Interfaces.IResourceIndexEntry)">
875 <summary>
876 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
877 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
878 <paramref name="flags"/> and <paramref name="values"/>.
879 </summary>
880 <param name="flags">True bits enable matching against numerically equivalent <paramref name="values"/> entry.</param>
881 <param name="values">Field values to compare against.</param>
882 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
883 </member>
884 <member name="M:s3pi.Interfaces.APackage.Find(System.String[],s3pi.Interfaces.TypedValue[])">
885 <summary>
886 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
887 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
888 <paramref name="names"/> and <paramref name="values"/>.
889 </summary>
890 <param name="names">Names of <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> fields to compare.</param>
891 <param name="values">Field values to compare against.</param>
892 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
893 </member>
894 <member name="M:s3pi.Interfaces.APackage.Find(System.Predicate{s3pi.Interfaces.IResourceIndexEntry})">
895 <summary>
896 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
897 for the first <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> that matches the conditions defined by
898 the <c>Predicate&lt;IResourceIndexEntry&gt;</c> <paramref name="Match"/>.
899 </summary>
900 <param name="Match"><c>Predicate&lt;IResourceIndexEntry&gt;</c> defining matching conditions.</param>
901 <returns>The first matching <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>, if any; otherwise null.</returns>
902 <remarks>Note that entries marked as deleted will not be returned.</remarks>
903 </member>
904 <member name="M:s3pi.Interfaces.APackage.FindAll(System.UInt32,s3pi.Interfaces.IResourceIndexEntry)">
905 <summary>
906 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
907 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
908 <paramref name="flags"/> and <paramref name="values"/>.
909 </summary>
910 <param name="flags">True bits enable matching against numerically equivalent <paramref name="values"/> entry.</param>
911 <param name="values">Field values to compare against.</param>
912 <returns>An <c>IList&lt;IResourceIndexEntry&gt;</c> of zero or more matches.</returns>
913 </member>
914 <member name="M:s3pi.Interfaces.APackage.FindAll(System.String[],s3pi.Interfaces.TypedValue[])">
915 <summary>
916 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
917 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
918 <paramref name="names"/> and <paramref name="values"/>.
919 </summary>
920 <param name="names">Names of <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/> fields to compare.</param>
921 <param name="values">Field values to compare against.</param>
922 <returns>An <c>IList&lt;IResourceIndexEntry&gt;</c> of zero or more matches.</returns>
923 </member>
924 <member name="M:s3pi.Interfaces.APackage.FindAll(System.Predicate{s3pi.Interfaces.IResourceIndexEntry})">
925 <summary>
926 Searches the entire <see cref="T:s3pi.Interfaces.IPackage"/>
927 for all <see cref="T:s3pi.Interfaces.IResourceIndexEntry"/>s that matches the conditions defined by
928 the <c>Predicate&lt;IResourceIndexEntry&gt;</c> <paramref name="Match"/>.
929 </summary>
930 <param name="Match"><c>Predicate&lt;IResourceIndexEntry&gt;</c> defining matching conditions.</param>
931 <returns>Zero or more matches.</returns>
932 <remarks>Note that entries marked as deleted will not be returned.</remarks>
933 </member>
934 <member name="M:s3pi.Interfaces.APackage.AddResource(s3pi.Interfaces.IResourceKey,System.IO.Stream,System.Boolean)">
935 <summary>
936 Add a resource to the package
937 </summary>
938 <param name="rk">The resource key</param>
939 <param name="stream">The stream that contains the resource data</param>
940 <param name="rejectDups">If true, fail if the resource key already exists</param>
941 <returns>Null if rejectDups and the resource key exists; else the new IResourceIndexEntry</returns>
942 </member>
943 <member name="M:s3pi.Interfaces.APackage.ReplaceResource(s3pi.Interfaces.IResourceIndexEntry,s3pi.Interfaces.IResource)">
944 <summary>
945 Tell the package to replace the data for the resource indexed by <paramref name="rc"/>
946 with the data from the resource <paramref name="res"/>
947 </summary>
948 <param name="rc">Target resource index</param>
949 <param name="res">Source resource</param>
950 </member>
951 <member name="M:s3pi.Interfaces.APackage.DeleteResource(s3pi.Interfaces.IResourceIndexEntry)">
952 <summary>
953 Tell the package to delete the resource indexed by <paramref name="rc"/>
954 </summary>
955 <param name="rc">Target resource index</param>
956 </member>
957 <member name="M:s3pi.Interfaces.APackage.NewPackage(System.Int32)">
958 <summary>
959 Initialise a new, empty package and return the IPackage reference
960 </summary>
961 <param name="APIversion">(unused)</param>
962 <returns>IPackage reference to an empty package</returns>
963 </member>
964 <member name="M:s3pi.Interfaces.APackage.NewPackage(System.Int32,System.Int32)">
965 <summary>
966 Initialise a new, empty package and return the IPackage reference
967 </summary>
968 <param name="APIversion">(unused)</param>
969 <param name="major">Major version for the DBPF package.</param>
970 <returns>IPackage reference to an empty package</returns>
971 </member>
972 <member name="M:s3pi.Interfaces.APackage.OpenPackage(System.Int32,System.String)">
973 <summary>
974 Open an existing package by filename, read only
975 </summary>
976 <param name="APIversion">(unused)</param>
977 <param name="packagePath">Fully qualified filename of the package</param>
978 <returns>IPackage reference to an existing package on disk</returns>
979 </member>
980 <member name="M:s3pi.Interfaces.APackage.OpenPackage(System.Int32,System.String,System.Boolean)">
981 <summary>
982 Open an existing package by filename, optionally readwrite
983 </summary>
984 <param name="APIversion">(unused)</param>
985 <param name="packagePath">Fully qualified filename of the package</param>
986 <param name="readwrite">True to open for update</param>
987 <returns>IPackage reference to an existing package on disk</returns>
988 </member>
989 <member name="M:s3pi.Interfaces.APackage.ClosePackage(System.Int32,s3pi.Interfaces.IPackage)">
990 <summary>
991 Releases any internal references associated with the given package
992 </summary>
993 <param name="APIversion">(unused)</param>
994 <param name="pkg">IPackage reference to close</param>
995 </member>
996 <member name="M:s3pi.Interfaces.APackage.GetResource(s3pi.Interfaces.IResourceIndexEntry)">
997 <summary>
998 Required internally by s3pi - <b>not</b> for use in user tools.
999 Please use <c>WrapperDealer.GetResource(int, IPackage, IResourceIndexEntry)</c> instead.
1000 </summary>
1001 <param name="rie">IResourceIndexEntry of resource</param>
1002 <returns>The resource data (uncompressed, if necessary)</returns>
1003 <remarks>Used by WrapperDealer to get the data for a resource.</remarks>
1004 </member>
1005 <member name="M:s3pi.Interfaces.APackage.OnResourceIndexInvalidated(System.Object,System.EventArgs)">
1006 <summary>
1007 Used to indicate a resource index returned by GetResourceList is no longer valid (as a whole)
1008 </summary>
1009 <param name="sender">Object causing the list to become invalid</param>
1010 <param name="e">(not used)</param>
1011 </member>
1012 <member name="P:s3pi.Interfaces.APackage.ContentFields">
1013 <summary>
1014 The list of available field names on this API object
1015 </summary>
1016 </member>
1017 <member name="P:s3pi.Interfaces.APackage.Magic">
1018 <summary>
1019 Package header: "DBPF" bytes
1020 </summary>
1021 </member>
1022 <member name="P:s3pi.Interfaces.APackage.Major">
1023 <summary>
1024 Package header: 0x00000002
1025 </summary>
1026 </member>
1027 <member name="P:s3pi.Interfaces.APackage.Minor">
1028 <summary>
1029 Package header: 0x00000000
1030 </summary>
1031 </member>
1032 <member name="P:s3pi.Interfaces.APackage.Unknown1">
1033 <summary>
1034 Package header: unused
1035 </summary>
1036 </member>
1037 <member name="P:s3pi.Interfaces.APackage.Indexcount">
1038 <summary>
1039 Package header: number of entries in the package index
1040 </summary>
1041 </member>
1042 <member name="P:s3pi.Interfaces.APackage.Unknown2">
1043 <summary>
1044 Package header: unused
1045 </summary>
1046 </member>
1047 <member name="P:s3pi.Interfaces.APackage.Indexsize">
1048 <summary>
1049 Package header: index size on disk in bytes
1050 </summary>
1051 </member>
1052 <member name="P:s3pi.Interfaces.APackage.Unknown3">
1053 <summary>
1054 Package header: unused
1055 </summary>
1056 </member>
1057 <member name="P:s3pi.Interfaces.APackage.Indexversion">
1058 <summary>
1059 Package header: always 3?
1060 </summary>
1061 </member>
1062 <member name="P:s3pi.Interfaces.APackage.Indexposition">
1063 <summary>
1064 Package header: index position in file
1065 </summary>
1066 </member>
1067 <member name="P:s3pi.Interfaces.APackage.Unknown4">
1068 <summary>
1069 Package header: unused
1070 </summary>
1071 </member>
1072 <member name="P:s3pi.Interfaces.APackage.HeaderStream">
1073 <summary>
1074 A MemoryStream covering the package header bytes
1075 </summary>
1076 </member>
1077 <member name="E:s3pi.Interfaces.APackage.ResourceIndexInvalidated">
1078 <summary>
1079 Package index: raised when the result of a previous call to GetResourceList becomes invalid
1080 </summary>
1081 </member>
1082 <member name="P:s3pi.Interfaces.APackage.Indextype">
1083 <summary>
1084 Package index: the index format in use
1085 </summary>
1086 </member>
1087 <member name="P:s3pi.Interfaces.APackage.GetResourceList">
1088 <summary>
1089 Package index: the index
1090 </summary>
1091 </member>
1092 <member name="T:s3pi.Interfaces.AResource">
1093 <summary>
1094 A resource contained in a package.
1095 </summary>
1096 </member>
1097 <member name="T:s3pi.Interfaces.IResource">
1098 <summary>
1099 Minimal resource interface
1100 </summary>
1101 </member>
1102 <member name="P:s3pi.Interfaces.IResource.Stream">
1103 <summary>
1104 The resource content as a <see cref="T:System.IO.Stream"/>.
1105 </summary>
1106 </member>
1107 <member name="P:s3pi.Interfaces.IResource.AsBytes">
1108 <summary>
1109 The resource content as a <see cref="T:System.Byte"/> array
1110 </summary>
1111 </member>
1112 <member name="E:s3pi.Interfaces.IResource.ResourceChanged">
1113 <summary>
1114 Raised if the resource is changed
1115 </summary>
1116 </member>
1117 <member name="F:s3pi.Interfaces.AResource.stream">
1118 <summary>
1119 Resource data <see cref="T:System.IO.Stream"/>
1120 </summary>
1121 </member>
1122 <member name="F:s3pi.Interfaces.AResource.dirty">
1123 <summary>
1124 Indicates the resource stream may no longer reflect the resource content
1125 </summary>
1126 </member>
1127 <member name="M:s3pi.Interfaces.AResource.#ctor(System.Int32,System.IO.Stream)">
1128 <summary>
1129 Create a new instance of the resource
1130 </summary>
1131 <param name="APIversion">Requested API version</param>
1132 <param name="s"><see cref="T:System.IO.Stream"/> to use, or null to create from scratch.</param>
1133 </member>
1134 <member name="M:s3pi.Interfaces.AResource.UnParse">
1135 <summary>
1136 AResource classes must supply an <see cref="M:s3pi.Interfaces.AResource.UnParse"/> method that serializes the class to a <see cref="T:System.IO.Stream"/> that is returned.
1137 </summary>
1138 <returns><see cref="T:System.IO.Stream"/> containing serialized class data.</returns>
1139 </member>
1140 <member name="M:s3pi.Interfaces.AResource.OnResourceChanged(System.Object,System.EventArgs)">
1141 <summary>
1142 AResource classes must use this to indicate the resource has changed.
1143 </summary>
1144 <param name="sender">The resource (or sub-class) that has changed.</param>
1145 <param name="e">(Empty) event data object.</param>
1146 </member>
1147 <member name="P:s3pi.Interfaces.AResource.ContentFields">
1148 <summary>
1149 A <see cref="T:System.Collections.Generic.List`1"/> of available field names on object
1150 </summary>
1151 </member>
1152 <member name="P:s3pi.Interfaces.AResource.Stream">
1153 <summary>
1154 The resource content as a <see cref="T:System.IO.Stream"/>.
1155 </summary>
1156 </member>
1157 <member name="P:s3pi.Interfaces.AResource.AsBytes">
1158 <summary>
1159 The resource content as a <see cref="T:System.Byte"/> array
1160 </summary>
1161 </member>
1162 <member name="E:s3pi.Interfaces.AResource.ResourceChanged">
1163 <summary>
1164 Raised if the resource is changed
1165 </summary>
1166 </member>
1167 <member name="T:s3pi.Interfaces.AResourceHandler">
1168 <summary>
1169 Used by WrapperDealer to identify "interesting" classes and assemblies.
1170 The class maps implementers of AResource to string representations of ResourceType.
1171 Hence each "wrapper" assembly can contain multiple wrapper types (Type key) each of which
1172 supports one or more ResourceTypes (List&lt;string&gt; value). The single
1173 AResourceHandler implementation summarises what the assembly provides.
1174 </summary>
1175 </member>
1176 <member name="T:s3pi.Interfaces.IResourceHandler">
1177 <summary>
1178 Used by <see cref="T:s3pi.Interfaces.AResourceHandler"/>, which is used by <c>WrapperDealer</c>
1179 to identify "interesting" classes within assemblies
1180 </summary>
1181 </member>
1182 <member name="M:s3pi.Interfaces.AResourceHandler.#ctor">
1183 <summary>
1184 Create the content of the Dictionary
1185 </summary>
1186 </member>
1187 <member name="T:s3pi.Interfaces.Vertex">
1188 <summary>
1189 Defines a vertex - a point in 3d space defined by three coordinates.
1190 </summary>
1191 </member>
1192 <member name="M:s3pi.Interfaces.Vertex.#ctor(System.Int32,System.EventHandler)">
1193 <summary>
1194 Create a vertex at { 0, 0, 0 }.
1195 </summary>
1196 <param name="APIversion">The requested API version.</param>
1197 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1198 </member>
1199 <member name="M:s3pi.Interfaces.Vertex.#ctor(System.Int32,System.EventHandler,System.IO.Stream)">
1200 <summary>
1201 Create a vertex from a <see cref="T:System.IO.Stream"/>.
1202 </summary>
1203 <param name="APIversion">The requested API version.</param>
1204 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1205 <param name="s"><see cref="T:System.IO.Stream"/> containing coordinates.</param>
1206 </member>
1207 <member name="M:s3pi.Interfaces.Vertex.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.Vertex)">
1208 <summary>
1209 Create a vertex from a given value.
1210 </summary>
1211 <param name="APIversion">The requested API version.</param>
1212 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1213 <param name="basis"><see cref="T:s3pi.Interfaces.Vertex"/> to copy.</param>
1214 </member>
1215 <member name="M:s3pi.Interfaces.Vertex.#ctor(System.Int32,System.EventHandler,System.Single,System.Single,System.Single)">
1216 <summary>
1217 Create a vertex at { x, y, z }.
1218 </summary>
1219 <param name="APIversion">The requested API version.</param>
1220 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1221 <param name="x">X coordinate.</param>
1222 <param name="y">Y coordinate.</param>
1223 <param name="z">Z coordinate.</param>
1224 </member>
1225 <member name="M:s3pi.Interfaces.Vertex.UnParse(System.IO.Stream)">
1226 <summary>
1227 Write the vertex to the given <see cref="T:System.IO.Stream"/>.
1228 </summary>
1229 <param name="s"><see cref="T:System.IO.Stream"/> to contain coordinates.</param>
1230 </member>
1231 <member name="M:s3pi.Interfaces.Vertex.Equals(s3pi.Interfaces.Vertex)">
1232 <summary>
1233 Indicates whether the current object is equal to another object of the same type.
1234 </summary>
1235 <param name="other">An object to compare with this object.</param>
1236 <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
1237 </member>
1238 <member name="M:s3pi.Interfaces.Vertex.Equals(System.Object)">
1239 <summary>
1240 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.Vertex"/>.
1241 </summary>
1242 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.Vertex"/>.</param>
1243 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.Vertex"/>; otherwise, false.</returns>
1244 </member>
1245 <member name="M:s3pi.Interfaces.Vertex.GetHashCode">
1246 <summary>
1247 Returns the hash code for this instance.
1248 </summary>
1249 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
1250 </member>
1251 <member name="P:s3pi.Interfaces.Vertex.RecommendedApiVersion">
1252 <summary>
1253 The best supported version of the API available
1254 </summary>
1255 </member>
1256 <member name="P:s3pi.Interfaces.Vertex.ContentFields">
1257 <summary>
1258 The list of available field names on this API object.
1259 </summary>
1260 </member>
1261 <member name="P:s3pi.Interfaces.Vertex.X">
1262 <summary>
1263 X coordinate
1264 </summary>
1265 </member>
1266 <member name="P:s3pi.Interfaces.Vertex.Y">
1267 <summary>
1268 Y coordinate
1269 </summary>
1270 </member>
1271 <member name="P:s3pi.Interfaces.Vertex.Z">
1272 <summary>
1273 Z coordinate
1274 </summary>
1275 </member>
1276 <member name="P:s3pi.Interfaces.Vertex.Value">
1277 <summary>
1278 A displayable representation of the object
1279 </summary>
1280 </member>
1281 <member name="T:s3pi.Interfaces.BoundingBox">
1282 <summary>
1283 Defines a bounding box - a imaginary box large enough to completely contain an object
1284 - by its minimum and maximum vertices.
1285 </summary>
1286 </member>
1287 <member name="M:s3pi.Interfaces.BoundingBox.#ctor(System.Int32,System.EventHandler)">
1288 <summary>
1289 Create an zero-sized bounding box.
1290 </summary>
1291 <param name="APIversion">The requested API version.</param>
1292 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1293 </member>
1294 <member name="M:s3pi.Interfaces.BoundingBox.#ctor(System.Int32,System.EventHandler,System.IO.Stream)">
1295 <summary>
1296 Create a bounding box from a <see cref="T:System.IO.Stream"/>.
1297 </summary>
1298 <param name="APIversion">The requested API version.</param>
1299 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1300 <param name="s"><see cref="T:System.IO.Stream"/> containing vertices.</param>
1301 </member>
1302 <member name="M:s3pi.Interfaces.BoundingBox.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.BoundingBox)">
1303 <summary>
1304 Create a bounding box from a given value.
1305 </summary>
1306 <param name="APIversion">The requested API version.</param>
1307 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1308 <param name="basis"><see cref="T:s3pi.Interfaces.BoundingBox"/> to copy.</param>
1309 </member>
1310 <member name="M:s3pi.Interfaces.BoundingBox.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.Vertex,s3pi.Interfaces.Vertex)">
1311 <summary>
1312 Create a bounding box with the specified minimum and maximum vertices.
1313 </summary>
1314 <param name="APIversion">The requested API version.</param>
1315 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
1316 <param name="min">Minimum vertex.</param>
1317 <param name="max">Maximum vertex.</param>
1318 </member>
1319 <member name="M:s3pi.Interfaces.BoundingBox.UnParse(System.IO.Stream)">
1320 <summary>
1321 Write the bounding box to the given <see cref="T:System.IO.Stream"/>.
1322 </summary>
1323 <param name="s"><see cref="T:System.IO.Stream"/> to contain vertices.</param>
1324 </member>
1325 <member name="M:s3pi.Interfaces.BoundingBox.Equals(s3pi.Interfaces.BoundingBox)">
1326 <summary>
1327 Indicates whether the current object is equal to another object of the same type.
1328 </summary>
1329 <param name="other">An object to compare with this object.</param>
1330 <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
1331 </member>
1332 <member name="M:s3pi.Interfaces.BoundingBox.Equals(System.Object)">
1333 <summary>
1334 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.BoundingBox"/>.
1335 </summary>
1336 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.BoundingBox"/>.</param>
1337 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.BoundingBox"/>; otherwise, false.</returns>
1338 </member>
1339 <member name="M:s3pi.Interfaces.BoundingBox.GetHashCode">
1340 <summary>
1341 Returns the hash code for this instance.
1342 </summary>
1343 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
1344 </member>
1345 <member name="P:s3pi.Interfaces.BoundingBox.RecommendedApiVersion">
1346 <summary>
1347 The best supported version of the API available
1348 </summary>
1349 </member>
1350 <member name="P:s3pi.Interfaces.BoundingBox.ContentFields">
1351 <summary>
1352 The list of available field names on this API object.
1353 </summary>
1354 </member>
1355 <member name="P:s3pi.Interfaces.BoundingBox.Min">
1356 <summary>
1357 Minimum vertex
1358 </summary>
1359 </member>
1360 <member name="P:s3pi.Interfaces.BoundingBox.Max">
1361 <summary>
1362 Maximum vertex
1363 </summary>
1364 </member>
1365 <member name="P:s3pi.Interfaces.BoundingBox.Value">
1366 <summary>
1367 A displayable representation of the object
1368 </summary>
1369 </member>
1370 <member name="T:s3pi.Interfaces.IndexList`1">
1371 <summary>
1372 A flexible generic list of <see cref="T:s3pi.Interfaces.DependentList`1"/> indices.
1373 </summary>
1374 <typeparam name="T">A simple data type (such as <see cref="T:System.Int32"/> or <see cref="T:System.Byte"/>).</typeparam>
1375 <seealso cref="T:s3pi.Interfaces.SimpleList`1"/>
1376 </member>
1377 <member name="T:s3pi.Interfaces.DependentList`1">
1378 <summary>
1379 Abstract extension to <see cref="T:System.Collections.Generic.AHandlerList`1"/> adding support for <see cref="T:System.IO.Stream"/> IO
1380 and partially implementing <see cref="T:s3pi.Interfaces.IGenericAdd"/>.
1381 </summary>
1382 <typeparam name="T"><see cref="T:System.Type"/> of list element</typeparam>
1383 <seealso cref="T:System.Collections.Generic.AHandlerList`1"/>
1384 <seealso cref="T:s3pi.Interfaces.IGenericAdd"/>
1385 </member>
1386 <member name="T:s3pi.Interfaces.IGenericAdd">
1387 <summary>
1388 Classes implementing this interface can have elements added with
1389 an empty parameter list or
1390 the list of arguments to a generic class' constructor.
1391 </summary>
1392 <seealso cref="T:s3pi.Interfaces.DependentList`1"/>
1393 </member>
1394 <member name="M:s3pi.Interfaces.IGenericAdd.Add">
1395 <summary>
1396 Add a default element to an <see cref="T:System.Collections.IList"/> that implements this interface.
1397 </summary>
1398 <exception cref="T:System.NotImplementedException">Lists of abstract classes will fail
1399 with a NotImplementedException.</exception>
1400 <seealso cref="T:s3pi.Interfaces.DependentList`1"/>
1401 </member>
1402 <member name="M:s3pi.Interfaces.IGenericAdd.Add(System.Type)">
1403 <summary>
1404 Adds an entry to an <see cref="T:System.Collections.IList"/> that implements this interface.
1405 </summary>
1406 <param name="instanceType">Type of the instance to create and add to the <see cref="T:System.Collections.IList"/>.</param>
1407 </member>
1408 <member name="F:s3pi.Interfaces.DependentList`1.elementHandler">
1409 <summary>
1410 Holds the <see cref="T:System.EventHandler"/> delegate to invoke if an element in the <see cref="T:s3pi.Interfaces.DependentList`1"/> changes.
1411 </summary>
1412 <remarks>Work around for list event handler triggering during stream constructor and other places.</remarks>
1413 </member>
1414 <member name="M:s3pi.Interfaces.DependentList`1.#ctor(System.EventHandler,System.Int64)">
1415 <summary>
1416 Initializes a new instance of the <see cref="T:s3pi.Interfaces.DependentList`1"/> class
1417 that is empty.
1418 </summary>
1419 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1420 <param name="maxSize">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
1421 </member>
1422 <member name="M:s3pi.Interfaces.DependentList`1.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{`0},System.Int64)">
1423 <summary>
1424 Initializes a new instance of the <see cref="T:s3pi.Interfaces.DependentList`1"/> class
1425 filled with the content of <paramref name="ilt"/>.
1426 </summary>
1427 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1428 <param name="ilt">The initial content of the list.</param>
1429 <param name="maxSize">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
1430 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1431 <remarks>Calls <c>this.Add(...)</c> to ensure a fresh instance is created, rather than passing <paramref name="ilt"/> to the base constructor.</remarks>
1432 </member>
1433 <member name="M:s3pi.Interfaces.DependentList`1.#ctor(System.EventHandler,System.IO.Stream,System.Int64)">
1434 <summary>
1435 Initializes a new instance of the <see cref="T:s3pi.Interfaces.DependentList`1"/> class
1436 filled from <see cref="T:System.IO.Stream"/> <paramref name="s"/>.
1437 </summary>
1438 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1439 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
1440 <param name="maxSize">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
1441 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1442 </member>
1443 <member name="M:s3pi.Interfaces.DependentList`1.Parse(System.IO.Stream)">
1444 <summary>
1445 Read list entries from a stream
1446 </summary>
1447 <param name="s">Stream containing list entries</param>
1448 </member>
1449 <member name="M:s3pi.Interfaces.DependentList`1.ReadCount(System.IO.Stream)">
1450 <summary>
1451 Return the number of elements to be created.
1452 </summary>
1453 <param name="s"><see cref="T:System.IO.Stream"/> being processed.</param>
1454 <returns>The number of elements to be created.</returns>
1455 </member>
1456 <member name="M:s3pi.Interfaces.DependentList`1.CreateElement(System.IO.Stream)">
1457 <summary>
1458 Create a new element from the <see cref="T:System.IO.Stream"/>.
1459 </summary>
1460 <param name="s">Stream containing element data.</param>
1461 <returns>A new element.</returns>
1462 </member>
1463 <member name="M:s3pi.Interfaces.DependentList`1.CreateElement(System.IO.Stream,System.Boolean@)">
1464 <summary>
1465 Create a new element from the <see cref="T:System.IO.Stream"/> and indicates whether it counts towards the number of elements to be created.
1466 </summary>
1467 <param name="s"><see cref="T:System.IO.Stream"/> containing element data.</param>
1468 <param name="inc">Whether this call towards the number of elements to be created.</param>
1469 <returns>A new element.</returns>
1470 </member>
1471 <member name="M:s3pi.Interfaces.DependentList`1.UnParse(System.IO.Stream)">
1472 <summary>
1473 Write list entries to a stream
1474 </summary>
1475 <param name="s">Stream to receive list entries</param>
1476 </member>
1477 <member name="M:s3pi.Interfaces.DependentList`1.WriteCount(System.IO.Stream,System.Int32)">
1478 <summary>
1479 Write the count of list elements to the stream.
1480 </summary>
1481 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="count"/> to.</param>
1482 <param name="count">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
1483 </member>
1484 <member name="M:s3pi.Interfaces.DependentList`1.WriteElement(System.IO.Stream,`0)">
1485 <summary>
1486 Write an element to the stream.
1487 </summary>
1488 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="element"/> to.</param>
1489 <param name="element">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
1490 </member>
1491 <member name="M:s3pi.Interfaces.DependentList`1.Add">
1492 <summary>
1493 Add a default element to a <see cref="T:s3pi.Interfaces.DependentList`1"/>.
1494 </summary>
1495 <exception cref="T:System.NotImplementedException"><typeparamref name="T"/> is abstract.</exception>
1496 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1497 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.DependentList`1"/> is read-only.</exception>
1498 </member>
1499 <member name="M:s3pi.Interfaces.DependentList`1.Add(`0)">
1500 <summary>
1501 Adds an entry to a <see cref="T:s3pi.Interfaces.DependentList`1"/>, setting the element change handler.
1502 </summary>
1503 <param name="newElement">An instance of type <c>{T}</c> to add to the list.</param>
1504 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1505 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.DependentList`1"/> is read-only.</exception>
1506 </member>
1507 <member name="M:s3pi.Interfaces.DependentList`1.Add(System.Type)">
1508 <summary>
1509 Add a default element to a <see cref="T:s3pi.Interfaces.DependentList`1"/> of the specified type, <paramref name="elementType"/>.
1510 </summary>
1511 <param name="elementType">A concrete type assignable to the list generic type, <typeparamref name="T"/>.</param>
1512 <exception cref="T:System.ArgumentException"><paramref name="elementType"/> is abstract.</exception>
1513 <exception cref="T:System.ArgumentException">
1514 Thrown when <paramref name="elementType"/> is not an implementation of the list type, <typeparamref name="T"/>.
1515 </exception>
1516 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1517 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.DependentList`1"/> is read-only.</exception>
1518 <seealso cref="M:System.Activator.CreateInstance(System.Type,System.Object[])"/>
1519 </member>
1520 <member name="M:s3pi.Interfaces.DependentList`1.GetElementType(System.Object[])">
1521 <summary>
1522 Return the type to get the constructor from, for the given set of fields.
1523 </summary>
1524 <param name="fields">Constructor parameters</param>
1525 <returns>Class on which to invoke constructor</returns>
1526 <remarks><paramref name="fields"/>[0] could be an instance of the abstract class: it should provide a constructor that accepts a "template"
1527 object and creates a new instance on that basis.</remarks>
1528 </member>
1529 <member name="M:s3pi.Interfaces.IndexList`1.#ctor(System.EventHandler,s3pi.Interfaces.IndexList{`0}.CreateElementMethod,s3pi.Interfaces.IndexList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.IndexList{`0}.ReadCountMethod,s3pi.Interfaces.IndexList{`0}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
1530 <summary>
1531 Initializes a new instance of the <see cref="T:s3pi.Interfaces.IndexList`1"/> class
1532 that is empty.
1533 </summary>
1534 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1535 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
1536 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
1537 <param name="size">Optional maximum number of elements in the list.</param>
1538 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
1539 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
1540 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
1541 </member>
1542 <member name="M:s3pi.Interfaces.IndexList`1.#ctor(System.EventHandler,System.IO.Stream,s3pi.Interfaces.IndexList{`0}.CreateElementMethod,s3pi.Interfaces.IndexList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.IndexList{`0}.ReadCountMethod,s3pi.Interfaces.IndexList{`0}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
1543 <summary>
1544 Initializes a new instance of the <see cref="T:s3pi.Interfaces.IndexList`1"/> class
1545 from <paramref name="s"/>.
1546 </summary>
1547 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1548 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
1549 <param name="createElement">Required; the method to create a new element in the list from a stream.</param>
1550 <param name="writeElement">Required; the method to create a new element in the list from a stream.</param>
1551 <param name="size">Optional maximum number of elements in the list.</param>
1552 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
1553 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
1554 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
1555 </member>
1556 <member name="M:s3pi.Interfaces.IndexList`1.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{`0},s3pi.Interfaces.IndexList{`0}.CreateElementMethod,s3pi.Interfaces.IndexList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.IndexList{`0}.ReadCountMethod,s3pi.Interfaces.IndexList{`0}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
1557 <summary>
1558 Initializes a new instance of the <see cref="T:s3pi.Interfaces.IndexList`1"/> class
1559 from <paramref name="collection"/>, wrapping each entry in a <see cref="T:s3pi.Interfaces.TGIBlockListIndex`1"/> instance.
1560 </summary>
1561 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1562 <param name="collection">The source to use as the initial content of the list.</param>
1563 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
1564 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
1565 <param name="size">Optional maximum number of elements in the list.</param>
1566 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
1567 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
1568 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
1569 </member>
1570 <member name="M:s3pi.Interfaces.IndexList`1.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{s3pi.Interfaces.TGIBlockListIndex{`0}},s3pi.Interfaces.IndexList{`0}.CreateElementMethod,s3pi.Interfaces.IndexList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.IndexList{`0}.ReadCountMethod,s3pi.Interfaces.IndexList{`0}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
1571 <summary>
1572 Initializes a new instance of the <see cref="T:s3pi.Interfaces.IndexList`1"/> class from the existing <paramref name="collection"/>.
1573 </summary>
1574 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
1575 <param name="collection">The source to use as the initial content of the list.</param>
1576 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
1577 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
1578 <param name="size">Optional maximum number of elements in the list.</param>
1579 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
1580 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
1581 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
1582 </member>
1583 <member name="M:s3pi.Interfaces.IndexList`1.ReadCount(System.IO.Stream)">
1584 <summary>
1585 Return the number of elements to be created.
1586 </summary>
1587 <param name="s"><see cref="T:System.IO.Stream"/> being processed.</param>
1588 <returns>The number of elements to be created.</returns>
1589 </member>
1590 <member name="M:s3pi.Interfaces.IndexList`1.WriteCount(System.IO.Stream,System.Int32)">
1591 <summary>
1592 Write the count of list elements to the stream.
1593 </summary>
1594 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="count"/> to.</param>
1595 <param name="count">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
1596 </member>
1597 <member name="M:s3pi.Interfaces.IndexList`1.CreateElement(System.IO.Stream)">
1598 <summary>
1599 Creates an new list element of type <typeparamref name="T"/> by reading <paramref name="s"/>.
1600 </summary>
1601 <param name="s"><see cref="T:System.IO.Stream"/> containing data.</param>
1602 <returns>New list element.</returns>
1603 </member>
1604 <member name="M:s3pi.Interfaces.IndexList`1.WriteElement(System.IO.Stream,s3pi.Interfaces.TGIBlockListIndex{`0})">
1605 <summary>
1606 Writes the value of a list element to <paramref name="s"/>.
1607 </summary>
1608 <param name="s"><see cref="T:System.IO.Stream"/> containing data.</param>
1609 <param name="element">List element for which to write the value to the <see cref="T:System.IO.Stream"/>.</param>
1610 </member>
1611 <member name="M:s3pi.Interfaces.IndexList`1.Add">
1612 <summary>
1613 Add a default element to a <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1614 </summary>
1615 <exception cref="T:System.NotImplementedException">Lists of abstract classes will fail
1616 with a NotImplementedException.</exception>
1617 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1618 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
1619 </member>
1620 <member name="M:s3pi.Interfaces.IndexList`1.Add(`0)">
1621 <summary>
1622 Adds an entry to a <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1623 </summary>
1624 <param name="item">The object to add.</param>
1625 <returns>True on success</returns>
1626 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
1627 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
1628 </member>
1629 <member name="M:s3pi.Interfaces.IndexList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
1630 <summary>
1631 Adds the elements of the specified collection to the end of the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1632 </summary>
1633 <param name="collection">The collection whose elements should be added to the end of the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1634 The collection itself cannot be null, but it can contain elements that are null, if type <typeparamref name="T"/> is a reference type.</param>
1635 <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is null.</exception>
1636 <exception cref="T:System.InvalidOperationException">Thrown when list size would be exceeded.</exception>
1637 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
1638 <remarks>Calls <see cref="M:s3pi.Interfaces.IndexList`1.Add(`0)"/> for each item in <paramref name="collection"/>.</remarks>
1639 </member>
1640 <member name="M:s3pi.Interfaces.IndexList`1.BinarySearch(`0)">
1641 <summary>
1642 Searches a the entire sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>
1643 for an element using the default comparer and returns the zero-based index
1644 of the element.
1645 </summary>
1646 <param name="item">
1647 The object to locate.
1648 </param>
1649 <returns>
1650 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>,
1651 if item is found; otherwise, a negative number that is the bitwise complement
1652 of the index of the next element that is larger than item or, if there is
1653 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.IndexList`1"/>.Count.
1654 </returns>
1655 <exception cref="T:System.InvalidOperationException">
1656 The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
1657 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
1658 or the <see cref="T:System.IComparable"/> interface for type T.
1659 </exception>
1660 </member>
1661 <member name="M:s3pi.Interfaces.IndexList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
1662 <summary>
1663 Searches a the entire sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>
1664 for an element using the specified comparer and returns the zero-based index
1665 of the element.
1666 </summary>
1667 <param name="item">
1668 The object to locate.
1669 </param>
1670 <param name="comparer">
1671 The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
1672 elements.
1673 <br/>-or-<br/>
1674 null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
1675 </param>
1676 <returns>
1677 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>,
1678 if item is found; otherwise, a negative number that is the bitwise complement
1679 of the index of the next element that is larger than item or, if there is
1680 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.IndexList`1"/>.Count.
1681 </returns>
1682 <exception cref="T:System.InvalidOperationException">
1683 <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
1684 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
1685 or the <see cref="T:System.IComparable"/> interface for type T.
1686 </exception>
1687 </member>
1688 <member name="M:s3pi.Interfaces.IndexList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
1689 <summary>
1690 Searches a range of elements in the sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>
1691 for an element using the specified comparer and returns the zero-based index
1692 of the element.
1693 </summary>
1694 <param name="index">
1695 The zero-based starting index of the range to search.
1696 </param>
1697 <param name="count">
1698 The length of the range to search.
1699 </param>
1700 <param name="item">
1701 The object to locate.
1702 </param>
1703 <param name="comparer">
1704 The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
1705 elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
1706 </param>
1707 <returns>
1708 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.IndexList`1"/>,
1709 if item is found; otherwise, a negative number that is the bitwise complement
1710 of the index of the next element that is larger than item or, if there is
1711 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.IndexList`1"/>.Count.
1712 </returns>
1713 <exception cref="T:System.ArgumentOutOfRangeException">
1714 <paramref name="index"/> is less than 0.
1715 <br/>-or-<br/>
1716 <paramref name="count"/> is less than 0.
1717 </exception>
1718 <exception cref="T:System.ArgumentException">
1719 <paramref name="index"/> and <paramref name="count"/> do not denote a valid range in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1720 </exception>
1721 <exception cref="T:System.InvalidOperationException">
1722 <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
1723 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
1724 or the <see cref="T:System.IComparable"/> interface for type T.
1725 </exception>
1726 </member>
1727 <member name="M:s3pi.Interfaces.IndexList`1.ConvertAll``1(System.Converter{`0,``0})">
1728 <summary>
1729 Converts the elements in the current <see cref="T:s3pi.Interfaces.IndexList`1"/> to
1730 another type, and returns a list containing the converted elements.
1731 </summary>
1732 <typeparam name="TOutput">
1733 The target type of the elements of the <see cref="T:System.Collections.Generic.List`1"/>.
1734 </typeparam>
1735 <param name="converter">
1736 A <see cref="T:System.Converter`2"/> delegate that converts each element from
1737 one type to another type.
1738 </param>
1739 <returns>
1740 A <see cref="T:System.Collections.Generic.List`1"/> of the target type containing the converted
1741 elements from the current <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1742 </returns>
1743 <exception cref="T:System.ArgumentNullException">
1744 <paramref name="converter"/> is null.
1745 </exception>
1746 </member>
1747 <member name="M:s3pi.Interfaces.IndexList`1.CopyTo(`0[])">
1748 <summary>
1749 Copies the entire <see cref="T:s3pi.Interfaces.IndexList`1"/> to
1750 a compatible one-dimensional array, starting at the beginning of the target array.
1751 </summary>
1752 <param name="array">
1753 The one-dimensional System.Array that is the destination of the elements
1754 copied from <see cref="T:s3pi.Interfaces.IndexList`1"/>. The <see cref="T:System.Array"/> must have
1755 zero-based indexing.
1756 </param>
1757 <exception cref="T:System.ArgumentNullException">
1758 <paramref name="array"/> is null.
1759 </exception>
1760 <exception cref="T:System.ArgumentException">
1761 The number of elements in the source <see cref="T:s3pi.Interfaces.IndexList`1"/> is
1762 greater than the number of elements that the destination <paramref name="array"/> can contain.
1763 </exception>
1764 </member>
1765 <member name="M:s3pi.Interfaces.IndexList`1.CopyTo(`0[],System.Int32)">
1766 <summary>
1767 Copies the entire <see cref="T:s3pi.Interfaces.IndexList`1"/> to
1768 a compatible one-dimensional array.
1769 </summary>
1770 <param name="array">
1771 The one-dimensional System.Array that is the destination of the elements
1772 copied from <see cref="T:s3pi.Interfaces.IndexList`1"/>. The <see cref="T:System.Array"/> must have
1773 zero-based indexing.
1774 </param>
1775 <param name="arrayIndex">
1776 The zero-based index in <paramref name="array"/> at which copying begins.
1777 </param>
1778 <exception cref="T:System.ArgumentNullException">
1779 <paramref name="array"/> is null.
1780 </exception>
1781 <exception cref="T:System.ArgumentOutOfRangeException">
1782 <paramref name="arrayIndex"/> is less than 0.
1783 </exception>
1784 <exception cref="T:System.ArgumentException">
1785 <paramref name="arrayIndex"/> is equal to or greater than the length of array.
1786 <br/>-or-<br/>
1787 The number of elements in the source <see cref="T:s3pi.Interfaces.IndexList`1"/> is greater
1788 than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
1789 </exception>
1790 </member>
1791 <member name="M:s3pi.Interfaces.IndexList`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
1792 <summary>
1793 Copies a range of elements from the <see cref="T:s3pi.Interfaces.IndexList`1"/> to
1794 a compatible one-dimensional array, starting at the specified <paramref name="index"/> of the
1795 target <paramref name="array"/>.
1796 </summary>
1797 <param name="index">
1798 The zero-based index in the source <see cref="T:s3pi.Interfaces.IndexList`1"/> at
1799 which copying begins.
1800 </param>
1801 <param name="array">
1802 The one-dimensional System.Array that is the destination of the elements
1803 copied from <see cref="T:s3pi.Interfaces.IndexList`1"/>. The <see cref="T:System.Array"/> must have
1804 zero-based indexing.
1805 </param>
1806 <param name="arrayIndex">
1807 The zero-based index in <paramref name="array"/> at which copying begins.
1808 </param>
1809 <param name="count">
1810 The number of elements to copy.
1811 </param>
1812 <exception cref="T:System.ArgumentNullException">
1813 <paramref name="array"/> is null.
1814 </exception>
1815 <exception cref="T:System.ArgumentOutOfRangeException">
1816 <paramref name="index"/> is less than 0.
1817 <br/>-or-<br/>
1818 <paramref name="arrayIndex"/> is less than 0.
1819 <br/>-or-<br/>
1820 <paramref name="count"/> is less than 0.
1821 </exception>
1822 <exception cref="T:System.ArgumentException">
1823 <paramref name="index"/> is equal to or greater than the <see cref="T:s3pi.Interfaces.IndexList`1"/>.Count
1824 of the source <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1825 <br/>-or-<br/>
1826 <paramref name="arrayIndex"/> is equal to or greater than the length of array.
1827 <br/>-or-<br/>
1828 The number of elements from
1829 <paramref name="index"/> to the end of the source <see cref="T:s3pi.Interfaces.IndexList`1"/> is greater
1830 than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
1831 </exception>
1832 </member>
1833 <member name="M:s3pi.Interfaces.IndexList`1.Contains(`0)">
1834 <summary>
1835 Determines whether an element is in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1836 </summary>
1837 <param name="item">The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</param>
1838 <returns>true if item is found in the <see cref="T:s3pi.Interfaces.IndexList`1"/>; otherwise, false.</returns>
1839 </member>
1840 <member name="M:s3pi.Interfaces.IndexList`1.Exists(System.Predicate{`0})">
1841 <summary>
1842 Determines whether the <see cref="T:s3pi.Interfaces.IndexList`1"/> contains elements
1843 that match the conditions defined by the specified predicate.
1844 </summary>
1845 <param name="match">
1846 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
1847 to search for.
1848 </param>
1849 <returns>
1850 true if the <see cref="T:s3pi.Interfaces.IndexList`1"/> contains one or more elements
1851 that match the conditions defined by the specified predicate; otherwise,
1852 false.
1853 </returns>
1854 <exception cref="T:System.ArgumentNullException">
1855 match is null.
1856 </exception>
1857 </member>
1858 <member name="M:s3pi.Interfaces.IndexList`1.Find(System.Predicate{`0})">
1859 <summary>
1860 Searches for an element that matches the conditions defined by the specified
1861 predicate, and returns the first occurrence within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1862 </summary>
1863 <param name="match">
1864 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1865 to search for.
1866 </param>
1867 <returns>
1868 The first element that matches the conditions defined by the specified predicate,
1869 if found; otherwise, the default value for type <typeparamref name="T"/>.
1870 </returns>
1871 <exception cref="T:System.ArgumentNullException">
1872 <paramref name="match"/> is null.
1873 </exception>
1874 </member>
1875 <member name="M:s3pi.Interfaces.IndexList`1.FindAll(System.Predicate{`0})">
1876 <summary>
1877 Retrieves all the elements that match the conditions defined by the specified predicate.
1878 </summary>
1879 <param name="match">
1880 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
1881 to search for.
1882 </param>
1883 <returns>
1884 A <see cref="T:System.Collections.Generic.List`1"/> containing all the elements that match
1885 the conditions defined by the specified predicate, if found; otherwise, an
1886 empty <see cref="T:System.Collections.Generic.List`1"/>.
1887 </returns>
1888 <exception cref="T:System.ArgumentNullException">
1889 <paramref name="match"/> is null.
1890 </exception>
1891 </member>
1892 <member name="M:s3pi.Interfaces.IndexList`1.FindIndex(System.Predicate{`0})">
1893 <summary>
1894 Retrieves all the elements that match the conditions defined by the specified predicate.
1895 Searches for an element that matches the conditions defined by the specified
1896 predicate, and returns the zero-based index of the first occurrence within
1897 the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1898 </summary>
1899 <param name="match">
1900 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1901 to search for.
1902 </param>
1903 <returns>
1904 The zero-based index of the first occurrence of an element that matches the
1905 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
1906 </returns>
1907 <exception cref="T:System.ArgumentNullException">
1908 <paramref name="match"/> is null.
1909 </exception>
1910 </member>
1911 <member name="M:s3pi.Interfaces.IndexList`1.FindIndex(System.Int32,System.Predicate{`0})">
1912 <summary>
1913 Searches for an element that matches the conditions defined by the specified
1914 predicate, and returns the zero-based index of the first occurrence within
1915 the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that extends
1916 from the specified index to the last element.
1917 </summary>
1918 <param name="startIndex">
1919 The zero-based starting index of the search.
1920 </param>
1921 <param name="match">
1922 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1923 to search for.
1924 </param>
1925 <returns>
1926 The zero-based index of the first occurrence of an element that matches the
1927 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
1928 </returns>
1929 <exception cref="T:System.ArgumentNullException">
1930 <paramref name="match"/> is null.
1931 </exception>
1932 <exception cref="T:System.ArgumentOutOfRangeException">
1933 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1934 </exception>
1935 </member>
1936 <member name="M:s3pi.Interfaces.IndexList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
1937 <summary>
1938 Searches for an element that matches the conditions defined by the specified
1939 predicate, and returns the zero-based index of the first occurrence within
1940 the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that starts
1941 at the specified index and contains the specified number of elements.
1942 </summary>
1943 <param name="startIndex">
1944 The zero-based starting index of the search.
1945 </param>
1946 <param name="count">
1947 The number of elements in the section to search.
1948 </param>
1949 <param name="match">
1950 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1951 to search for.
1952 </param>
1953 <returns>
1954 The zero-based index of the first occurrence of an element that matches the
1955 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
1956 </returns>
1957 <exception cref="T:System.ArgumentNullException">
1958 <paramref name="match"/> is null.
1959 </exception>
1960 <exception cref="T:System.ArgumentOutOfRangeException">
1961 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1962 <br/>-or-<br/>
1963 <paramref name="count"/> is less than 0.
1964 <br/>-or-<br/>
1965 <paramref name="startIndex"/> and <paramref name="count"/> do not specify a valid section in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1966 </exception>
1967 </member>
1968 <member name="M:s3pi.Interfaces.IndexList`1.FindLast(System.Predicate{`0})">
1969 <summary>
1970 Searches for an element that matches the conditions defined by the specified
1971 predicate, and returns the last occurrence within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1972 </summary>
1973 <param name="match">
1974 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1975 to search for.
1976 </param>
1977 <returns>
1978 The last element that matches the conditions defined by the specified predicate,
1979 if found; otherwise, the default value for type <typeparamref name="T"/>.
1980 </returns>
1981 <exception cref="T:System.ArgumentNullException">
1982 <paramref name="match"/> is null.
1983 </exception>
1984 </member>
1985 <member name="M:s3pi.Interfaces.IndexList`1.FindLastIndex(System.Predicate{`0})">
1986 <summary>
1987 Searches for an element that matches the conditions defined by the specified
1988 predicate, and returns the zero-based index of the last occurrence within
1989 the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
1990 </summary>
1991 <param name="match">
1992 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
1993 to search for.
1994 </param>
1995 <returns>
1996 The zero-based index of the last occurrence of an element that matches the
1997 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
1998 </returns>
1999 <exception cref="T:System.ArgumentNullException">
2000 <paramref name="match"/> is null.
2001 </exception>
2002 </member>
2003 <member name="M:s3pi.Interfaces.IndexList`1.FindLastIndex(System.Int32,System.Predicate{`0})">
2004 <summary>
2005 Searches for an element that matches the conditions defined by the specified
2006 predicate, and returns the zero-based index of the last occurrence within
2007 the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that
2008 extends from the first element to the specified index.
2009 </summary>
2010 <param name="startIndex">
2011 The zero-based starting index of the backward search.
2012 </param>
2013 <param name="match">
2014 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
2015 to search for.
2016 </param>
2017 <returns>
2018 The zero-based index of the last occurrence of an element that matches the
2019 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
2020 </returns>
2021 <exception cref="T:System.ArgumentNullException">
2022 <paramref name="match"/> is null.
2023 </exception>
2024 <exception cref="T:System.ArgumentOutOfRangeException">
2025 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2026 </exception>
2027 </member>
2028 <member name="M:s3pi.Interfaces.IndexList`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
2029 <summary>
2030 Searches for an element that matches the conditions defined by the specified
2031 predicate, and returns the zero-based index of the last occurrence within
2032 the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that
2033 contains the specified number of elements and ends at the specified index.
2034 </summary>
2035 <param name="startIndex">
2036 The zero-based starting index of the backward search.
2037 </param>
2038 <param name="count">
2039 The number of elements in the section to search.
2040 </param>
2041 <param name="match">
2042 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
2043 to search for.
2044 </param>
2045 <returns>
2046 The zero-based index of the last occurrence of an element that matches the
2047 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
2048 </returns>
2049 <exception cref="T:System.ArgumentNullException">
2050 <paramref name="match"/> is null.
2051 </exception>
2052 <exception cref="T:System.ArgumentOutOfRangeException">
2053 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2054 <br/>-or-<br/>
2055 <paramref name="count"/> is less than 0.
2056 <br/>-or-<br/>
2057 <paramref name="startIndex"/> and <paramref name="count"/> do not specify a valid section in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2058 </exception>
2059 </member>
2060 <member name="M:s3pi.Interfaces.IndexList`1.ForEach(System.Action{`0})">
2061 <summary>
2062 Performs the specified action on each element of the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2063 </summary>
2064 <param name="action">
2065 The <see cref="T:System.Action`1"/> delegate to perform on each element of the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2066 </param>
2067 <exception cref="T:System.ArgumentNullException">
2068 <paramref name="action"/> is null.
2069 </exception>
2070 </member>
2071 <member name="M:s3pi.Interfaces.IndexList`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
2072 <summary>
2073 Inserts the elements of a collection into the <see cref="T:s3pi.Interfaces.IndexList`1"/> at the specified index.
2074 </summary>
2075 <param name="index">The zero-based index at which the new elements should be inserted.</param>
2076 <param name="collection">The collection whose elements should be inserted into the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2077 The collection itself cannot be null, but it can contain elements that are null, if type <typeparamref name="T"/> is a reference type.</param>
2078 <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is null.</exception>
2079 <exception cref="T:System.ArgumentOutOfRangeException">
2080 <paramref name="index"/> is less than 0.
2081 <br/>-or-<br/>
2082 <paramref name="index"/> is greater than <see cref="T:s3pi.Interfaces.IndexList`1"/>.Count.
2083 </exception>
2084 <exception cref="T:System.InvalidOperationException">Thrown when list size would be exceeded.</exception>
2085 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2086 <remarks>Calls <see cref="M:s3pi.Interfaces.IndexList`1.Insert(System.Int32,`0)"/> for each item in <paramref name="collection"/>.</remarks>
2087 </member>
2088 <member name="M:s3pi.Interfaces.IndexList`1.IndexOf(`0,System.Int32)">
2089 <summary>
2090 Searches for the specified object and returns the zero-based index of the
2091 first occurrence within the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2092 that extends from the specified index to the last element.
2093 </summary>
2094 <param name="item">
2095 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2096 </param>
2097 <param name="index">
2098 The zero-based starting index of the search.
2099 </param>
2100 <returns>
2101 The zero-based index of the first occurrence of item within the range of
2102 elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that extends from index
2103 to the last element, if found; otherwise, –1.
2104 </returns>
2105 <exception cref="T:System.ArgumentOutOfRangeException">
2106 index is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2107 </exception>
2108 </member>
2109 <member name="M:s3pi.Interfaces.IndexList`1.IndexOf(`0,System.Int32,System.Int32)">
2110 <summary>
2111 Searches for the specified object and returns the zero-based index of the
2112 first occurrence within the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2113 that starts at the specified index and contains the specified number of elements.
2114 </summary>
2115 <param name="item">
2116 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2117 </param>
2118 <param name="index">
2119 The zero-based starting index of the search.
2120 </param>
2121 <param name="count">
2122 The number of elements in the section to search.
2123 </param>
2124 <returns>
2125 The zero-based index of the first occurrence of item within the range of
2126 elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that
2127 starts at <paramref name="index"/> and contains <paramref name="count"/> number of elements,
2128 if found; otherwise, –1.
2129 </returns>
2130 <exception cref="T:System.ArgumentOutOfRangeException">
2131 index is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2132 <br/>-or-<br/>
2133 count is less than 0.
2134 <br/>-or-<br/>
2135 index and count do not specify a valid section in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2136 </exception>
2137 </member>
2138 <member name="M:s3pi.Interfaces.IndexList`1.LastIndexOf(`0)">
2139 <summary>
2140 Searches for the specified object and returns the zero-based index of the
2141 last occurrence within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2142 </summary>
2143 <param name="item">
2144 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2145 </param>
2146 <returns>
2147 The zero-based index of the last occurrence of item within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>,
2148 if found; otherwise, –1.
2149 </returns>
2150 </member>
2151 <member name="M:s3pi.Interfaces.IndexList`1.LastIndexOf(`0,System.Int32)">
2152 <summary>
2153 Searches for the specified object and returns the zero-based index of the
2154 last occurrence within the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2155 that extends from the first element to the specified index.
2156 </summary>
2157 <param name="item">
2158 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2159 </param>
2160 <param name="index">
2161 The zero-based starting index of the backward search.
2162 </param>
2163 <returns>
2164 The zero-based index of the last occurrence of item within the range of
2165 elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that
2166 extends from the first element and ends at <paramref name="index"/>,
2167 if found; otherwise, –1.
2168 </returns>
2169 <exception cref="T:System.ArgumentOutOfRangeException">
2170 index is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2171 </exception>
2172 </member>
2173 <member name="M:s3pi.Interfaces.IndexList`1.LastIndexOf(`0,System.Int32,System.Int32)">
2174 <summary>
2175 Searches for the specified object and returns the zero-based index of the
2176 last occurrence within the range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2177 that contains the specified number of elements and ends at the specified index.
2178 </summary>
2179 <param name="item">
2180 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2181 </param>
2182 <param name="index">
2183 The zero-based starting index of the backward search.
2184 </param>
2185 <param name="count">
2186 The number of elements in the section to search.
2187 </param>
2188 <returns>
2189 The zero-based index of the last occurrence of item within the range of
2190 elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/> that
2191 contains <paramref name="count"/> number of elements and ends at <paramref name="index"/>,
2192 if found; otherwise, –1.
2193 </returns>
2194 <exception cref="T:System.ArgumentOutOfRangeException">
2195 index is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2196 <br/>-or-<br/>
2197 count is less than 0.
2198 <br/>-or-<br/>
2199 index and count do not specify a valid section in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2200 </exception>
2201 </member>
2202 <member name="M:s3pi.Interfaces.IndexList`1.Remove(`0)">
2203 <summary>
2204 Removes the first occurrence of an entry from the <see cref="T:s3pi.Interfaces.IndexList`1"/> with the value given.
2205 </summary>
2206 <param name="item">The value to remove from the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</param>
2207 <returns>
2208 true if item was successfully removed from the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2209 otherwise, false. This method also returns false if item is not found in
2210 the original <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2211 </returns>
2212 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.AHandlerList`1"/> is read-only.</exception>
2213 </member>
2214 <member name="M:s3pi.Interfaces.IndexList`1.RemoveAll(System.Predicate{`0})">
2215 <summary>
2216 Removes the all the elements that match the conditions defined by the specified predicate.
2217 </summary>
2218 <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements to remove.</param>
2219 <returns>The number of elements removed from the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</returns>
2220 <exception cref="T:System.ArgumentNullException"><paramref name="match"/> is null.</exception>
2221 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2222 </member>
2223 <member name="M:s3pi.Interfaces.IndexList`1.Sort(System.Comparison{`0})">
2224 <summary>
2225 Sorts the elements in the entire <see cref="T:s3pi.Interfaces.IndexList`1"/> using the specified <see cref="T:System.Comparison`1"/>.
2226 </summary>
2227 <param name="comparison">The <see cref="T:System.Comparison`1"/> to use when comparing elements.</param>
2228 <exception cref="T:System.ArgumentException">The implementation of <paramref name="comparison"/> caused an error during the sort.
2229 For example, <paramref name="comparison"/> might not return 0 when comparing an item with itself.</exception>
2230 <exception cref="T:System.ArgumentNullException"><paramref name="comparison"/> is null.</exception>
2231 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2232 </member>
2233 <member name="M:s3pi.Interfaces.IndexList`1.Sort(System.Collections.Generic.IComparer{`0})">
2234 <summary>
2235 Sorts the elements in the entire <see cref="T:s3pi.Interfaces.IndexList`1"/> using the specified comparer.
2236 </summary>
2237 <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing elements,
2238 or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.</param>
2239 <exception cref="T:System.ArgumentException">
2240 The implementation of <paramref name="comparer"/> caused an error during the sort.
2241 For example, <paramref name="comparer"/> might not return 0 when comparing an item with itself.
2242 </exception>
2243 <exception cref="T:System.InvalidOperationException">
2244 <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
2245 cannot find implementation of the <see cref="T:System.IComparable`1"/> generic interface
2246 or the System.IComparable interface for type <typeparamref name="T"/>.
2247 </exception>
2248 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2249 </member>
2250 <member name="M:s3pi.Interfaces.IndexList`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
2251 <summary>
2252 Sorts the elements in a range of elements in <see cref="T:s3pi.Interfaces.IndexList`1"/> using the specified comparer.
2253 </summary>
2254 <param name="index">The zero-based starting index of the range to sort.</param>
2255 <param name="count">The number of elements in the range to sort.</param>
2256 <param name="comparer">The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing elements,
2257 or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.</param>
2258 <exception cref="T:System.ArgumentException">
2259 <paramref name="index"/> and <paramref name="count"/> do not denote a valid range of elements in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2260 <br/>-or-<br/>
2261 The implementation of <paramref name="comparer"/> caused an error during the sort.
2262 For example, <paramref name="comparer"/> might not return 0 when comparing an item with itself.
2263 <br/>-or-<br/>
2264 <paramref name="comparer"/> is null, and an implementation of the <see cref="T:System.IComparable`1"/> generic interface
2265 or the <see cref="T:System.IComparable"/> interface for type <typeparamref name="T"/> cannot be found.
2266 </exception>
2267 <exception cref="T:System.ArgumentOutOfRangeException">
2268 <paramref name="index"/> is less than 0.
2269 <br/>-or-<br/>
2270 <paramref name="count"/> is less than 0.
2271 </exception>
2272 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2273 </member>
2274 <member name="M:s3pi.Interfaces.IndexList`1.ToArray">
2275 <summary>
2276 Copies the elements of the <see cref="T:s3pi.Interfaces.IndexList`1"/> to a new array.
2277 </summary>
2278 <returns>
2279 An array containing copies of the elements of the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2280 </returns>
2281 </member>
2282 <member name="M:s3pi.Interfaces.IndexList`1.TrueForAll(System.Predicate{`0})">
2283 <summary>
2284 Determines whether every element in the <see cref="T:s3pi.Interfaces.IndexList`1"/>
2285 matches the conditions defined by the specified predicate.
2286 </summary>
2287 <param name="match">The <see cref="T:System.Predicate`1"/> delegate that defines the conditions to check against the elements.</param>
2288 <returns>
2289 true if every element in the <see cref="T:s3pi.Interfaces.IndexList`1"/> matches the
2290 conditions defined by the specified predicate; otherwise, false. If the list
2291 has no elements, the return value is true.
2292 </returns>
2293 <exception cref="T:System.ArgumentNullException"><paramref name="match"/> is null.</exception>
2294 </member>
2295 <member name="M:s3pi.Interfaces.IndexList`1.IndexOf(`0)">
2296 <summary>
2297 Searches for the specified object and returns the zero-based index of the
2298 first occurrence within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2299 </summary>
2300 <param name="item">
2301 The object to locate in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2302 </param>
2303 <returns>
2304 The zero-based index of the first occurrence of item within the entire <see cref="T:s3pi.Interfaces.IndexList`1"/>,
2305 if found; otherwise, –1.
2306 </returns>
2307 </member>
2308 <member name="M:s3pi.Interfaces.IndexList`1.Insert(System.Int32,`0)">
2309 <summary>
2310 Inserts an item to the <see cref="T:s3pi.Interfaces.IndexList`1"/> at the specified index.
2311 </summary>
2312 <param name="index">The zero-based index at which item should be inserted.</param>
2313 <param name="item">The object to insert into the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</param>
2314 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</exception>
2315 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
2316 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2317 </member>
2318 <member name="M:s3pi.Interfaces.IndexList`1.GetEnumerator">
2319 <summary>
2320 Returns an enumerator that iterates through the collection.
2321 </summary>
2322 <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.</returns>
2323 </member>
2324 <member name="P:s3pi.Interfaces.IndexList`1.ParentTGIBlocks">
2325 <summary>
2326 Reference to TGIBlockList into which this is an index.
2327 </summary>
2328 </member>
2329 <member name="P:s3pi.Interfaces.IndexList`1.Item(System.Int32)">
2330 <summary>
2331 Gets or sets the element at the specified index.
2332 </summary>
2333 <param name="index">The zero-based index of the element to get or set.</param>
2334 <returns>The element at the specified index.</returns>
2335 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:s3pi.Interfaces.IndexList`1"/>.</exception>
2336 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.IndexList`1"/> is read-only.</exception>
2337 </member>
2338 <member name="T:s3pi.Interfaces.IndexList`1.Enumerator`1">
2339 <summary>
2340 Supports a simple iteration over a generic collection.
2341 </summary>
2342 <typeparam name="U">The type of objects to enumerate.</typeparam>
2343 </member>
2344 <member name="M:s3pi.Interfaces.IndexList`1.Enumerator`1.Dispose">
2345 <summary>
2346 Releases all resources used by the enumerator.
2347 </summary>
2348 </member>
2349 <member name="M:s3pi.Interfaces.IndexList`1.Enumerator`1.MoveNext">
2350 <summary>
2351 Advances the enumerator to the next element of the collection.
2352 </summary>
2353 <returns>
2354 true if the enumerator was successfully advanced to the next element;
2355 false if the enumerator has passed the end of the collection.
2356 </returns>
2357 <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created.</exception>
2358 </member>
2359 <member name="M:s3pi.Interfaces.IndexList`1.Enumerator`1.Reset">
2360 <summary>
2361 Sets the enumerator to its initial position, which is before the first element in the collection.
2362 </summary>
2363 <exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created.</exception>
2364 </member>
2365 <member name="P:s3pi.Interfaces.IndexList`1.Enumerator`1.Current">
2366 <summary>
2367 Gets the element at the current position of the enumerator.
2368 </summary>
2369 </member>
2370 <member name="T:s3pi.Interfaces.IndexList`1.CreateElementMethod">
2371 <summary>
2372 Create a new element of type <typeparamref name="T"/> from a <see cref="T:System.IO.Stream"/>.
2373 </summary>
2374 <param name="s">The <see cref="T:System.IO.Stream"/> from which to read the element data.</param>
2375 <returns>A new element of type <typeparamref name="T"/>.</returns>
2376 </member>
2377 <member name="T:s3pi.Interfaces.IndexList`1.WriteElementMethod">
2378 <summary>
2379 Write an element of type <typeparamref name="T"/> to a <see cref="T:System.IO.Stream"/>.
2380 </summary>
2381 <param name="s">The <see cref="T:System.IO.Stream"/> to which to write the value.</param>
2382 <param name="value">The value of type <typeparamref name="T"/> to write.</param>
2383 </member>
2384 <member name="T:s3pi.Interfaces.IndexList`1.ReadCountMethod">
2385 <summary>
2386 Return the number of list elements to read.
2387 </summary>
2388 <param name="s">A <see cref="T:System.IO.Stream"/> that may contain the number of elements.</param>
2389 <returns>The number of list elements to read.</returns>
2390 </member>
2391 <member name="T:s3pi.Interfaces.IndexList`1.WriteCountMethod">
2392 <summary>
2393 Store the number of elements in the list.
2394 </summary>
2395 <param name="s">A <see cref="T:System.IO.Stream"/> to which list elements will be written after the count.</param>
2396 <param name="count">The number of list elements.</param>
2397 </member>
2398 <member name="T:s3pi.Interfaces.ByteIndexList">
2399 <summary>
2400 A byte-size use of <see cref="T:s3pi.Interfaces.IndexList`1"/>.
2401 </summary>
2402 </member>
2403 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,s3pi.Interfaces.IndexList{System.Byte}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Byte}.WriteCountMethod,System.Int64,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2404 <summary>
2405 Create an empty UIntList.
2406 </summary>
2407 <param name="handler">Event handler.</param>
2408 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2409 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2410 <param name="size">Optional list size (should be <c>byte.MaxValue</c> or below).</param>
2411 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2412 </member>
2413 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2414 <summary>
2415 Create an empty ByteIndexList, setting the <paramref name="ParentTGIBlocks"/> as passed.
2416 Defaults will be used for list size limit and Data I/O handlers used for the count.
2417 </summary>
2418 <param name="handler">Event handler.</param>
2419 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2420 </member>
2421 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{System.Byte},s3pi.Interfaces.IndexList{System.Byte}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Byte}.WriteCountMethod,System.Int64,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2422 <summary>
2423 Create a UIntList populated from an existing set of values.
2424 </summary>
2425 <param name="handler">Event handler.</param>
2426 <param name="basis">Basis on which to populate the list.</param>
2427 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2428 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2429 <param name="size">Optional list size (should be <c>byte.MaxValue</c> or below).</param>
2430 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2431 </member>
2432 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{System.Byte},s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2433 <summary>
2434 Create a ByteIndexList populated from an existing set of values, setting the <paramref name="ParentTGIBlocks"/> as passed.
2435 There will be no list size limit and default Data I/O handlers will be used for the count.
2436 </summary>
2437 <param name="handler">Event handler.</param>
2438 <param name="basis">Basis on which to populate the list.</param>
2439 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2440 </member>
2441 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,System.IO.Stream,s3pi.Interfaces.IndexList{System.Byte}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Byte}.WriteCountMethod,System.Int64,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2442 <summary>
2443 Create a UIntList populated from a <see cref="T:System.IO.Stream"/>.
2444 </summary>
2445 <param name="handler">Event handler.</param>
2446 <param name="s"><see cref="T:System.IO.Stream"/> from which to read elements.</param>
2447 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2448 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2449 <param name="size">Optional list size (should be <c>byte.MaxValue</c> or below).</param>
2450 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2451 </member>
2452 <member name="M:s3pi.Interfaces.ByteIndexList.#ctor(System.EventHandler,System.IO.Stream,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2453 <summary>
2454 Create a ByteIndexList populated from a <see cref="T:System.IO.Stream"/>, setting the <paramref name="ParentTGIBlocks"/> as passed.
2455 There will be no list size limit and default Data I/O handlers will be used for the count.
2456 </summary>
2457 <param name="handler">Event handler.</param>
2458 <param name="s"><see cref="T:System.IO.Stream"/> from which to read elements.</param>
2459 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2460 </member>
2461 <member name="T:s3pi.Interfaces.Int32IndexList">
2462 <summary>
2463 <see cref="T:s3pi.Interfaces.IndexList`1"/> with <see cref="T:System.Int32"/> entries.
2464 </summary>
2465 </member>
2466 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,System.Int64,s3pi.Interfaces.IndexList{System.Int32}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Int32}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2467 <summary>
2468 Create an empty UIntList.
2469 </summary>
2470 <param name="handler">Event handler.</param>
2471 <param name="size">Optional list size.</param>
2472 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2473 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2474 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2475 </member>
2476 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2477 <summary>
2478 Create an empty UIntList, setting the <paramref name="ParentTGIBlocks"/> as passed.
2479 There will be no list size limit and default Data I/O handlers will be used for the count.
2480 </summary>
2481 <param name="handler">Event handler.</param>
2482 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2483 </member>
2484 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{System.Int32},System.Int64,s3pi.Interfaces.IndexList{System.Int32}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Int32}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2485 <summary>
2486 Create a UIntList populated from an existing set of values.
2487 </summary>
2488 <param name="handler">Event handler.</param>
2489 <param name="basis">Basis on which to populate the list.</param>
2490 <param name="size">Optional list size.</param>
2491 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2492 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2493 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2494 </member>
2495 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{System.Int32},s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2496 <summary>
2497 Create a UIntList populated from an existing set of values, setting the <paramref name="ParentTGIBlocks"/> as passed.
2498 There will be no list size limit and default Data I/O handlers will be used for the count.
2499 </summary>
2500 <param name="handler">Event handler.</param>
2501 <param name="basis">Basis on which to populate the list.</param>
2502 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2503 </member>
2504 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,System.IO.Stream,System.Int64,s3pi.Interfaces.IndexList{System.Int32}.ReadCountMethod,s3pi.Interfaces.IndexList{System.Int32}.WriteCountMethod,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2505 <summary>
2506 Create a UIntList populated from a <see cref="T:System.IO.Stream"/>.
2507 </summary>
2508 <param name="handler">Event handler.</param>
2509 <param name="s"><see cref="T:System.IO.Stream"/> from which to read elements.</param>
2510 <param name="size">Optional list size.</param>
2511 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2512 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2513 <param name="ParentTGIBlocks">Optional; default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2514 </member>
2515 <member name="M:s3pi.Interfaces.Int32IndexList.#ctor(System.EventHandler,System.IO.Stream,s3pi.Interfaces.DependentList{s3pi.Interfaces.TGIBlock})">
2516 <summary>
2517 Create a UIntList populated from a <see cref="T:System.IO.Stream"/>, setting the <paramref name="ParentTGIBlocks"/> as passed.
2518 There will be no list size limit and default Data I/O handlers will be used for the count.
2519 </summary>
2520 <param name="handler">Event handler.</param>
2521 <param name="s"><see cref="T:System.IO.Stream"/> from which to read elements.</param>
2522 <param name="ParentTGIBlocks">Default parent <see cref="T:s3pi.Interfaces.DependentList`1"/> into which elements of this list index.</param>
2523 </member>
2524 <member name="T:s3pi.Interfaces.Quaternion">
2525 <summary>
2526 Defines a quaternion - the quotient of two vectors.
2527 </summary>
2528 </member>
2529 <member name="M:s3pi.Interfaces.Quaternion.#ctor(System.Int32,System.EventHandler)">
2530 <summary>
2531 Create a Quaternion { 0, 0, 0, 0 }.
2532 </summary>
2533 <param name="APIversion">The requested API version.</param>
2534 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
2535 </member>
2536 <member name="M:s3pi.Interfaces.Quaternion.#ctor(System.Int32,System.EventHandler,System.IO.Stream)">
2537 <summary>
2538 Create a Quaternion from a <see cref="T:System.IO.Stream"/>.
2539 </summary>
2540 <param name="APIversion">The requested API version.</param>
2541 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
2542 <param name="s"><see cref="T:System.IO.Stream"/> containing coordinates.</param>
2543 </member>
2544 <member name="M:s3pi.Interfaces.Quaternion.#ctor(System.Int32,System.EventHandler,s3pi.Interfaces.Quaternion)">
2545 <summary>
2546 Create a Quaternion from a given value.
2547 </summary>
2548 <param name="APIversion">The requested API version.</param>
2549 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
2550 <param name="basis"><see cref="T:s3pi.Interfaces.Quaternion"/> to copy.</param>
2551 </member>
2552 <member name="M:s3pi.Interfaces.Quaternion.#ctor(System.Int32,System.EventHandler,System.Single,System.Single,System.Single,System.Single)">
2553 <summary>
2554 Create a Quaternion { a, b, c, d }.
2555 </summary>
2556 <param name="APIversion">The requested API version.</param>
2557 <param name="handler">The <see cref="T:System.EventHandler"/> delegate to invoke if the <see cref="T:s3pi.Interfaces.AHandlerElement"/> changes.</param>
2558 <param name="a">Q 'a' value.</param>
2559 <param name="b">Q 'b' value.</param>
2560 <param name="c">Q 'c' value.</param>
2561 <param name="d">Q 'd' value.</param>
2562 </member>
2563 <member name="M:s3pi.Interfaces.Quaternion.UnParse(System.IO.Stream)">
2564 <summary>
2565 Write the Quaternion to the given <see cref="T:System.IO.Stream"/>.
2566 </summary>
2567 <param name="s"><see cref="T:System.IO.Stream"/> to contain coordinates.</param>
2568 </member>
2569 <member name="M:s3pi.Interfaces.Quaternion.Equals(s3pi.Interfaces.Quaternion)">
2570 <summary>
2571 Indicates whether the current object is equal to another object of the same type.
2572 </summary>
2573 <param name="other">An object to compare with this object.</param>
2574 <returns>true if the current object is equal to the other parameter; otherwise, false.</returns>
2575 </member>
2576 <member name="M:s3pi.Interfaces.Quaternion.Equals(System.Object)">
2577 <summary>
2578 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.Quaternion"/>.
2579 </summary>
2580 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:s3pi.Interfaces.Quaternion"/>.</param>
2581 <returns>true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:s3pi.Interfaces.Quaternion"/>; otherwise, false.</returns>
2582 </member>
2583 <member name="M:s3pi.Interfaces.Quaternion.GetHashCode">
2584 <summary>
2585 Returns the hash code for this instance.
2586 </summary>
2587 <returns>A 32-bit signed integer that is the hash code for this instance.</returns>
2588 </member>
2589 <member name="P:s3pi.Interfaces.Quaternion.RecommendedApiVersion">
2590 <summary>
2591 The best supported version of the API available
2592 </summary>
2593 </member>
2594 <member name="P:s3pi.Interfaces.Quaternion.ContentFields">
2595 <summary>
2596 The list of available field names on this API object.
2597 </summary>
2598 </member>
2599 <member name="P:s3pi.Interfaces.Quaternion.A">
2600 <summary>
2601 'a' value
2602 </summary>
2603 </member>
2604 <member name="P:s3pi.Interfaces.Quaternion.B">
2605 <summary>
2606 'b' value
2607 </summary>
2608 </member>
2609 <member name="P:s3pi.Interfaces.Quaternion.C">
2610 <summary>
2611 'c' value
2612 </summary>
2613 </member>
2614 <member name="P:s3pi.Interfaces.Quaternion.D">
2615 <summary>
2616 'd' value
2617 </summary>
2618 </member>
2619 <member name="P:s3pi.Interfaces.Quaternion.Value">
2620 <summary>
2621 A displayable representation of the object
2622 </summary>
2623 </member>
2624 <member name="T:s3pi.Interfaces.CountedTGIBlockList">
2625 <summary>
2626 A TGIBlock list class where the count of elements is separate from the stored list
2627 </summary>
2628 </member>
2629 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.Int64)">
2630 <summary>
2631 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2632 that is empty
2633 with <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of "TGI".
2634 </summary>
2635 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2636 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2637 </member>
2638 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{s3pi.Interfaces.TGIBlock},System.Int64)">
2639 <summary>
2640 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2641 filled with the content of <paramref name="ilt"/>
2642 with <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of "TGI".
2643 </summary>
2644 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2645 <param name="ilt">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> to use as the initial content of the list.</param>
2646 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2647 </member>
2648 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.Int32,System.IO.Stream,System.Int64)">
2649 <summary>
2650 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2651 filled with <paramref name="count"/> elements from <see cref="T:System.IO.Stream"/> <paramref name="s"/>
2652 with <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of "TGI".
2653 </summary>
2654 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2655 <param name="count">The number of list elements to read.</param>
2656 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
2657 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2658 </member>
2659 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,s3pi.Interfaces.TGIBlock.Order,System.Int64)">
2660 <summary>
2661 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2662 that is empty
2663 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2664 </summary>
2665 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2666 <param name="order">The <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2667 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2668 </member>
2669 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,s3pi.Interfaces.TGIBlock.Order,System.Collections.Generic.IEnumerable{s3pi.Interfaces.TGIBlock},System.Int64)">
2670 <summary>
2671 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2672 filled with the content of <paramref name="ilt"/>
2673 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2674 </summary>
2675 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2676 <param name="order">The <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2677 <param name="ilt">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> to use as the initial content of the list.</param>
2678 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2679 </member>
2680 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,s3pi.Interfaces.TGIBlock.Order,System.Int32,System.IO.Stream,System.Int64)">
2681 <summary>
2682 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2683 filled with <paramref name="count"/> elements from <see cref="T:System.IO.Stream"/> <paramref name="s"/>
2684 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2685 </summary>
2686 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2687 <param name="order">The <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2688 <param name="count">The number of list elements to read.</param>
2689 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
2690 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2691 </member>
2692 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.String,System.Int64)">
2693 <summary>
2694 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2695 that is empty
2696 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2697 </summary>
2698 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2699 <param name="order">A string representing the <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2700 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2701 </member>
2702 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.String,System.Collections.Generic.IEnumerable{s3pi.Interfaces.TGIBlock},System.Int64)">
2703 <summary>
2704 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2705 filled with the content of <paramref name="ilt"/>
2706 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2707 </summary>
2708 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2709 <param name="order">A string representing the <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2710 <param name="ilt">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> to use as the initial content of the list.</param>
2711 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2712 </member>
2713 <member name="M:s3pi.Interfaces.CountedTGIBlockList.#ctor(System.EventHandler,System.String,System.Int32,System.IO.Stream,System.Int64)">
2714 <summary>
2715 Initializes a new instance of the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> class
2716 filled with <paramref name="count"/> elements from <see cref="T:System.IO.Stream"/> <paramref name="s"/>
2717 with the specified <see cref="T:s3pi.Interfaces.TGIBlock.Order"/>.
2718 </summary>
2719 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2720 <param name="order">A string representing the <see cref="T:s3pi.Interfaces.TGIBlock.Order"/> of the <see cref="T:s3pi.Interfaces.TGIBlock"/> values.</param>
2721 <param name="count">The number of list elements to read.</param>
2722 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
2723 <param name="size">Optional; -1 for unlimited size, otherwise the maximum number of elements in the list.</param>
2724 </member>
2725 <member name="M:s3pi.Interfaces.CountedTGIBlockList.CreateElement(System.IO.Stream)">
2726 <summary>
2727 Create a new element from the <see cref="T:System.IO.Stream"/>.
2728 </summary>
2729 <param name="s">Stream containing element data.</param>
2730 <returns>A new element.</returns>
2731 </member>
2732 <member name="M:s3pi.Interfaces.CountedTGIBlockList.WriteElement(System.IO.Stream,s3pi.Interfaces.TGIBlock)">
2733 <summary>
2734 Write an element to the stream.
2735 </summary>
2736 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="element"/> to.</param>
2737 <param name="element">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
2738 </member>
2739 <member name="M:s3pi.Interfaces.CountedTGIBlockList.ReadCount(System.IO.Stream)">
2740 <summary>
2741 Return the number of elements to be created.
2742 </summary>
2743 <param name="s"><see cref="T:System.IO.Stream"/> being processed -- ignored.</param>
2744 <returns>The number of elements to be created, as provided to the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> constructor.</returns>
2745 </member>
2746 <member name="M:s3pi.Interfaces.CountedTGIBlockList.WriteCount(System.IO.Stream,System.Int32)">
2747 <summary>
2748 This list does not manage a count within the <see cref="T:System.IO.Stream"/>.
2749 </summary>
2750 <param name="s">Ignored.</param>
2751 <param name="count">Ignored.</param>
2752 </member>
2753 <member name="M:s3pi.Interfaces.CountedTGIBlockList.Add">
2754 <summary>
2755 Add a new default element to the list.
2756 </summary>
2757 </member>
2758 <member name="M:s3pi.Interfaces.CountedTGIBlockList.Add(s3pi.Interfaces.TGIBlock)">
2759 <summary>
2760 Adds a new <see cref="T:s3pi.Interfaces.TGIBlock"/> to the list using the values of the specified <see cref="T:s3pi.Interfaces.TGIBlock"/>.
2761 </summary>
2762 <param name="item">The <see cref="T:s3pi.Interfaces.TGIBlock"/> to use as a basis for the new <see cref="T:s3pi.Interfaces.TGIBlock"/>.</param>
2763 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
2764 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.AHandlerList`1"/> is read-only.</exception>
2765 <remarks>A new element is created rather than using the element passed
2766 as the order (TGI/ITG/etc) may be different.</remarks>
2767 </member>
2768 <member name="M:s3pi.Interfaces.CountedTGIBlockList.Add(s3pi.Interfaces.IResourceKey)">
2769 <summary>
2770 Adds a new TGIBlock to the list using the values of the IResourceKey.
2771 </summary>
2772 <param name="rk">The ResourceKey values to use for the TGIBlock.</param>
2773 <remarks>A new element is created rather than using the element passed
2774 as the order (TGI/ITG/etc) may be different.</remarks>
2775 </member>
2776 <member name="M:s3pi.Interfaces.CountedTGIBlockList.Insert(System.Int32,s3pi.Interfaces.TGIBlock)">
2777 <summary>
2778 Inserts a new <see cref="T:s3pi.Interfaces.TGIBlock"/> to the list at the specified index using the values of the specified <see cref="T:s3pi.Interfaces.TGIBlock"/>.
2779 </summary>
2780 <param name="index">The zero-based index at which the new <see cref="T:s3pi.Interfaces.TGIBlock"/> should be inserted.</param>
2781 <param name="item">The <see cref="T:s3pi.Interfaces.TGIBlock"/> to use as a basis for the new <see cref="T:s3pi.Interfaces.TGIBlock"/>.</param>
2782 <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index
2783 in the <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/>.</exception>
2784 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
2785 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.CountedTGIBlockList"/> is read-only.</exception>
2786 <remarks>A new element is created rather than using the element passed
2787 as the order (TGI/ITG/etc) may be different.</remarks>
2788 </member>
2789 <member name="T:s3pi.Interfaces.TGIBlockList">
2790 <summary>
2791 A TGIBlock list class where the count and size of the list are stored separately (but managed by this class)
2792 </summary>
2793 </member>
2794 <member name="M:s3pi.Interfaces.TGIBlockList.#ctor(System.EventHandler,System.Boolean,System.Boolean)">
2795 <summary>
2796 Initializes a new instance of the <see cref="T:s3pi.Interfaces.TGIBlockList"/> class
2797 that is empty.
2798 </summary>
2799 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2800 <param name="addEight">When true, invoke fudge factor in parse/unparse</param>
2801 <param name="ignoreTgiSize">When true, the size of TGIBlockList will be ignored (only the entry count will be used).</param>
2802 </member>
2803 <member name="M:s3pi.Interfaces.TGIBlockList.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{s3pi.Interfaces.TGIBlock},System.Boolean,System.Boolean)">
2804 <summary>
2805 Initializes a new instance of the <see cref="T:s3pi.Interfaces.TGIBlockList"/> class
2806 filled with the content of <paramref name="ilt"/>.
2807 </summary>
2808 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2809 <param name="ilt">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> to use as the initial content of the list.</param>
2810 <param name="addEight">When true, invoke fudge factor in parse/unparse</param>
2811 <param name="ignoreTgiSize">When true, the size of TGIBlockList will be ignored (only the entry count will be used).</param>
2812 </member>
2813 <member name="M:s3pi.Interfaces.TGIBlockList.#ctor(System.EventHandler,System.IO.Stream,System.Int64,System.Int64,System.Boolean,System.Boolean)">
2814 <summary>
2815 Initializes a new instance of the <see cref="T:s3pi.Interfaces.TGIBlockList"/> class
2816 filled with elements from <see cref="T:System.IO.Stream"/> <paramref name="s"/>.
2817 </summary>
2818 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2819 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
2820 <param name="tgiPosn">Position in the <see cref="T:System.IO.Stream"/> where the list of <see cref="T:s3pi.Interfaces.TGIBlock"/>s starts.</param>
2821 <param name="tgiSize">Size (in bytes) of the stored list.</param>
2822 <param name="addEight">When true, invoke fudge factor in parse/unparse</param>
2823 <param name="ignoreTgiSize">When true, the size of TGIBlockList will be ignored (only the entry count will be used).</param>
2824 </member>
2825 <member name="M:s3pi.Interfaces.TGIBlockList.CreateElement(System.IO.Stream)">
2826 <summary>
2827 Create a new element from the <see cref="T:System.IO.Stream"/>.
2828 </summary>
2829 <param name="s">Stream containing element data.</param>
2830 <returns>A new element.</returns>
2831 </member>
2832 <member name="M:s3pi.Interfaces.TGIBlockList.WriteElement(System.IO.Stream,s3pi.Interfaces.TGIBlock)">
2833 <summary>
2834 Write an element to the stream.
2835 </summary>
2836 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="element"/> to.</param>
2837 <param name="element">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
2838 </member>
2839 <member name="M:s3pi.Interfaces.TGIBlockList.Parse(System.IO.Stream,System.Int64,System.Int64)">
2840 <summary>
2841 Read list entries from a stream
2842 </summary>
2843 <param name="s">Stream containing list entries</param>
2844 <param name="tgiPosn">Position in the <see cref="T:System.IO.Stream"/> where the list of <see cref="T:s3pi.Interfaces.TGIBlock"/>s starts.</param>
2845 <param name="tgiSize">Size (in bytes) of the stored list.</param>
2846 </member>
2847 <member name="M:s3pi.Interfaces.TGIBlockList.UnParse(System.IO.Stream,System.Int64)">
2848 <summary>
2849 Write list entries to a stream
2850 </summary>
2851 <param name="s">Stream to receive list entries</param>
2852 <param name="ptgiO">Position in <see cref="T:System.IO.Stream"/> to write list position and size values.</param>
2853 </member>
2854 <member name="T:s3pi.Interfaces.SimpleList`1">
2855 <summary>
2856 A flexible generic list that implements <see cref="T:s3pi.Interfaces.DependentList`1"/> for
2857 a simple data type (such as <see cref="T:System.UInt32"/>).
2858 </summary>
2859 <typeparam name="T">A simple data type (such as <see cref="T:System.UInt32"/>).</typeparam>
2860 <example>
2861 The following method shows a way to create a list of UInt32 values, with an Int32 entry count
2862 stored in the stream immediately before the list.
2863 <code>
2864 <![CDATA[
2865 SimpleList<UInt32> ReadUInt32List(EventHandler e, Stream s)
2866 {
2867 return new SimpleList<UInt32>(e, s,
2868 s => new BinaryReader(s).ReadUInt32(),
2869 (s, value) => new BinaryWriter(s).Write(value));
2870 }
2871 ]]>
2872 </code>
2873 For more complex cases, or where repeated use of the same kind of <see cref="T:s3pi.Interfaces.SimpleList`1"/> is needed in different contexts,
2874 it can be worthwhile extending the class, as shown below. This example is for a list of byte values prefixed
2875 by a one byte count. It shows that the list length can also be specified (here using <c>Byte.MaxValue</c>
2876 <code>
2877 <![CDATA[
2878 public class ByteList : SimpleList<Byte>
2879 {
2880 public ByteList(EventHandler handler) : base(handler, ReadByte, WriteByte, Byte.MaxValue, ReadListCount, WriteListCount) { }
2881 public ByteList(EventHandler handler, Stream s) : base(handler, s, ReadByte, WriteByte, Byte.MaxValue, ReadListCount, WriteListCount) { }
2882 public ByteList(EventHandler handler, IList<Byte> le) : base(handler, le, ReadByte, WriteByte Byte.MaxValue, ReadListCount, WriteListCount) { }
2883
2884 static uint ReadListCount(Stream s) { return new BinaryReader(s).ReadByte(); }
2885 static void WriteListCount(Stream s, uint count) { new BinaryWriter(s).Write((byte)count); }
2886 static byte ReadByte(Stream s) { return new BinaryReader(s).ReadByte(); }
2887 static void WriteByte(Stream s, byte value) { new BinaryWriter(s).Write(value); }
2888 }
2889 ]]>
2890 </code>
2891 </example>
2892 <seealso cref="T:s3pi.Interfaces.HandlerElement`1"/>
2893 <seealso cref="T:s3pi.Interfaces.IndexList`1"/>
2894 </member>
2895 <member name="M:s3pi.Interfaces.SimpleList`1.#ctor(System.EventHandler,s3pi.Interfaces.SimpleList{`0}.CreateElementMethod,s3pi.Interfaces.SimpleList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.SimpleList{`0}.ReadCountMethod,s3pi.Interfaces.SimpleList{`0}.WriteCountMethod)">
2896 <summary>
2897 Initializes a new instance of the <see cref="T:s3pi.Interfaces.SimpleList`1"/> class
2898 that is empty.
2899 </summary>
2900 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2901 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
2902 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
2903 <param name="size">Optional maximum number of elements in the list.</param>
2904 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2905 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2906 </member>
2907 <member name="M:s3pi.Interfaces.SimpleList`1.#ctor(System.EventHandler,System.IO.Stream,s3pi.Interfaces.SimpleList{`0}.CreateElementMethod,s3pi.Interfaces.SimpleList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.SimpleList{`0}.ReadCountMethod,s3pi.Interfaces.SimpleList{`0}.WriteCountMethod)">
2908 <summary>
2909 Initializes a new instance of the <see cref="T:s3pi.Interfaces.SimpleList`1"/> class
2910 from <paramref name="s"/>.
2911 </summary>
2912 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2913 <param name="s">The <see cref="T:System.IO.Stream"/> to read for the initial content of the list.</param>
2914 <param name="createElement">Required; the method to create a new element in the list from a stream.</param>
2915 <param name="writeElement">Required; the method to create a new element in the list from a stream.</param>
2916 <param name="size">Optional maximum number of elements in the list.</param>
2917 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2918 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2919 </member>
2920 <member name="M:s3pi.Interfaces.SimpleList`1.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{`0},s3pi.Interfaces.SimpleList{`0}.CreateElementMethod,s3pi.Interfaces.SimpleList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.SimpleList{`0}.ReadCountMethod,s3pi.Interfaces.SimpleList{`0}.WriteCountMethod)">
2921 <summary>
2922 Initializes a new instance of the <see cref="T:s3pi.Interfaces.SimpleList`1"/> class
2923 from <paramref name="collection"/>, wrapping each entry in a <see cref="T:s3pi.Interfaces.HandlerElement`1"/> instance.
2924 </summary>
2925 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2926 <param name="collection">The source to use as the initial content of the list.</param>
2927 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
2928 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
2929 <param name="size">Optional maximum number of elements in the list.</param>
2930 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2931 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2932 </member>
2933 <member name="M:s3pi.Interfaces.SimpleList`1.#ctor(System.EventHandler,System.Collections.Generic.IEnumerable{s3pi.Interfaces.HandlerElement{`0}},s3pi.Interfaces.SimpleList{`0}.CreateElementMethod,s3pi.Interfaces.SimpleList{`0}.WriteElementMethod,System.Int64,s3pi.Interfaces.SimpleList{`0}.ReadCountMethod,s3pi.Interfaces.SimpleList{`0}.WriteCountMethod)">
2934 <summary>
2935 Initializes a new instance of the <see cref="T:s3pi.Interfaces.SimpleList`1"/> class from the existing <paramref name="collection"/>.
2936 </summary>
2937 <param name="handler">The <see cref="T:System.EventHandler"/> to call on changes to the list or its elements.</param>
2938 <param name="collection">The source to use as the initial content of the list.</param>
2939 <param name="createElement">Optional; the method to create a new element in the list from a stream. If null, return default{T}.</param>
2940 <param name="writeElement">Optional; the method to create a new element in the list from a stream. No operation if null.</param>
2941 <param name="size">Optional maximum number of elements in the list.</param>
2942 <param name="readCount">Optional; default is to read a <see cref="T:System.Int32"/> from the <see cref="T:System.IO.Stream"/>.</param>
2943 <param name="writeCount">Optional; default is to write a <see cref="T:System.Int32"/> to the <see cref="T:System.IO.Stream"/>.</param>
2944 </member>
2945 <member name="M:s3pi.Interfaces.SimpleList`1.ReadCount(System.IO.Stream)">
2946 <summary>
2947 Return the number of elements to be created.
2948 </summary>
2949 <param name="s"><see cref="T:System.IO.Stream"/> being processed.</param>
2950 <returns>The number of elements to be created.</returns>
2951 </member>
2952 <member name="M:s3pi.Interfaces.SimpleList`1.WriteCount(System.IO.Stream,System.Int32)">
2953 <summary>
2954 Write the count of list elements to the stream.
2955 </summary>
2956 <param name="s"><see cref="T:System.IO.Stream"/> to write <paramref name="count"/> to.</param>
2957 <param name="count">Value to write to <see cref="T:System.IO.Stream"/> <paramref name="s"/>.</param>
2958 </member>
2959 <member name="M:s3pi.Interfaces.SimpleList`1.CreateElement(System.IO.Stream)">
2960 <summary>
2961 Creates an new list element of type <typeparamref name="T"/> by reading <paramref name="s"/>.
2962 </summary>
2963 <param name="s"><see cref="T:System.IO.Stream"/> containing data.</param>
2964 <returns>New list element.</returns>
2965 </member>
2966 <member name="M:s3pi.Interfaces.SimpleList`1.WriteElement(System.IO.Stream,s3pi.Interfaces.HandlerElement{`0})">
2967 <summary>
2968 Writes the value of a list element to <paramref name="s"/>.
2969 </summary>
2970 <param name="s"><see cref="T:System.IO.Stream"/> containing data.</param>
2971 <param name="element">List element for which to write the value to the <see cref="T:System.IO.Stream"/>.</param>
2972 </member>
2973 <member name="M:s3pi.Interfaces.SimpleList`1.Add">
2974 <summary>
2975 Add a default element to a <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
2976 </summary>
2977 <exception cref="T:System.NotImplementedException">Lists of abstract classes will fail
2978 with a NotImplementedException.</exception>
2979 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
2980 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.SimpleList`1"/> is read-only.</exception>
2981 </member>
2982 <member name="M:s3pi.Interfaces.SimpleList`1.Add(`0)">
2983 <summary>
2984 Adds an entry to a <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
2985 </summary>
2986 <param name="item">The object to add.</param>
2987 <returns>True on success</returns>
2988 <exception cref="T:System.InvalidOperationException">Thrown when list size exceeded.</exception>
2989 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.SimpleList`1"/> is read-only.</exception>
2990 </member>
2991 <member name="M:s3pi.Interfaces.SimpleList`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
2992 <summary>
2993 Adds the elements of the specified collection to the end of the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
2994 </summary>
2995 <param name="collection">The collection whose elements should be added to the end of the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
2996 The collection itself cannot be null, but it can contain elements that are null, if type <typeparamref name="T"/> is a reference type.</param>
2997 <exception cref="T:System.ArgumentNullException"><paramref name="collection"/> is null.</exception>
2998 <exception cref="T:System.InvalidOperationException">Thrown when list size would be exceeded.</exception>
2999 <exception cref="T:System.NotSupportedException">The <see cref="T:s3pi.Interfaces.SimpleList`1"/> is read-only.</exception>
3000 <remarks>Calls <see cref="M:s3pi.Interfaces.SimpleList`1.Add(`0)"/> for each item in <paramref name="collection"/>.</remarks>
3001 </member>
3002 <member name="M:s3pi.Interfaces.SimpleList`1.BinarySearch(`0)">
3003 <summary>
3004 Searches a the entire sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>
3005 for an element using the default comparer and returns the zero-based index
3006 of the element.
3007 </summary>
3008 <param name="item">
3009 The object to locate.
3010 </param>
3011 <returns>
3012 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>,
3013 if item is found; otherwise, a negative number that is the bitwise complement
3014 of the index of the next element that is larger than item or, if there is
3015 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.SimpleList`1"/>.Count.
3016 </returns>
3017 <exception cref="T:System.InvalidOperationException">
3018 The default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
3019 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
3020 or the <see cref="T:System.IComparable"/> interface for type T.
3021 </exception>
3022 </member>
3023 <member name="M:s3pi.Interfaces.SimpleList`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
3024 <summary>
3025 Searches a the entire sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>
3026 for an element using the specified comparer and returns the zero-based index
3027 of the element.
3028 </summary>
3029 <param name="item">
3030 The object to locate.
3031 </param>
3032 <param name="comparer">
3033 The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
3034 elements.
3035 <br/>-or-<br/>
3036 null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
3037 </param>
3038 <returns>
3039 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>,
3040 if item is found; otherwise, a negative number that is the bitwise complement
3041 of the index of the next element that is larger than item or, if there is
3042 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.SimpleList`1"/>.Count.
3043 </returns>
3044 <exception cref="T:System.InvalidOperationException">
3045 <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
3046 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
3047 or the <see cref="T:System.IComparable"/> interface for type T.
3048 </exception>
3049 </member>
3050 <member name="M:s3pi.Interfaces.SimpleList`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
3051 <summary>
3052 Searches a range of elements in the sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>
3053 for an element using the specified comparer and returns the zero-based index
3054 of the element.
3055 </summary>
3056 <param name="index">
3057 The zero-based starting index of the range to search.
3058 </param>
3059 <param name="count">
3060 The length of the range to search.
3061 </param>
3062 <param name="item">
3063 The object to locate.
3064 </param>
3065 <param name="comparer">
3066 The <see cref="T:System.Collections.Generic.IComparer`1"/> implementation to use when comparing
3067 elements, or null to use the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>.
3068 </param>
3069 <returns>
3070 The zero-based index of item in the sorted <see cref="T:s3pi.Interfaces.SimpleList`1"/>,
3071 if item is found; otherwise, a negative number that is the bitwise complement
3072 of the index of the next element that is larger than item or, if there is
3073 no larger element, the bitwise complement of <see cref="T:s3pi.Interfaces.SimpleList`1"/>.Count.
3074 </returns>
3075 <exception cref="T:System.ArgumentOutOfRangeException">
3076 <paramref name="index"/> is less than 0.
3077 <br/>-or-<br/>
3078 <paramref name="count"/> is less than 0.
3079 </exception>
3080 <exception cref="T:System.ArgumentException">
3081 <paramref name="index"/> and <paramref name="count"/> do not denote a valid range in the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3082 </exception>
3083 <exception cref="T:System.InvalidOperationException">
3084 <paramref name="comparer"/> is null, and the default comparer <see cref="P:System.Collections.Generic.Comparer`1.Default"/>
3085 cannot find an implementation of the <see cref="T:System.IComparable`1"/> generic interface
3086 or the <see cref="T:System.IComparable"/> interface for type T.
3087 </exception>
3088 </member>
3089 <member name="M:s3pi.Interfaces.SimpleList`1.ConvertAll``1(System.Converter{`0,``0})">
3090 <summary>
3091 Converts the elements in the current <see cref="T:s3pi.Interfaces.SimpleList`1"/> to
3092 another type, and returns a list containing the converted elements.
3093 </summary>
3094 <typeparam name="TOutput">
3095 The target type of the elements of the <see cref="T:System.Collections.Generic.List`1"/>.
3096 </typeparam>
3097 <param name="converter">
3098 A <see cref="T:System.Converter`2"/> delegate that converts each element from
3099 one type to another type.
3100 </param>
3101 <returns>
3102 A <see cref="T:System.Collections.Generic.List`1"/> of the target type containing the converted
3103 elements from the current <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3104 </returns>
3105 <exception cref="T:System.ArgumentNullException">
3106 <paramref name="converter"/> is null.
3107 </exception>
3108 </member>
3109 <member name="M:s3pi.Interfaces.SimpleList`1.CopyTo(`0[])">
3110 <summary>
3111 Copies the entire <see cref="T:s3pi.Interfaces.SimpleList`1"/> to
3112 a compatible one-dimensional array, starting at the beginning of the target array.
3113 </summary>
3114 <param name="array">
3115 The one-dimensional System.Array that is the destination of the elements
3116 copied from <see cref="T:s3pi.Interfaces.SimpleList`1"/>. The <see cref="T:System.Array"/> must have
3117 zero-based indexing.
3118 </param>
3119 <exception cref="T:System.ArgumentNullException">
3120 <paramref name="array"/> is null.
3121 </exception>
3122 <exception cref="T:System.ArgumentException">
3123 The number of elements in the source <see cref="T:s3pi.Interfaces.SimpleList`1"/> is
3124 greater than the number of elements that the destination <paramref name="array"/> can contain.
3125 </exception>
3126 </member>
3127 <member name="M:s3pi.Interfaces.SimpleList`1.CopyTo(`0[],System.Int32)">
3128 <summary>
3129 Copies the entire <see cref="T:s3pi.Interfaces.SimpleList`1"/> to
3130 a compatible one-dimensional array.
3131 </summary>
3132 <param name="array">
3133 The one-dimensional System.Array that is the destination of the elements
3134 copied from <see cref="T:s3pi.Interfaces.SimpleList`1"/>. The <see cref="T:System.Array"/> must have
3135 zero-based indexing.
3136 </param>
3137 <param name="arrayIndex">
3138 The zero-based index in <paramref name="array"/> at which copying begins.
3139 </param>
3140 <exception cref="T:System.ArgumentNullException">
3141 <paramref name="array"/> is null.
3142 </exception>
3143 <exception cref="T:System.ArgumentOutOfRangeException">
3144 <paramref name="arrayIndex"/> is less than 0.
3145 </exception>
3146 <exception cref="T:System.ArgumentException">
3147 <paramref name="arrayIndex"/> is equal to or greater than the length of array.
3148 <br/>-or-<br/>
3149 The number of elements in the source <see cref="T:s3pi.Interfaces.SimpleList`1"/> is greater
3150 than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
3151 </exception>
3152 </member>
3153 <member name="M:s3pi.Interfaces.SimpleList`1.CopyTo(System.Int32,`0[],System.Int32,System.Int32)">
3154 <summary>
3155 Copies a range of elements from the <see cref="T:s3pi.Interfaces.SimpleList`1"/> to
3156 a compatible one-dimensional array, starting at the specified <paramref name="index"/> of the
3157 target <paramref name="array"/>.
3158 </summary>
3159 <param name="index">
3160 The zero-based index in the source <see cref="T:s3pi.Interfaces.SimpleList`1"/> at
3161 which copying begins.
3162 </param>
3163 <param name="array">
3164 The one-dimensional System.Array that is the destination of the elements
3165 copied from <see cref="T:s3pi.Interfaces.SimpleList`1"/>. The <see cref="T:System.Array"/> must have
3166 zero-based indexing.
3167 </param>
3168 <param name="arrayIndex">
3169 The zero-based index in <paramref name="array"/> at which copying begins.
3170 </param>
3171 <param name="count">
3172 The number of elements to copy.
3173 </param>
3174 <exception cref="T:System.ArgumentNullException">
3175 <paramref name="array"/> is null.
3176 </exception>
3177 <exception cref="T:System.ArgumentOutOfRangeException">
3178 <paramref name="index"/> is less than 0.
3179 <br/>-or-<br/>
3180 <paramref name="arrayIndex"/> is less than 0.
3181 <br/>-or-<br/>
3182 <paramref name="count"/> is less than 0.
3183 </exception>
3184 <exception cref="T:System.ArgumentException">
3185 <paramref name="index"/> is equal to or greater than the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.Count
3186 of the source <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3187 <br/>-or-<br/>
3188 <paramref name="arrayIndex"/> is equal to or greater than the length of array.
3189 <br/>-or-<br/>
3190 The number of elements from
3191 <paramref name="index"/> to the end of the source <see cref="T:s3pi.Interfaces.SimpleList`1"/> is greater
3192 than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.
3193 </exception>
3194 </member>
3195 <member name="M:s3pi.Interfaces.SimpleList`1.Contains(`0)">
3196 <summary>
3197 Determines whether an element is in the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3198 </summary>
3199 <param name="item">The object to locate in the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.</param>
3200 <returns>true if item is found in the <see cref="T:s3pi.Interfaces.SimpleList`1"/>; otherwise, false.</returns>
3201 </member>
3202 <member name="M:s3pi.Interfaces.SimpleList`1.Exists(System.Predicate{`0})">
3203 <summary>
3204 Determines whether the <see cref="T:s3pi.Interfaces.SimpleList`1"/> contains elements
3205 that match the conditions defined by the specified predicate.
3206 </summary>
3207 <param name="match">
3208 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
3209 to search for.
3210 </param>
3211 <returns>
3212 true if the <see cref="T:s3pi.Interfaces.SimpleList`1"/> contains one or more elements
3213 that match the conditions defined by the specified predicate; otherwise,
3214 false.
3215 </returns>
3216 <exception cref="T:System.ArgumentNullException">
3217 match is null.
3218 </exception>
3219 </member>
3220 <member name="M:s3pi.Interfaces.SimpleList`1.Find(System.Predicate{`0})">
3221 <summary>
3222 Searches for an element that matches the conditions defined by the specified
3223 predicate, and returns the first occurrence within the entire <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3224 </summary>
3225 <param name="match">
3226 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
3227 to search for.
3228 </param>
3229 <returns>
3230 The first element that matches the conditions defined by the specified predicate,
3231 if found; otherwise, the default value for type <typeparamref name="T"/>.
3232 </returns>
3233 <exception cref="T:System.ArgumentNullException">
3234 <paramref name="match"/> is null.
3235 </exception>
3236 </member>
3237 <member name="M:s3pi.Interfaces.SimpleList`1.FindAll(System.Predicate{`0})">
3238 <summary>
3239 Retrieves all the elements that match the conditions defined by the specified predicate.
3240 </summary>
3241 <param name="match">
3242 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the elements
3243 to search for.
3244 </param>
3245 <returns>
3246 A <see cref="T:System.Collections.Generic.List`1"/> containing all the elements that match
3247 the conditions defined by the specified predicate, if found; otherwise, an
3248 empty <see cref="T:System.Collections.Generic.List`1"/>.
3249 </returns>
3250 <exception cref="T:System.ArgumentNullException">
3251 <paramref name="match"/> is null.
3252 </exception>
3253 </member>
3254 <member name="M:s3pi.Interfaces.SimpleList`1.FindIndex(System.Predicate{`0})">
3255 <summary>
3256 Retrieves all the elements that match the conditions defined by the specified predicate.
3257 Searches for an element that matches the conditions defined by the specified
3258 predicate, and returns the zero-based index of the first occurrence within
3259 the entire <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3260 </summary>
3261 <param name="match">
3262 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
3263 to search for.
3264 </param>
3265 <returns>
3266 The zero-based index of the first occurrence of an element that matches the
3267 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
3268 </returns>
3269 <exception cref="T:System.ArgumentNullException">
3270 <paramref name="match"/> is null.
3271 </exception>
3272 </member>
3273 <member name="M:s3pi.Interfaces.SimpleList`1.FindIndex(System.Int32,System.Predicate{`0})">
3274 <summary>
3275 Searches for an element that matches the conditions defined by the specified
3276 predicate, and returns the zero-based index of the first occurrence within
3277 the range of elements in the <see cref="T:s3pi.Interfaces.SimpleList`1"/> that extends
3278 from the specified index to the last element.
3279 </summary>
3280 <param name="startIndex">
3281 The zero-based starting index of the search.
3282 </param>
3283 <param name="match">
3284 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
3285 to search for.
3286 </param>
3287 <returns>
3288 The zero-based index of the first occurrence of an element that matches the
3289 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
3290 </returns>
3291 <exception cref="T:System.ArgumentNullException">
3292 <paramref name="match"/> is null.
3293 </exception>
3294 <exception cref="T:System.ArgumentOutOfRangeException">
3295 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3296 </exception>
3297 </member>
3298 <member name="M:s3pi.Interfaces.SimpleList`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
3299 <summary>
3300 Searches for an element that matches the conditions defined by the specified
3301 predicate, and returns the zero-based index of the first occurrence within
3302 the range of elements in the <see cref="T:s3pi.Interfaces.SimpleList`1"/> that starts
3303 at the specified index and contains the specified number of elements.
3304 </summary>
3305 <param name="startIndex">
3306 The zero-based starting index of the search.
3307 </param>
3308 <param name="count">
3309 The number of elements in the section to search.
3310 </param>
3311 <param name="match">
3312 The <see cref="T:System.Predicate`1"/> delegate that defines the conditions of the element
3313 to search for.
3314 </param>
3315 <returns>
3316 The zero-based index of the first occurrence of an element that matches the
3317 conditions defined by <paramref name="match"/>, if found; otherwise, –1.
3318 </returns>
3319 <exception cref="T:System.ArgumentNullException">
3320 <paramref name="match"/> is null.
3321 </exception>
3322 <exception cref="T:System.ArgumentOutOfRangeException">
3323 <paramref name="startIndex"/> is outside the range of valid indexes for the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3324 <br/>-or-<br/>
3325 <paramref name="count"/> is less than 0.
3326 <br/>-or-<br/>
3327 <paramref name="startIndex"/> and <paramref name="count"/> do not specify a valid section in the <see cref="T:s3pi.Interfaces.SimpleList`1"/>.
3328 </exception>
3329 </member>
3330 <member name="M:s3pi.Interfaces.SimpleList`1.FindLast(System.Predicate{`0})">
3331