home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1998-12-17 | 10.6 KB | [TEXT/CWIE] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
You can browse this item here: ZObjectArray.cpp
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Thu Dec 17 11:00:58 1998, modified Thu Dec 17 11:00:58 1998, creator 'CWIE', type ASCII, 10185 bytes "ZObjectArray.cpp" , at 0x2849 428 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [CWIE] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 10 5a 4f 62 6a 65 63 | 74 41 72 72 61 79 2e 63 |..ZObjec|tArray.c|
|00000010| 70 70 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |pp......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 27 c9 00 | 00 01 ac b2 9e db 3a b2 |.....'..|......:.|
|00000060| 9e db 3a 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..:.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 8b 38 00 00 |........|.....8..|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000e0| 2a 2a 0d 2a 0d 2a 0d 2a | 09 09 09 4d 61 63 5a 6f |**.*.*.*|...MacZo|
|000000f0| 6f 70 20 2d 20 22 74 68 | 65 20 66 72 61 6d 65 77 |op - "th|e framew|
|00000100| 6f 72 6b 20 66 6f 72 20 | 74 68 65 20 72 65 73 74 |ork for |the rest|
|00000110| 20 6f 66 20 75 73 22 09 | 09 20 0d 2a 0d 2a 0d 2a | of us".|. .*.*.*|
|00000120| 0d 2a 09 09 09 5a 4f 62 | 6a 65 63 74 41 72 72 61 |.*...ZOb|jectArra|
|00000130| 79 2e 63 70 70 09 2d 2d | 20 61 20 63 6f 6e 74 61 |y.cpp.--| a conta|
|00000140| 69 6e 65 72 20 66 6f 72 | 20 6f 62 6a 65 63 74 73 |iner for| objects|
|00000150| 20 28 74 65 6d 70 6c 61 | 74 65 20 63 6c 61 73 73 | (templa|te class|
|00000160| 29 0d 2a 0d 2a 0d 2a 0d | 2a 0d 2a 0d 2a 09 09 09 |).*.*.*.|*.*.*...|
|00000170| a9 20 31 39 39 36 2c 20 | 47 72 61 68 61 6d 20 43 |. 1996, |Graham C|
|00000180| 6f 78 0d 2a 0d 2a 0d 2a | 0d 2a 0d 2a 2a 2a 2a 2a |ox.*.*.*|.*.*****|
|00000190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2f 0d 0d 0d |********|****/...|
|000001f0| 23 69 6e 63 6c 75 64 65 | 09 22 5a 4f 62 6a 65 63 |#include|."ZObjec|
|00000200| 74 41 72 72 61 79 2e 68 | 22 0d 23 69 6e 63 6c 75 |tArray.h|".#inclu|
|00000210| 64 65 09 22 5a 45 72 72 | 6f 72 73 2e 68 22 0d 23 |de."ZErr|ors.h".#|
|00000220| 69 6e 63 6c 75 64 65 09 | 22 5a 44 65 66 69 6e 65 |include.|"ZDefine|
|00000230| 73 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 09 22 5a |s.h".#in|clude."Z|
|00000240| 53 74 72 65 61 6d 2e 68 | 22 0d 0d 2f 2a 2d 2d 2d |Stream.h|"../*---|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2a |--------|------**|
|00000270| 2a 20 20 43 4f 4e 53 54 | 52 55 43 54 4f 52 20 20 |* CONST|RUCTOR |
|00000280| 2a 2a 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |***-----|--------|
|00000290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000002a0| 2d 2d 2d 2d 2a 2f 0d 0d | 74 65 6d 70 6c 61 74 65 |----*/..|template|
|000002b0| 20 3c 63 6c 61 73 73 20 | 54 3e 20 5a 4f 62 6a 65 | <class |T> ZObje|
|000002c0| 63 74 41 72 72 61 79 3c | 54 3e 3a 3a 5a 4f 62 6a |ctArray<|T>::ZObj|
|000002d0| 65 63 74 41 72 72 61 79 | 28 29 0d 09 3a 20 5a 41 |ectArray|()..: ZA|
|000002e0| 72 72 61 79 28 20 73 69 | 7a 65 6f 66 28 54 2a 29 |rray( si|zeof(T*)|
|000002f0| 20 29 0d 7b 0d 09 63 6c | 61 73 73 49 44 20 3d 20 | ).{..cl|assID = |
|00000300| 43 4c 41 53 53 5f 5a 4f | 62 6a 65 63 74 41 72 72 |CLASS_ZO|bjectArr|
|00000310| 61 79 3b 0d 09 0d 09 2f | 2f 20 77 65 20 6d 61 6e |ay;..../|/ we man|
|00000320| 69 70 75 6c 61 74 65 20 | 6f 75 72 20 68 61 6e 64 |ipulate |our hand|
|00000330| 6c 65 20 76 69 61 20 3c | 6f 3e 20 72 61 74 68 65 |le via <|o> rathe|
|00000340| 72 20 74 68 61 6e 20 3c | 61 3e 20 73 6f 20 77 65 |r than <|a> so we|
|00000350| 20 63 61 6e 20 74 61 6b | 65 20 61 64 76 61 6e 74 | can tak|e advant|
|00000360| 61 67 65 0d 09 2f 2f 20 | 6f 66 20 64 69 72 65 63 |age..// |of direc|
|00000370| 74 20 72 65 67 69 73 74 | 65 72 20 63 6f 70 69 65 |t regist|er copie|
|00000380| 73 2c 20 65 74 63 20 66 | 6f 72 20 6d 61 78 69 6d |s, etc f|or maxim|
|00000390| 75 6d 20 70 65 72 66 6f | 72 6d 61 6e 63 65 2c 20 |um perfo|rmance, |
|000003a0| 77 68 69 63 68 20 69 73 | 20 77 68 61 74 20 74 68 |which is| what th|
|000003b0| 69 73 0d 09 2f 2f 20 63 | 6c 61 73 73 20 69 73 20 |is..// c|lass is |
|000003c0| 61 6c 6c 20 61 62 6f 75 | 74 20 28 69 74 20 61 76 |all abou|t (it av|
|000003d0| 6f 69 64 73 20 42 6c 6f | 63 6b 4d 6f 76 65 29 2e |oids Blo|ckMove).|
|000003e0| 0d 09 0d 09 6f 20 3d 20 | 28 54 2a 2a 2a 29 20 61 |....o = |(T***) a|
|000003f0| 3b 0d 7d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |;.}../*-|--------|
|00000400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2a 2a 20 20 47 45 |--------|-*** GE|
|00000420| 54 4f 42 4a 45 43 54 20 | 20 2a 2a 2a 2d 2d 2d 2d |TOBJECT | ***----|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00000450| 0d 2f 2a 09 0d 72 65 74 | 75 72 6e 20 74 68 65 20 |./*..ret|urn the |
|00000460| 6f 62 6a 65 63 74 20 61 | 74 20 3c 69 6e 64 65 78 |object a|t <index|
|00000470| 3e 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |>.------|--------|
|00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 74 |--------|---*/..t|
|000004d0| 65 6d 70 6c 61 74 65 20 | 3c 63 6c 61 73 73 20 54 |emplate |<class T|
|000004e0| 3e 20 54 2a 09 5a 4f 62 | 6a 65 63 74 41 72 72 61 |> T*.ZOb|jectArra|
|000004f0| 79 3c 54 3e 3a 3a 47 65 | 74 4f 62 6a 65 63 74 28 |y<T>::Ge|tObject(|
|00000500| 20 63 6f 6e 73 74 20 6c | 6f 6e 67 20 69 6e 64 65 | const l|ong inde|
|00000510| 78 20 29 0d 7b 0d 09 2f | 2f 20 67 65 74 73 20 74 |x ).{../|/ gets t|
|00000520| 68 65 20 69 74 65 6d 20 | 61 74 20 70 6f 73 69 74 |he item |at posit|
|00000530| 69 6f 6e 20 3c 69 6e 64 | 65 78 3e 20 69 6e 20 74 |ion <ind|ex> in t|
|00000540| 68 65 20 61 72 72 61 79 | 2e 20 49 6e 64 65 78 20 |he array|. Index |
|00000550| 69 73 20 6f 6e 65 2d 62 | 61 73 65 64 2e 0d 09 0d |is one-b|ased....|
|00000560| 09 69 66 20 28 28 69 6e | 64 65 78 20 3c 20 31 29 |.if ((in|dex < 1)|
|00000570| 20 7c 7c 20 28 69 6e 64 | 65 78 20 3e 20 6e 75 6d | || (ind|ex > num|
|00000580| 45 6c 65 6d 65 6e 74 73 | 29 29 0d 09 09 46 61 69 |Elements|))...Fai|
|00000590| 6c 4f 53 45 72 72 28 20 | 6b 49 6e 64 65 78 4f 75 |lOSErr( |kIndexOu|
|000005a0| 74 4f 66 52 61 6e 67 65 | 45 72 72 20 29 3b 0d 09 |tOfRange|Err );..|
|000005b0| 09 0d 09 72 65 74 75 72 | 6e 20 28 28 2a 6f 29 5b |...retur|n ((*o)[|
|000005c0| 69 6e 64 65 78 20 2d 20 | 31 5d 29 3b 0d 7d 0d 0d |index - |1]);.}..|
|000005d0| 0d 2f 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |./*-----|--------|
|000005e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000005f0| 2d 2d 2d 2a 2a 2a 20 20 | 44 45 4c 45 54 45 4f 42 |---*** |DELETEOB|
|00000600| 4a 45 43 54 20 20 2a 2a | 2a 2d 2d 2d 2d 2d 2d 2d |JECT **|*-------|
|00000610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 2f 2a 09 |--------|--*/./*.|
|00000630| 0d 64 65 6c 65 74 65 20 | 74 68 65 20 6f 62 6a 65 |.delete |the obje|
|00000640| 63 74 20 61 74 20 3c 69 | 6e 64 65 78 3e 20 66 72 |ct at <i|ndex> fr|
|00000650| 6f 6d 20 74 68 65 20 61 | 72 72 61 79 2e 20 44 6f |om the a|rray. Do|
|00000660| 65 73 20 6e 6f 74 20 64 | 69 73 70 6f 73 65 20 6f |es not d|ispose o|
|00000670| 66 20 74 68 65 20 6f 62 | 6a 65 63 74 20 69 74 73 |f the ob|ject its|
|00000680| 65 6c 66 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |elf.----|--------|
|00000690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|000006e0| 0d 74 65 6d 70 6c 61 74 | 65 20 3c 63 6c 61 73 73 |.templat|e <class|
|000006f0| 20 54 3e 20 76 6f 69 64 | 09 5a 4f 62 6a 65 63 74 | T> void|.ZObject|
|00000700| 41 72 72 61 79 3c 54 3e | 3a 3a 44 65 6c 65 74 65 |Array<T>|::Delete|
|00000710| 4f 62 6a 65 63 74 28 54 | 2a 20 69 74 65 6d 29 0d |Object(T|* item).|
|00000720| 7b 0d 09 6c 6f 6e 67 09 | 69 6e 64 65 78 3b 0d 09 |{..long.|index;..|
|00000730| 0d 09 69 6e 64 65 78 20 | 3d 20 46 69 6e 64 49 6e |..index |= FindIn|
|00000740| 64 65 78 28 20 69 74 65 | 6d 20 29 3b 0d 09 0d 09 |dex( ite|m );....|
|00000750| 69 66 20 28 69 6e 64 65 | 78 20 3e 20 30 29 0d 09 |if (inde|x > 0)..|
|00000760| 09 44 65 6c 65 74 65 49 | 74 65 6d 20 28 20 69 6e |.DeleteI|tem ( in|
|00000770| 64 65 78 20 29 3b 0d 7d | 0d 0d 0d 2f 2a 2d 2d 2d |dex );.}|.../*---|
|00000780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2a |--------|------**|
|000007a0| 2a 20 20 44 49 53 50 4f | 53 45 41 4c 4c 20 20 2a |* DISPO|SEALL *|
|000007b0| 2a 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |**------|--------|
|000007c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007d0| 2d 2d 2d 2d 2a 2f 0d 2f | 2a 09 0d 64 69 73 70 6f |----*/./|*..dispo|
|000007e0| 73 65 73 20 6f 66 20 61 | 6c 6c 20 6f 66 20 74 68 |ses of a|ll of th|
|000007f0| 65 20 6f 62 6a 65 63 74 | 73 20 69 6e 20 74 68 65 |e object|s in the|
|00000800| 20 61 72 72 61 79 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | array.-|--------|
|00000810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000840| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000860| 2a 2f 0d 0d 74 65 6d 70 | 6c 61 74 65 20 3c 63 6c |*/..temp|late <cl|
|00000870| 61 73 73 20 54 3e 20 76 | 6f 69 64 09 5a 4f 62 6a |ass T> v|oid.ZObj|
|00000880| 65 63 74 41 72 72 61 79 | 3c 54 3e 3a 3a 44 69 73 |ectArray|<T>::Dis|
|00000890| 70 6f 73 65 41 6c 6c 28 | 29 0d 7b 0d 09 2f 2f 20 |poseAll(|).{..// |
|000008a0| 63 61 6c 6c 73 20 46 6f | 72 67 65 74 4f 62 6a 65 |calls Fo|rgetObje|
|000008b0| 63 74 20 66 6f 72 20 65 | 76 65 72 79 20 6f 62 6a |ct for e|very obj|
|000008c0| 65 63 74 20 69 6e 20 74 | 68 65 20 61 72 72 61 79 |ect in t|he array|
|000008d0| 2c 20 74 68 65 6e 20 66 | 6f 72 63 65 73 20 74 68 |, then f|orces th|
|000008e0| 65 20 61 72 72 61 79 20 | 65 6d 70 74 79 2e 20 53 |e array |empty. S|
|000008f0| 69 6e 63 65 0d 09 2f 2f | 20 69 74 20 69 73 20 70 |ince..//| it is p|
|00000900| 6f 73 73 69 62 6c 65 20 | 66 6f 72 20 46 6f 72 67 |ossible |for Forg|
|00000910| 65 74 4f 62 6a 65 63 74 | 20 74 6f 20 6d 6f 64 69 |etObject| to modi|
|00000920| 66 79 20 74 68 69 73 20 | 61 72 72 61 79 2c 20 77 |fy this |array, w|
|00000930| 65 20 69 74 65 72 61 74 | 65 20 69 6e 20 72 65 76 |e iterat|e in rev|
|00000940| 65 72 73 65 20 6f 72 64 | 65 72 2e 0d 09 0d 09 6c |erse ord|er.....l|
|00000950| 6f 6e 67 09 69 20 3d 20 | 6e 75 6d 45 6c 65 6d 65 |ong.i = |numEleme|
|00000960| 6e 74 73 3b 0d 09 54 2a | 09 09 70 3b 0d 09 0d 09 |nts;..T*|..p;....|
|00000970| 77 68 69 6c 65 28 69 2d | 2d 29 0d 09 7b 0d 09 09 |while(i-|-)..{...|
|00000980| 70 20 3d 20 28 2a 6f 29 | 5b 69 5d 3b 0d 09 09 0d |p = (*o)|[i];....|
|00000990| 09 09 69 66 20 28 70 29 | 0d 09 09 09 46 6f 72 67 |..if (p)|....Forg|
|000009a0| 65 74 4f 62 6a 65 63 74 | 28 70 29 3b 0d 09 7d 0d |etObject|(p);..}.|
|000009b0| 0d 09 53 65 74 48 61 6e | 64 6c 65 53 69 7a 65 28 |..SetHan|dleSize(|
|000009c0| 20 61 2c 20 30 20 29 3b | 0d 09 6e 75 6d 45 6c 65 | a, 0 );|..numEle|
|000009d0| 6d 65 6e 74 73 20 3d 20 | 30 3b 0d 09 70 68 79 73 |ments = |0;..phys|
|000009e0| 69 63 61 6c 42 6c 6b 73 | 20 3d 20 30 3b 0d 7d 0d |icalBlks| = 0;.}.|
|000009f0| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00000a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a10| 2d 2d 2d 2d 2d 2d 2a 2a | 2a 20 20 44 4f 46 4f 52 |------**|* DOFOR|
|00000a20| 45 41 43 48 20 20 2a 2a | 2a 2d 2d 2d 2d 2d 2d 2d |EACH **|*-------|
|00000a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 2f 2a |--------|---*/./*|
|00000a50| 09 0d 63 61 6c 6c 73 20 | 74 68 65 20 67 72 6f 76 |..calls |the grov|
|00000a60| 65 6c 6c 69 6e 67 20 66 | 75 6e 63 74 69 6f 6e 20 |elling f|unction |
|00000a70| 66 6f 72 20 65 76 65 72 | 79 20 6f 62 6a 65 63 74 |for ever|y object|
|00000a80| 20 69 6e 20 74 68 65 20 | 61 72 72 61 79 0d 2d 2d | in the |array.--|
|00000a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ac0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ad0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ae0| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 0d 74 65 6d 70 6c |-------*|/..templ|
|00000af0| 61 74 65 20 3c 63 6c 61 | 73 73 20 54 3e 20 76 6f |ate <cla|ss T> vo|
|00000b00| 69 64 09 5a 4f 62 6a 65 | 63 74 41 72 72 61 79 3c |id.ZObje|ctArray<|
|00000b10| 54 3e 3a 3a 44 6f 46 6f | 72 45 61 63 68 28 20 49 |T>::DoFo|rEach( I|
|00000b20| 74 65 72 61 74 6f 72 50 | 72 6f 63 50 74 72 20 61 |teratorP|rocPtr a|
|00000b30| 50 72 6f 63 2c 20 63 6f | 6e 73 74 20 6c 6f 6e 67 |Proc, co|nst long|
|00000b40| 20 72 65 66 20 29 0d 7b | 0d 09 2f 2f 20 63 61 6c | ref ).{|..// cal|
|00000b50| 6c 73 20 74 68 65 20 67 | 72 6f 76 65 6c 6c 69 6e |ls the g|rovellin|
|00000b60| 67 20 66 75 6e 63 74 69 | 6f 6e 20 66 6f 72 20 65 |g functi|on for e|
|00000b70| 76 65 72 79 20 6f 62 6a | 65 63 74 20 69 6e 20 74 |very obj|ect in t|
|00000b80| 68 65 20 61 72 72 61 79 | 2e 0d 09 0d 09 69 66 20 |he array|.....if |
|00000b90| 28 61 50 72 6f 63 20 26 | 26 20 28 6e 75 6d 45 6c |(aProc &|& (numEl|
|00000ba0| 65 6d 65 6e 74 73 20 3e | 20 30 29 29 0d 09 7b 0d |ements >| 0))..{.|
|00000bb0| 09 09 6c 6f 6e 67 09 69 | 20 3d 20 6e 75 6d 45 6c |..long.i| = numEl|
|00000bc0| 65 6d 65 6e 74 73 3b 0d | 09 09 0d 09 09 77 68 69 |ements;.|.....whi|
|00000bd0| 6c 65 28 69 29 0d 09 09 | 09 28 2a 61 50 72 6f 63 |le(i)...|.(*aProc|
|00000be0| 29 28 28 2a 6f 29 5b 2d | 2d 69 5d 20 2c 20 72 65 |)((*o)[-|-i] , re|
|00000bf0| 66 29 3b 0d 09 7d 0d 7d | 0d 0d 0d 2f 2a 2d 2d 2d |f);..}.}|.../*---|
|00000c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c20| 2a 2a 2a 20 20 43 4f 4e | 54 41 49 4e 53 20 20 2a |*** CON|TAINS *|
|00000c30| 2a 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |**------|--------|
|00000c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c50| 2d 2d 2d 2d 2a 2f 0d 2f | 2a 09 0d 72 65 74 75 72 |----*/./|*..retur|
|00000c60| 6e 73 20 54 52 55 45 20 | 69 66 20 74 68 65 20 6f |ns TRUE |if the o|
|00000c70| 62 6a 65 63 74 20 63 61 | 6e 20 62 65 20 66 6f 75 |bject ca|n be fou|
|00000c80| 6e 64 20 69 6e 20 74 68 | 65 20 61 72 72 61 79 0d |nd in th|e array.|
|00000c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 74 65 6d |--------|-*/..tem|
|00000cf0| 70 6c 61 74 65 20 3c 63 | 6c 61 73 73 20 54 3e 20 |plate <c|lass T> |
|00000d00| 42 6f 6f 6c 65 61 6e 09 | 5a 4f 62 6a 65 63 74 41 |Boolean.|ZObjectA|
|00000d10| 72 72 61 79 3c 54 3e 3a | 3a 43 6f 6e 74 61 69 6e |rray<T>:|:Contain|
|00000d20| 73 28 54 2a 20 69 74 65 | 6d 29 0d 7b 0d 09 72 65 |s(T* ite|m).{..re|
|00000d30| 74 75 72 6e 20 28 46 69 | 6e 64 49 6e 64 65 78 28 |turn (Fi|ndIndex(|
|00000d40| 20 69 74 65 6d 20 29 20 | 3e 20 30 29 3b 0d 7d 0d | item ) |> 0);.}.|
|00000d50| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00000d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d70| 2d 2d 2d 2d 2a 2a 2a 20 | 20 53 45 54 41 52 52 41 |----*** | SETARRA|
|00000d80| 59 49 54 45 4d 20 20 2a | 2a 2a 2d 2d 2d 2d 2d 2d |YITEM *|**------|
|00000d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 2f 2a |--------|---*/./*|
|00000db0| 09 0d 6f 76 65 72 72 69 | 64 65 73 20 74 68 65 20 |..overri|des the |
|00000dc0| 69 6e 68 65 72 69 74 65 | 64 20 6d 65 74 68 6f 64 |inherite|d method|
|00000dd0| 20 74 6f 20 73 74 6f 72 | 65 20 6f 62 6a 65 63 74 | to stor|e object|
|00000de0| 73 20 69 6e 20 74 68 65 | 20 6c 69 73 74 20 61 76 |s in the| list av|
|00000df0| 6f 69 64 69 6e 67 20 42 | 6c 6f 63 6b 4d 6f 76 65 |oiding B|lockMove|
|00000e00| 28 29 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |()..----|--------|
|00000e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00000e60| 0d 74 65 6d 70 6c 61 74 | 65 20 3c 63 6c 61 73 73 |.templat|e <class|
|00000e70| 20 54 3e 20 76 6f 69 64 | 09 5a 4f 62 6a 65 63 74 | T> void|.ZObject|
|00000e80| 41 72 72 61 79 3c 54 3e | 3a 3a 53 65 74 41 72 72 |Array<T>|::SetArr|
|00000e90| 61 79 49 74 65 6d 28 20 | 76 6f 69 64 2a 20 69 74 |ayItem( |void* it|
|00000ea0| 65 6d 2c 20 63 6f 6e 73 | 74 20 6c 6f 6e 67 20 69 |em, cons|t long i|
|00000eb0| 6e 64 65 78 20 29 0d 7b | 0d 09 69 66 20 28 28 69 |ndex ).{|..if ((i|
|00000ec0| 6e 64 65 78 20 3c 20 31 | 29 20 7c 7c 20 28 69 6e |ndex < 1|) || (in|
|00000ed0| 64 65 78 20 3e 20 6e 75 | 6d 45 6c 65 6d 65 6e 74 |dex > nu|mElement|
|00000ee0| 73 29 29 0d 09 09 46 61 | 69 6c 4f 53 45 72 72 28 |s))...Fa|ilOSErr(|
|00000ef0| 20 6b 49 6e 64 65 78 4f | 75 74 4f 66 52 61 6e 67 | kIndexO|utOfRang|
|00000f00| 65 45 72 72 20 29 3b 0d | 09 09 0d 09 28 2a 6f 29 |eErr );.|....(*o)|
|00000f10| 5b 69 6e 64 65 78 20 2d | 20 31 5d 20 3d 20 28 54 |[index -| 1] = (T|
|00000f20| 2a 29 20 69 74 65 6d 3b | 0d 7d 0d 0d 0d 2f 2a 2d |*) item;|.}.../*-|
|00000f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00000f50| 2a 2a 20 20 47 45 54 41 | 52 52 41 59 49 54 45 4d |** GETA|RRAYITEM|
|00000f60| 20 20 2a 2a 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***---|--------|
|00000f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f80| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 2f 2a 09 0d 6f 76 65 |------*/|./*..ove|
|00000f90| 72 72 69 64 65 73 20 74 | 68 65 20 69 6e 68 65 72 |rrides t|he inher|
|00000fa0| 69 74 65 64 20 6d 65 74 | 68 6f 64 20 74 6f 20 6f |ited met|hod to o|
|00000fb0| 62 74 61 69 6e 20 6f 62 | 6a 65 63 74 73 20 69 6e |btain ob|jects in|
|00000fc0| 20 74 68 65 20 6c 69 73 | 74 20 61 76 6f 69 64 69 | the lis|t avoidi|
|00000fd0| 6e 67 20 42 6c 6f 63 6b | 4d 6f 76 65 28 29 2e 0d |ng Block|Move()..|
|00000fe0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ff0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001000| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 74 65 6d |--------|-*/..tem|
|00001040| 70 6c 61 74 65 20 3c 63 | 6c 61 73 73 20 54 3e 20 |plate <c|lass T> |
|00001050| 76 6f 69 64 09 5a 4f 62 | 6a 65 63 74 41 72 72 61 |void.ZOb|jectArra|
|00001060| 79 3c 54 3e 3a 3a 47 65 | 74 41 72 72 61 79 49 74 |y<T>::Ge|tArrayIt|
|00001070| 65 6d 28 20 76 6f 69 64 | 2a 20 69 74 65 6d 2c 20 |em( void|* item, |
|00001080| 63 6f 6e 73 74 20 6c 6f | 6e 67 20 69 6e 64 65 78 |const lo|ng index|
|00001090| 20 29 0d 7b 0d 09 69 66 | 20 28 28 69 6e 64 65 78 | ).{..if| ((index|
|000010a0| 20 3c 20 31 29 20 7c 7c | 20 28 69 6e 64 65 78 20 | < 1) ||| (index |
|000010b0| 3e 20 6e 75 6d 45 6c 65 | 6d 65 6e 74 73 29 29 0d |> numEle|ments)).|
|000010c0| 09 09 46 61 69 6c 4f 53 | 45 72 72 28 20 6b 49 6e |..FailOS|Err( kIn|
|000010d0| 64 65 78 4f 75 74 4f 66 | 52 61 6e 67 65 45 72 72 |dexOutOf|RangeErr|
|000010e0| 20 29 3b 0d 09 09 0d 09 | 2a 28 54 2a 2a 29 69 74 | );.....|*(T**)it|
|000010f0| 65 6d 20 3d 20 28 28 2a | 6f 29 5b 69 6e 64 65 78 |em = ((*|o)[index|
|00001100| 20 2d 20 31 5d 29 3b 0d | 7d 0d 0d 0d 2f 2a 2d 2d | - 1]);.|}.../*--|
|00001110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2a 2a 20 20 |--------|---*** |
|00001130| 43 4f 4e 43 41 54 45 4e | 41 54 45 41 52 52 41 59 |CONCATEN|ATEARRAY|
|00001140| 20 20 2a 2a 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***---|--------|
|00001150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001160| 2d 2d 2d 2d 2d 2a 2f 0d | 2f 2a 09 0d 6a 6f 69 6e |-----*/.|/*..join|
|00001170| 73 20 61 6e 6f 74 68 65 | 72 20 73 69 6d 69 6c 61 |s anothe|r simila|
|00001180| 72 20 61 72 72 61 79 20 | 74 6f 20 74 68 65 20 65 |r array |to the e|
|00001190| 6e 64 20 6f 66 20 74 68 | 69 73 20 6f 6e 65 2e 20 |nd of th|is one. |
|000011a0| 54 68 65 20 73 6f 75 72 | 63 65 20 61 72 72 61 79 |The sour|ce array|
|000011b0| 20 6d 75 73 74 20 62 65 | 20 6f 66 20 74 68 65 20 | must be| of the |
|000011c0| 73 61 6d 65 0d 74 79 70 | 65 20 61 6e 64 20 69 73 |same.typ|e and is|
|000011d0| 20 75 61 66 66 65 63 74 | 65 64 20 62 79 20 74 68 | uaffect|ed by th|
|000011e0| 65 20 63 6f 70 79 2e 20 | 53 69 6e 63 65 20 74 68 |e copy. |Since th|
|000011f0| 65 20 61 72 72 61 79 73 | 20 63 6f 6e 74 61 69 6e |e arrays| contain|
|00001200| 20 6f 62 6a 65 63 74 20 | 72 65 66 73 2c 20 6e 6f | object |refs, no|
|00001210| 74 65 20 74 68 61 74 20 | 62 6f 74 68 0d 61 72 72 |te that |both.arr|
|00001220| 61 79 73 20 77 69 6c 6c | 20 68 61 76 65 20 74 68 |ays will| have th|
|00001230| 65 20 73 61 6d 65 20 6f | 62 6a 65 63 74 73 20 69 |e same o|bjects i|
|00001240| 6e 20 74 68 65 6d 20 61 | 66 74 65 72 20 74 68 69 |n them a|fter thi|
|00001250| 73 2c 20 73 6f 20 74 61 | 6b 65 20 63 61 72 65 2e |s, so ta|ke care.|
|00001260| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00001270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001290| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 74 65 |--------|--*/..te|
|000012c0| 6d 70 6c 61 74 65 20 3c | 63 6c 61 73 73 20 54 3e |mplate <|class T>|
|000012d0| 20 76 6f 69 64 09 5a 4f | 62 6a 65 63 74 41 72 72 | void.ZO|bjectArr|
|000012e0| 61 79 3c 54 3e 3a 3a 43 | 6f 6e 63 61 74 65 6e 61 |ay<T>::C|oncatena|
|000012f0| 74 65 41 72 72 61 79 28 | 20 5a 4f 62 6a 65 63 74 |teArray(| ZObject|
|00001300| 41 72 72 61 79 3c 54 3e | 2a 20 61 6e 41 72 72 61 |Array<T>|* anArra|
|00001310| 79 20 29 0d 7b 0d 09 5a | 41 72 72 61 79 3a 3a 43 |y ).{..Z|Array::C|
|00001320| 6f 6e 63 61 74 65 6e 61 | 74 65 41 72 72 61 79 28 |oncatena|teArray(|
|00001330| 28 5a 41 72 72 61 79 2a | 29 20 61 6e 41 72 72 61 |(ZArray*|) anArra|
|00001340| 79 20 29 3b 0d 7d 0d 0d | 0d 0d 0d 2f 2a 2d 2d 2d |y );.}..|.../*---|
|00001350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00001370| 2a 2a 20 20 46 49 4e 44 | 49 4e 44 45 58 20 20 2a |** FIND|INDEX *|
|00001380| 2a 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |**------|--------|
|00001390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013a0| 2d 2d 2d 2d 2a 2f 0d 2f | 2a 09 0d 72 65 74 75 72 |----*/./|*..retur|
|000013b0| 6e 20 74 68 65 20 69 6e | 64 65 78 20 6f 66 20 74 |n the in|dex of t|
|000013c0| 68 65 20 6f 62 6a 65 63 | 74 2c 20 6f 72 20 7a 65 |he objec|t, or ze|
|000013d0| 72 6f 20 69 66 20 6e 6f | 74 20 66 6f 75 6e 64 2e |ro if no|t found.|
|000013e0| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|000013f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 74 65 |--------|--*/..te|
|00001440| 6d 70 6c 61 74 65 20 3c | 63 6c 61 73 73 20 54 3e |mplate <|class T>|
|00001450| 20 6c 6f 6e 67 09 5a 4f | 62 6a 65 63 74 41 72 72 | long.ZO|bjectArr|
|00001460| 61 79 3c 54 3e 3a 3a 46 | 69 6e 64 49 6e 64 65 78 |ay<T>::F|indIndex|
|00001470| 28 54 2a 20 69 74 65 6d | 29 0d 7b 0d 09 69 66 20 |(T* item|).{..if |
|00001480| 28 20 6e 75 6d 45 6c 65 | 6d 65 6e 74 73 20 3c 20 |( numEle|ments < |
|00001490| 31 20 29 0d 09 09 72 65 | 74 75 72 6e 20 30 3b 0d |1 )...re|turn 0;.|
|000014a0| 09 09 0d 09 6c 6f 6e 67 | 09 09 69 20 3d 20 30 3b |....long|..i = 0;|
|000014b0| 0d 09 42 6f 6f 6c 65 61 | 6e 09 09 66 6f 75 6e 64 |..Boolea|n..found|
|000014c0| 20 3d 20 46 41 4c 53 45 | 3b 0d 09 0d 09 64 6f 0d | = FALSE|;....do.|
|000014d0| 09 7b 0d 09 09 69 66 20 | 28 28 2a 6f 29 5b 69 5d |.{...if |((*o)[i]|
|000014e0| 20 3d 3d 20 69 74 65 6d | 29 0d 09 09 7b 0d 09 09 | == item|)...{...|
|000014f0| 09 66 6f 75 6e 64 20 3d | 20 54 52 55 45 3b 0d 09 |.found =| TRUE;..|
|00001500| 09 09 62 72 65 61 6b 3b | 0d 09 09 7d 09 0d 09 7d |..break;|...}...}|
|00001510| 0d 09 77 68 69 6c 65 28 | 20 2b 2b 69 20 3c 20 6e |..while(| ++i < n|
|00001520| 75 6d 45 6c 65 6d 65 6e | 74 73 20 29 3b 0d 0d 09 |umElemen|ts );...|
|00001530| 72 65 74 75 72 6e 20 28 | 20 66 6f 75 6e 64 3f 20 |return (| found? |
|00001540| 69 20 2b 20 31 20 3a 20 | 30 20 29 3b 0d 7d 0d 0d |i + 1 : |0 );.}..|
|00001550| 0d 2f 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |./*-----|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001570| 2d 2d 2a 2a 2a 20 20 49 | 4e 53 45 52 54 53 4f 52 |--*** I|NSERTSOR|
|00001580| 54 45 44 49 54 45 4d 20 | 20 2a 2a 2a 2d 2d 2d 2d |TEDITEM | ***----|
|00001590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000015a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 2f 2a 09 |--------|--*/./*.|
|000015b0| 0d 69 6e 73 65 72 74 73 | 20 69 6e 74 6f 20 74 68 |.inserts| into th|
|000015c0| 65 20 61 72 72 61 79 20 | 61 74 20 74 68 65 20 63 |e array |at the c|
|000015d0| 6f 72 72 65 63 74 20 70 | 6c 61 63 65 20 61 63 63 |orrect p|lace acc|
|000015e0| 6f 72 64 69 6e 67 20 74 | 6f 20 73 6f 72 74 20 6f |ording t|o sort o|
|000015f0| 72 64 65 72 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |rder.---|--------|
|00001600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00001650| 0d 0d 74 65 6d 70 6c 61 | 74 65 20 3c 63 6c 61 73 |..templa|te <clas|
|00001660| 73 20 54 3e 20 6c 6f 6e | 67 09 5a 4f 62 6a 65 63 |s T> lon|g.ZObjec|
|00001670| 74 41 72 72 61 79 3c 54 | 3e 3a 3a 49 6e 73 65 72 |tArray<T|>::Inser|
|00001680| 74 53 6f 72 74 65 64 49 | 74 65 6d 28 20 76 6f 69 |tSortedI|tem( voi|
|00001690| 64 2a 20 69 74 65 6d 2c | 20 53 6f 72 74 43 6d 70 |d* item,| SortCmp|
|000016a0| 50 72 6f 63 50 74 72 20 | 63 6f 6d 70 61 72 65 50 |ProcPtr |compareP|
|000016b0| 72 6f 63 2c 20 63 6f 6e | 73 74 20 6c 6f 6e 67 20 |roc, con|st long |
|000016c0| 72 65 66 20 29 0d 7b 0d | 09 54 2a 09 09 69 74 65 |ref ).{.|.T*..ite|
|000016d0| 6d 42 3b 0d 09 73 68 6f | 72 74 09 72 65 6c 3b 0d |mB;..sho|rt.rel;.|
|000016e0| 09 6c 6f 6e 67 09 70 6f | 73 20 3d 20 42 46 69 6e |.long.po|s = BFin|
|000016f0| 64 49 6e 64 65 78 28 20 | 26 69 74 65 6d 2c 20 63 |dIndex( |&item, c|
|00001700| 6f 6d 70 61 72 65 50 72 | 6f 63 2c 20 72 65 66 20 |omparePr|oc, ref |
|00001710| 29 3b 0d 09 0d 09 2f 2f | 20 3c 70 6f 73 3e 20 72 |);....//| <pos> r|
|00001720| 65 70 72 65 73 65 6e 74 | 73 20 74 68 65 20 4e 45 |epresent|s the NE|
|00001730| 41 52 45 53 54 20 69 74 | 65 6d 2c 20 62 75 74 20 |AREST it|em, but |
|00001740| 77 65 20 64 6f 6e 27 74 | 20 6b 6e 6f 77 20 69 66 |we don't| know if|
|00001750| 20 77 65 20 6e 65 65 64 | 20 74 6f 20 69 6e 73 65 | we need| to inse|
|00001760| 72 74 0d 09 2f 2f 20 62 | 65 66 6f 72 65 20 6f 72 |rt..// b|efore or|
|00001770| 20 61 66 74 65 72 20 74 | 68 69 73 20 69 74 65 6d | after t|his item|
|00001780| 2c 20 73 6f 20 77 65 20 | 6e 65 65 64 20 74 6f 20 |, so we |need to |
|00001790| 64 6f 20 6f 6e 65 20 6d | 6f 72 65 20 63 6f 6d 70 |do one m|ore comp|
|000017a0| 61 72 65 0d 09 0d 09 69 | 66 20 28 20 70 6f 73 20 |are....i|f ( pos |
|000017b0| 3e 20 30 20 29 0d 09 7b | 0d 09 09 47 65 74 41 72 |> 0 )..{|...GetAr|
|000017c0| 72 61 79 49 74 65 6d 28 | 20 26 69 74 65 6d 42 2c |rayItem(| &itemB,|
|000017d0| 20 70 6f 73 20 29 3b 0d | 09 09 0d 09 09 72 65 6c | pos );.|.....rel|
|000017e0| 20 3d 20 28 2a 63 6f 6d | 70 61 72 65 50 72 6f 63 | = (*com|pareProc|
|000017f0| 29 28 20 26 69 74 65 6d | 2c 20 26 69 74 65 6d 42 |)( &item|, &itemB|
|00001800| 2c 20 72 65 66 20 29 3b | 0d 09 09 0d 09 09 69 66 |, ref );|......if|
|00001810| 20 28 20 72 65 6c 20 3e | 20 30 20 29 0d 09 09 09 | ( rel >| 0 )....|
|00001820| 70 6f 73 2b 2b 3b 0d 09 | 7d 0d 09 09 0d 09 69 66 |pos++;..|}.....if|
|00001830| 20 28 28 20 70 6f 73 20 | 3e 20 6e 75 6d 45 6c 65 | (( pos |> numEle|
|00001840| 6d 65 6e 74 73 20 29 20 | 7c 7c 20 28 20 70 6f 73 |ments ) ||| ( pos|
|00001850| 20 3d 3d 20 30 20 29 29 | 0d 09 7b 0d 09 09 41 70 | == 0 ))|..{...Ap|
|00001860| 70 65 6e 64 49 74 65 6d | 28 20 69 74 65 6d 20 29 |pendItem|( item )|
|00001870| 3b 0d 09 09 70 6f 73 20 | 3d 20 6e 75 6d 45 6c 65 |;...pos |= numEle|
|00001880| 6d 65 6e 74 73 3b 0d 09 | 7d 0d 09 65 6c 73 65 0d |ments;..|}..else.|
|00001890| 09 09 49 6e 73 65 72 74 | 49 74 65 6d 28 20 69 74 |..Insert|Item( it|
|000018a0| 65 6d 2c 20 70 6f 73 20 | 29 3b 0d 09 09 0d 09 72 |em, pos |);.....r|
|000018b0| 65 74 75 72 6e 20 70 6f | 73 3b 0d 7d 0d 0d 0d 2f |eturn po|s;.}.../|
|000018c0| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|000018d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018e0| 2d 2d 2d 2d 2d 2d 2a 2a | 2a 20 20 53 57 41 50 20 |------**|* SWAP |
|000018f0| 20 2a 2a 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***----|--------|
|00001900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001910| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 2f 2a 09 0d 73 |--------|*/./*..s|
|00001920| 77 61 70 73 20 74 68 65 | 20 69 74 65 6d 73 20 61 |waps the| items a|
|00001930| 74 20 69 6e 64 69 63 65 | 73 20 61 20 61 6e 64 20 |t indice|s a and |
|00001940| 62 2d 20 63 61 6e 20 62 | 65 20 75 73 65 64 20 77 |b- can b|e used w|
|00001950| 69 74 68 69 6e 20 73 6f | 72 74 73 2c 20 65 74 63 |ithin so|rts, etc|
|00001960| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00001970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000019b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 74 65 |--------|--*/..te|
|000019c0| 6d 70 6c 61 74 65 20 3c | 63 6c 61 73 73 20 54 3e |mplate <|class T>|
|000019d0| 20 76 6f 69 64 09 5a 4f | 62 6a 65 63 74 41 72 72 | void.ZO|bjectArr|
|000019e0| 61 79 3c 54 3e 3a 3a 53 | 77 61 70 28 20 63 6f 6e |ay<T>::S|wap( con|
|000019f0| 73 74 20 6c 6f 6e 67 20 | 69 74 65 6d 61 2c 20 63 |st long |itema, c|
|00001a00| 6f 6e 73 74 20 6c 6f 6e | 67 20 69 74 65 6d 62 20 |onst lon|g itemb |
|00001a10| 29 0d 7b 0d 09 72 65 67 | 69 73 74 65 72 20 54 2a |).{..reg|ister T*|
|00001a20| 20 74 65 6d 70 3b 0d 09 | 0d 09 69 66 20 28 28 69 | temp;..|..if ((i|
|00001a30| 74 65 6d 61 20 3c 20 31 | 29 20 7c 7c 0d 09 09 28 |tema < 1|) ||...(|
|00001a40| 69 74 65 6d 61 20 3e 20 | 6e 75 6d 45 6c 65 6d 65 |itema > |numEleme|
|00001a50| 6e 74 73 29 20 7c 7c 0d | 09 09 28 69 74 65 6d 62 |nts) ||.|..(itemb|
|00001a60| 20 3c 20 31 29 20 7c 7c | 0d 09 09 28 69 74 65 6d | < 1) |||...(item|
|00001a70| 62 20 3e 20 6e 75 6d 45 | 6c 65 6d 65 6e 74 73 29 |b > numE|lements)|
|00001a80| 29 0d 09 09 46 61 69 6c | 4f 53 45 72 72 28 20 6b |)...Fail|OSErr( k|
|00001a90| 49 6e 64 65 78 4f 75 74 | 4f 66 52 61 6e 67 65 45 |IndexOut|OfRangeE|
|00001aa0| 72 72 20 29 3b 0d 09 09 | 0d 09 74 65 6d 70 20 3d |rr );...|..temp =|
|00001ab0| 20 47 65 74 4f 62 6a 65 | 63 74 28 20 69 74 65 6d | GetObje|ct( item|
|00001ac0| 61 20 29 3b 0d 09 0d 09 | 28 2a 6f 29 5b 69 74 65 |a );....|(*o)[ite|
|00001ad0| 6d 61 20 2d 20 31 5d 20 | 3d 20 28 2a 6f 29 5b 69 |ma - 1] |= (*o)[i|
|00001ae0| 74 65 6d 62 20 2d 20 31 | 5d 3b 0d 09 28 2a 6f 29 |temb - 1|];..(*o)|
|00001af0| 5b 69 74 65 6d 62 20 2d | 20 31 5d 20 3d 20 74 65 |[itemb -| 1] = te|
|00001b00| 6d 70 3b 0d 7d 0d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d |mp;.}...|/*------|
|00001b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2a 2a |--------|-----***|
|00001b30| 20 20 4d 4f 56 45 49 54 | 45 4d 20 20 2a 2a 2a 2d | MOVEIT|EM ***-|
|00001b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b60| 2d 2a 2f 0d 2f 2a 09 0d | 6d 6f 76 65 73 20 74 68 |-*/./*..|moves th|
|00001b70| 65 20 6f 62 6a 65 63 74 | 20 61 74 20 69 6e 64 65 |e object| at inde|
|00001b80| 78 20 3c 63 75 72 49 6e | 64 65 78 3e 20 74 6f 20 |x <curIn|dex> to |
|00001b90| 74 68 65 20 69 6e 64 65 | 78 20 3c 6e 65 77 49 6e |the inde|x <newIn|
|00001ba0| 64 65 78 3e 2c 20 64 69 | 73 70 6c 61 63 69 6e 67 |dex>, di|splacing|
|00001bb0| 20 6f 74 68 65 72 20 69 | 74 65 6d 73 0d 61 73 20 | other i|tems.as |
|00001bc0| 6e 65 65 64 65 64 2e 20 | 43 6f 6d 70 6c 65 74 65 |needed. |Complete|
|00001bd0| 6c 79 20 6f 76 65 72 72 | 69 64 65 73 20 74 68 65 |ly overr|ides the|
|00001be0| 20 5a 41 72 72 61 79 20 | 6d 65 74 68 6f 64 20 66 | ZArray |method f|
|00001bf0| 6f 72 20 62 65 74 74 65 | 72 20 65 66 66 69 63 69 |or bette|r effici|
|00001c00| 65 6e 63 79 20 61 6e 64 | 20 74 6f 20 65 6c 69 6d |ency and| to elim|
|00001c10| 69 6e 61 74 65 0d 22 70 | 6f 69 6e 74 65 72 20 74 |inate."p|ointer t|
|00001c20| 6f 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 6f 62 6a |o pointe|r to obj|
|00001c30| 65 63 74 22 20 64 65 72 | 65 66 65 72 65 6e 63 69 |ect" der|eferenci|
|00001c40| 6e 67 20 64 69 66 66 69 | 63 75 6c 74 69 65 73 2e |ng diffi|culties.|
|00001c50| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00001c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ca0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 74 65 |--------|--*/..te|
|00001cb0| 6d 70 6c 61 74 65 20 3c | 63 6c 61 73 73 20 54 3e |mplate <|class T>|
|00001cc0| 20 76 6f 69 64 09 5a 4f | 62 6a 65 63 74 41 72 72 | void.ZO|bjectArr|
|00001cd0| 61 79 3c 54 3e 3a 3a 4d | 6f 76 65 49 74 65 6d 28 |ay<T>::M|oveItem(|
|00001ce0| 20 63 6f 6e 73 74 20 6c | 6f 6e 67 20 63 75 72 49 | const l|ong curI|
|00001cf0| 6e 64 65 78 2c 20 63 6f | 6e 73 74 20 6c 6f 6e 67 |ndex, co|nst long|
|00001d00| 20 6e 65 77 49 6e 64 65 | 78 20 29 0d 7b 0d 09 72 | newInde|x ).{..r|
|00001d10| 65 67 69 73 74 65 72 20 | 54 2a 09 74 65 6d 70 3b |egister |T*.temp;|
|00001d20| 0d 09 0d 09 69 66 20 28 | 28 63 75 72 49 6e 64 65 |....if (|(curInde|
|00001d30| 78 20 3c 20 31 29 20 09 | 09 09 09 7c 7c 0d 09 09 |x < 1) .|...||...|
|00001d40| 28 63 75 72 49 6e 64 65 | 78 20 3e 20 6e 75 6d 45 |(curInde|x > numE|
|00001d50| 6c 65 6d 65 6e 74 73 29 | 20 09 7c 7c 0d 09 09 28 |lements)| .||...(|
|00001d60| 6e 65 77 49 6e 64 65 78 | 20 3c 20 31 29 20 09 09 |newIndex| < 1) ..|
|00001d70| 09 09 7c 7c 0d 09 09 28 | 6e 65 77 49 6e 64 65 78 |..||...(|newIndex|
|00001d80| 20 3e 20 6e 75 6d 45 6c | 65 6d 65 6e 74 73 29 29 | > numEl|ements))|
|00001d90| 0d 09 09 46 61 69 6c 4f | 53 45 72 72 28 20 6b 49 |...FailO|SErr( kI|
|00001da0| 6e 64 65 78 4f 75 74 4f | 66 52 61 6e 67 65 45 72 |ndexOutO|fRangeEr|
|00001db0| 72 20 29 3b 0d 09 0d 09 | 2f 2f 20 64 6f 6e 27 74 |r );....|// don't|
|00001dc0| 20 64 6f 20 61 6e 79 74 | 68 69 6e 67 20 69 66 20 | do anyt|hing if |
|00001dd0| 69 6e 64 69 63 65 73 20 | 74 68 65 20 73 61 6d 65 |indices |the same|
|00001de0| 20 28 6e 6f 74 20 61 6e | 20 65 72 72 6f 72 29 0d | (not an| error).|
|00001df0| 09 0d 09 69 66 20 28 20 | 63 75 72 49 6e 64 65 78 |...if ( |curIndex|
|00001e00| 20 21 3d 20 6e 65 77 49 | 6e 64 65 78 20 29 0d 09 | != newI|ndex )..|
|00001e10| 7b 09 0d 09 09 74 65 6d | 70 20 3d 20 47 65 74 4f |{....tem|p = GetO|
|00001e20| 62 6a 65 63 74 28 20 63 | 75 72 49 6e 64 65 78 20 |bject( c|urIndex |
|00001e30| 29 3b 0d 09 09 0d 09 09 | 44 65 6c 65 74 65 49 74 |);......|DeleteIt|
|00001e40| 65 6d 28 20 63 75 72 49 | 6e 64 65 78 20 29 3b 0d |em( curI|ndex );.|
|00001e50| 09 09 49 6e 73 65 72 74 | 49 74 65 6d 28 20 74 65 |..Insert|Item( te|
|00001e60| 6d 70 2c 20 6e 65 77 49 | 6e 64 65 78 20 29 3b 0d |mp, newI|ndex );.|
|00001e70| 09 09 0d 09 09 53 65 6e | 64 4d 65 73 73 61 67 65 |.....Sen|dMessage|
|00001e80| 28 20 6d 73 67 41 72 72 | 61 79 49 74 65 6d 4d 6f |( msgArr|ayItemMo|
|00001e90| 76 65 64 2c 20 28 76 6f | 69 64 2a 29 20 6e 65 77 |ved, (vo|id*) new|
|00001ea0| 49 6e 64 65 78 20 29 3b | 0d 09 7d 0d 7d 0d 0d 2f |Index );|..}.}../|
|00001eb0| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|00001ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ed0| 2d 2d 2a 2a 2a 20 20 4d | 4f 56 45 54 4f 46 52 4f |--*** M|OVETOFRO|
|00001ee0| 4e 54 20 20 2a 2a 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |NT ***-|--------|
|00001ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 2f 2a 09 0d 6d |--------|*/./*..m|
|00001f10| 6f 76 65 73 20 74 68 65 | 20 6f 62 6a 65 63 74 20 |oves the| object |
|00001f20| 61 74 20 69 6e 64 65 78 | 20 3c 63 75 72 49 6e 64 |at index| <curInd|
|00001f30| 65 78 3e 20 74 6f 20 74 | 68 65 20 66 72 6f 6e 74 |ex> to t|he front|
|00001f40| 20 6f 66 20 74 68 65 20 | 6c 69 73 74 20 28 31 29 | of the |list (1)|
|00001f50| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00001f60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 74 65 |--------|--*/..te|
|00001fb0| 6d 70 6c 61 74 65 20 3c | 63 6c 61 73 73 20 54 3e |mplate <|class T>|
|00001fc0| 20 76 6f 69 64 09 5a 4f | 62 6a 65 63 74 41 72 72 | void.ZO|bjectArr|
|00001fd0| 61 79 3c 54 3e 3a 3a 4d | 6f 76 65 54 6f 46 72 6f |ay<T>::M|oveToFro|
|00001fe0| 6e 74 28 20 63 6f 6e 73 | 74 20 6c 6f 6e 67 20 69 |nt( cons|t long i|
|00001ff0| 6e 64 65 78 20 29 0d 7b | 0d 09 4d 6f 76 65 49 74 |ndex ).{|..MoveIt|
|00002000| 65 6d 28 20 69 6e 64 65 | 78 2c 20 31 20 29 3b 0d |em( inde|x, 1 );.|
|00002010| 7d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}../*---|--------|
|00002020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002030| 2d 2d 2d 2d 2d 2d 2d 2a | 2a 2a 20 20 4d 4f 56 45 |-------*|** MOVE|
|00002040| 54 4f 42 41 43 4b 20 20 | 2a 2a 2a 2d 2d 2d 2d 2d |TOBACK |***-----|
|00002050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002060| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 2f |--------|----*/./|
|00002070| 2a 09 0d 6d 6f 76 65 73 | 20 74 68 65 20 6f 62 6a |*..moves| the obj|
|00002080| 65 63 74 20 61 74 20 69 | 6e 64 65 78 20 3c 63 75 |ect at i|ndex <cu|
|00002090| 72 49 6e 64 65 78 3e 20 | 74 6f 20 74 68 65 20 62 |rIndex> |to the b|
|000020a0| 61 63 6b 20 6f 66 20 74 | 68 65 20 6c 69 73 74 20 |ack of t|he list |
|000020b0| 28 6e 29 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |(n).----|--------|
|000020c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002110| 0d 74 65 6d 70 6c 61 74 | 65 20 3c 63 6c 61 73 73 |.templat|e <class|
|00002120| 20 54 3e 20 76 6f 69 64 | 09 5a 4f 62 6a 65 63 74 | T> void|.ZObject|
|00002130| 41 72 72 61 79 3c 54 3e | 3a 3a 4d 6f 76 65 54 6f |Array<T>|::MoveTo|
|00002140| 42 61 63 6b 28 20 63 6f | 6e 73 74 20 6c 6f 6e 67 |Back( co|nst long|
|00002150| 20 69 6e 64 65 78 20 29 | 0d 7b 0d 09 4d 6f 76 65 | index )|.{..Move|
|00002160| 49 74 65 6d 28 20 69 6e | 64 65 78 2c 20 43 6f 75 |Item( in|dex, Cou|
|00002170| 6e 74 49 74 65 6d 73 28 | 29 29 3b 0d 7d 0d 0d 0d |ntItems(|));.}...|
|00002180| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021a0| 2d 2a 2a 2a 20 20 57 52 | 49 54 45 54 4f 53 54 52 |-*** WR|ITETOSTR|
|000021b0| 45 41 4d 20 20 2a 2a 2a | 2d 2d 2d 2d 2d 2d 2d 2d |EAM ***|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 2f 2a 09 0d 77 |--------|*/./*..w|
|000021e0| 72 69 74 65 20 65 6e 74 | 69 72 65 20 61 72 72 61 |rite ent|ire arra|
|000021f0| 79 20 6f 62 6a 65 63 74 | 20 74 6f 20 73 74 72 65 |y object| to stre|
|00002200| 61 6d 2e 20 53 69 6e 63 | 65 20 74 68 69 73 20 61 |am. Sinc|e this a|
|00002210| 72 72 61 79 20 68 6f 6c | 64 73 20 6f 62 6a 65 63 |rray hol|ds objec|
|00002220| 74 73 2c 20 77 65 20 73 | 61 76 65 20 65 61 63 68 |ts, we s|ave each|
|00002230| 20 6f 6e 65 0d 61 73 20 | 61 6e 20 6f 62 6a 65 63 | one.as |an objec|
|00002240| 74 20 72 65 66 65 72 65 | 6e 63 65 2c 20 6e 6f 74 |t refere|nce, not|
|00002250| 20 74 68 65 20 73 61 6d | 65 20 77 61 79 20 74 68 | the sam|e way th|
|00002260| 61 74 20 5a 41 72 72 61 | 79 20 77 6f 72 6b 73 2e |at ZArra|y works.|
|00002270| 20 4e 6f 74 65 20 74 68 | 61 74 20 3c 54 3e 20 6d | Note th|at <T> m|
|00002280| 75 73 74 20 62 65 20 64 | 65 72 69 76 65 64 0d 66 |ust be d|erived.f|
|00002290| 72 6f 6d 20 5a 4f 62 6a | 65 63 74 20 61 6e 64 20 |rom ZObj|ect and |
|000022a0| 72 65 67 69 73 74 65 72 | 65 64 20 77 69 74 68 20 |register|ed with |
|000022b0| 3c 67 43 6c 61 73 73 65 | 73 3e 20 66 6f 72 20 74 |<gClasse|s> for t|
|000022c0| 68 69 73 20 74 6f 20 77 | 6f 72 6b 2c 20 62 75 74 |his to w|ork, but|
|000022d0| 20 77 68 65 6e 20 69 74 | 20 64 6f 65 73 20 77 6f | when it| does wo|
|000022e0| 72 6b 20 74 68 65 0d 70 | 6f 77 65 72 20 74 68 69 |rk the.p|ower thi|
|000022f0| 73 20 75 6e 6c 65 61 73 | 68 65 73 20 69 73 20 61 |s unleas|hes is a|
|00002300| 73 74 6f 6e 69 73 68 69 | 6e 67 21 20 0d 2d 2d 2d |stonishi|ng! .---|
|00002310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002360| 2d 2d 2d 2d 2d 2a 2f 0d | 0d 74 65 6d 70 6c 61 74 |-----*/.|.templat|
|00002370| 65 20 3c 63 6c 61 73 73 | 20 54 3e 20 76 6f 69 64 |e <class| T> void|
|00002380| 09 5a 4f 62 6a 65 63 74 | 41 72 72 61 79 3c 54 3e |.ZObject|Array<T>|
|00002390| 3a 3a 57 72 69 74 65 54 | 6f 53 74 72 65 61 6d 28 |::WriteT|oStream(|
|000023a0| 20 5a 53 74 72 65 61 6d | 2a 20 61 53 74 72 65 61 | ZStream|* aStrea|
|000023b0| 6d 20 29 0d 7b 0d 09 5a | 43 6f 6d 72 61 64 65 3a |m ).{..Z|Comrade:|
|000023c0| 3a 57 72 69 74 65 54 6f | 53 74 72 65 61 6d 28 20 |:WriteTo|Stream( |
|000023d0| 61 53 74 72 65 61 6d 20 | 29 3b 0d 09 0d 09 72 65 |aStream |);....re|
|000023e0| 67 69 73 74 65 72 20 6c | 6f 6e 67 09 69 3b 0d 09 |gister l|ong.i;..|
|000023f0| 0d 09 2f 2f 20 63 6f 75 | 6e 74 20 6f 66 20 6f 62 |..// cou|nt of ob|
|00002400| 6a 65 63 74 73 20 74 6f | 20 66 6f 6c 6c 6f 77 3a |jects to| follow:|
|00002410| 0d 09 0d 09 61 53 74 72 | 65 61 6d 2d 3e 57 72 69 |....aStr|eam->Wri|
|00002420| 74 65 4c 6f 6e 67 28 20 | 6e 75 6d 45 6c 65 6d 65 |teLong( |numEleme|
|00002430| 6e 74 73 20 29 3b 0d 09 | 0d 09 2f 2f 20 77 72 69 |nts );..|..// wri|
|00002440| 74 65 20 74 68 65 20 6f | 62 6a 65 63 74 20 72 65 |te the o|bject re|
|00002450| 66 65 72 65 6e 63 65 73 | 20 61 73 20 6e 65 65 64 |ferences| as need|
|00002460| 65 64 3a 0d 09 0d 09 66 | 6f 72 20 28 20 69 20 3d |ed:....f|or ( i =|
|00002470| 20 31 3b 20 69 20 3c 3d | 20 6e 75 6d 45 6c 65 6d | 1; i <=| numElem|
|00002480| 65 6e 74 73 3b 20 69 2b | 2b 20 29 0d 09 09 61 53 |ents; i+|+ )...aS|
|00002490| 74 72 65 61 6d 2d 3e 57 | 72 69 74 65 4f 62 6a 65 |tream->W|riteObje|
|000024a0| 63 74 28 20 47 65 74 4f | 62 6a 65 63 74 28 20 69 |ct( GetO|bject( i|
|000024b0| 20 29 29 3b 0d 7d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d | ));.}..|/*------|
|000024c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2a 2a 20 20 52 45 41 |--------|*** REA|
|000024e0| 44 46 52 4f 4d 53 54 52 | 45 41 4d 20 20 2a 2a 2a |DFROMSTR|EAM ***|
|000024f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002510| 2a 2f 0d 2f 2a 09 0d 72 | 65 61 64 20 65 6e 74 69 |*/./*..r|ead enti|
|00002520| 72 65 20 61 72 72 61 79 | 20 62 61 63 6b 20 66 72 |re array| back fr|
|00002530| 6f 6d 20 73 74 72 65 61 | 6d 2e 20 54 68 69 73 20 |om strea|m. This |
|00002540| 72 65 66 69 6c 6c 73 20 | 74 68 65 20 61 72 72 61 |refills |the arra|
|00002550| 79 20 77 69 74 68 20 6f | 62 6a 65 63 74 73 20 62 |y with o|bjects b|
|00002560| 75 69 6c 74 20 66 72 6f | 6d 20 74 68 65 0d 73 74 |uilt fro|m the.st|
|00002570| 72 65 61 6d 2e 20 54 68 | 65 73 65 20 6f 62 6a 65 |ream. Th|ese obje|
|00002580| 63 74 73 20 61 72 65 20 | 65 71 75 69 76 61 6c 65 |cts are |equivale|
|00002590| 6e 74 20 74 6f 20 74 68 | 65 20 6f 6e 65 73 20 73 |nt to th|e ones s|
|000025a0| 61 76 65 64 20 69 6e 20 | 74 68 65 20 73 74 72 65 |aved in |the stre|
|000025b0| 61 6d 20 6f 72 69 67 69 | 6e 61 6c 6c 79 2c 20 61 |am origi|nally, a|
|000025c0| 6e 64 0d 68 61 76 65 20 | 74 68 65 20 73 61 6d 65 |nd.have |the same|
|000025d0| 20 74 79 70 65 20 61 6e | 64 20 66 75 6e 63 74 69 | type an|d functi|
|000025e0| 6f 6e 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |on..----|--------|
|000025f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002600| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002610| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00002640| 0d 74 65 6d 70 6c 61 74 | 65 20 3c 63 6c 61 73 73 |.templat|e <class|
|00002650| 20 54 3e 20 76 6f 69 64 | 09 5a 4f 62 6a 65 63 74 | T> void|.ZObject|
|00002660| 41 72 72 61 79 3c 54 3e | 3a 3a 52 65 61 64 46 72 |Array<T>|::ReadFr|
|00002670| 6f 6d 53 74 72 65 61 6d | 28 20 5a 53 74 72 65 61 |omStream|( ZStrea|
|00002680| 6d 2a 20 61 53 74 72 65 | 61 6d 20 29 0d 7b 0d 09 |m* aStre|am ).{..|
|00002690| 5a 43 6f 6d 72 61 64 65 | 3a 3a 52 65 61 64 46 72 |ZComrade|::ReadFr|
|000026a0| 6f 6d 53 74 72 65 61 6d | 28 20 61 53 74 72 65 61 |omStream|( aStrea|
|000026b0| 6d 20 29 3b 0d 09 0d 09 | 72 65 67 69 73 74 65 72 |m );....|register|
|000026c0| 20 54 2a 09 09 74 65 6d | 70 3b 0d 09 72 65 67 69 | T*..tem|p;..regi|
|000026d0| 73 74 65 72 20 6c 6f 6e | 67 09 69 2c 20 6e 75 6d |ster lon|g.i, num|
|000026e0| 4f 62 6a 65 63 74 73 3b | 0d 09 0d 09 61 53 74 72 |Objects;|....aStr|
|000026f0| 65 61 6d 2d 3e 52 65 61 | 64 4c 6f 6e 67 28 20 26 |eam->Rea|dLong( &|
|00002700| 6e 75 6d 4f 62 6a 65 63 | 74 73 20 29 3b 0d 09 0d |numObjec|ts );...|
|00002710| 09 2f 2f 20 73 69 7a 65 | 20 74 68 65 20 73 74 6f |.// size| the sto|
|00002720| 72 61 67 65 20 68 61 6e | 64 6c 65 20 61 73 20 6e |rage han|dle as n|
|00002730| 65 65 64 65 64 20 74 6f | 20 68 6f 6c 64 20 74 68 |eeded to| hold th|
|00002740| 69 73 20 6d 61 6e 79 20 | 6f 62 6a 65 63 74 73 3a |is many |objects:|
|00002750| 0d 09 0d 09 69 66 20 28 | 20 6e 75 6d 45 6c 65 6d |....if (| numElem|
|00002760| 65 6e 74 73 20 21 3d 20 | 6e 75 6d 4f 62 6a 65 63 |ents != |numObjec|
|00002770| 74 73 20 29 0d 09 7b 0d | 09 09 53 65 74 48 61 6e |ts )..{.|..SetHan|
|00002780| 64 6c 65 53 69 7a 65 28 | 20 61 2c 20 6e 75 6d 4f |dleSize(| a, numO|
|00002790| 62 6a 65 63 74 73 20 2a | 20 62 6c 6b 53 69 7a 65 |bjects *| blkSize|
|000027a0| 20 29 3b 0d 09 09 46 61 | 69 6c 4d 65 6d 45 72 72 | );...Fa|ilMemErr|
|000027b0| 6f 72 28 29 3b 0d 09 09 | 0d 09 09 6e 75 6d 45 6c |or();...|...numEl|
|000027c0| 65 6d 65 6e 74 73 20 3d | 20 6e 75 6d 4f 62 6a 65 |ements =| numObje|
|000027d0| 63 74 73 3b 0d 09 7d 0d | 09 0d 09 66 6f 72 20 28 |cts;..}.|...for (|
|000027e0| 20 69 20 3d 20 31 3b 20 | 69 20 3c 3d 20 6e 75 6d | i = 1; |i <= num|
|000027f0| 4f 62 6a 65 63 74 73 3b | 20 69 2b 2b 20 29 0d 09 |Objects;| i++ )..|
|00002800| 7b 0d 09 09 74 65 6d 70 | 20 3d 20 28 54 2a 29 20 |{...temp| = (T*) |
|00002810| 61 53 74 72 65 61 6d 2d | 3e 52 65 61 64 4f 62 6a |aStream-|>ReadObj|
|00002820| 65 63 74 28 29 3b 0d 09 | 09 53 65 74 41 72 72 61 |ect();..|.SetArra|
|00002830| 79 49 74 65 6d 28 20 74 | 65 6d 70 2c 20 69 20 29 |yItem( t|emp, i )|
|00002840| 3b 0d 09 7d 0d 7d 0d 0d | 0d 00 00 00 00 00 00 00 |;..}.}..|........|
|00002850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002880| 00 00 01 00 00 00 01 5a | 00 00 00 5a 00 00 00 52 |.......Z|...Z...R|
|00002890| 02 29 29 00 00 00 00 7b | 00 06 00 00 00 09 00 00 |.))....{|........|
|000028a0| 00 21 00 00 00 7c 00 00 | 00 7d 00 00 00 7e 00 57 |.!...|..|.}...~.W|
|000028b0| 10 5a 4f 62 6a 65 63 74 | 41 72 72 61 79 2e 63 70 |.ZObject|Array.cp|
|000028c0| 70 61 02 00 00 00 50 61 | 72 74 53 49 54 21 00 00 |pa....Pa|rtSIT!..|
|000028d0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|000028e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000028f0| 00 00 b3 41 d6 35 00 00 | 00 00 00 00 01 ac 29 2c |...A.5..|......),|
|00002900| 20 28 01 05 29 29 00 00 | 00 00 7f 00 03 00 00 00 | (..))..|........|
|00002910| 09 00 00 00 80 00 45 43 | 61 6c 6c 55 6e 69 76 65 |......EC|allUnive|
|00002920| 72 73 61 6c 50 72 6f 63 | 28 28 55 6e 69 76 65 72 |rsalProc|((Univer|
|00002930| 73 61 6c 50 72 6f 63 50 | 74 72 29 28 01 01 29 2c |salProcP|tr)(..),|
|00002940| 20 75 70 70 4d 42 61 72 | 48 6f 6f 6b 50 72 6f 63 | uppMBar|HookProc|
|00002950| 49 6e 66 6f 2c 20 28 01 | 02 29 29 00 00 00 00 81 |Info, (.|.)).....|
|00002960| 00 02 00 00 00 09 00 63 | 28 55 73 65 72 45 76 65 |.......c|(UserEve|
|00002970| 6e 74 55 50 50 29 20 4e | 65 77 52 6f 75 74 69 6e |ntUPP) N|ewRoutin|
|00002980| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00002990| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000029a0| 00 00 00 00 00 00 00 02 | 00 04 00 2d 00 a1 02 e9 |........|...-....|
|000029b0| 02 f7 00 2d 00 a1 02 e9 | 02 f7 b2 f9 c2 3b 00 00 |...-....|.....;..|
|000029c0| 07 fc 00 00 08 17 00 00 | 06 fb 01 00 00 00 00 02 |........|........|
|000029d0| 00 00 00 00 00 04 00 01 | 00 01 00 00 01 00 00 00 |........|........|
|000029e0| 01 5a 00 00 00 5a 00 00 | 00 52 03 c2 82 dc 39 a8 |.Z...Z..|.R....9.|
|000029f0| 00 00 00 1c 00 52 00 01 | 4d 50 53 52 00 01 00 12 |.....R..|MPSR....|
|00002a00| 4d 57 42 42 00 00 00 2a | 03 ed ff ff 00 00 00 00 |MWBB...*|........|
|00002a10| 00 00 00 00 03 ef ff ff | 00 00 00 4c 00 00 00 00 |........|...L....|
|00002a20| 03 f0 ff ff 00 00 00 52 | 00 00 00 00 00 00 00 00 |.......R|........|
|00002a30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002a70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+