home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1999-07-13 | 5.3 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: XPtrList.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, Tue Jul 13 21:53:55 1999, modified Tue Jul 13 21:53:55 1999, creator 'CWIE', type ASCII, 4636 bytes "XPtrList.cpp" , at 0x129c 410 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 0c 58 50 74 72 4c 69 | 73 74 2e 63 70 70 00 00 |..XPtrLi|st.cpp..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|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 12 1c 00 | 00 01 9a b3 b1 9e 33 b3 |........|......3.|
|00000060| b1 9e 33 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..3.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 a9 eb 00 00 |........|........|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 58 50 74 72 4c 69 |#include| "XPtrLi|
|00000090| 73 74 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |st.h".#i|nclude "|
|000000a0| 6e 6f 64 65 43 6c 61 73 | 73 2e 68 22 0d 0d 0d 76 |nodeClas|s.h"...v|
|000000b0| 6f 69 64 2a 20 58 50 74 | 72 4c 69 73 74 3a 3a 73 |oid* XPt|rList::s|
|000000c0| 44 75 6d 6d 79 20 3d 20 | 4e 55 4c 4c 3b 0d 0d 0d |Dummy = |NULL;...|
|000000d0| 58 50 74 72 4c 69 73 74 | 3a 3a 58 50 74 72 4c 69 |XPtrList|::XPtrLi|
|000000e0| 73 74 28 20 4c 69 73 74 | 4f 72 64 65 72 69 6e 67 |st( List|Ordering|
|000000f0| 54 20 69 6e 4f 72 64 65 | 72 69 6e 67 20 29 20 7b |T inOrde|ring ) {|
|00000100| 0d 0d 09 6d 4f 72 64 65 | 72 69 6e 67 09 3d 20 69 |...mOrde|ring.= i|
|00000110| 6e 4f 72 64 65 72 69 6e | 67 3b 0d 09 6d 43 6f 6d |nOrderin|g;..mCom|
|00000120| 70 46 63 6e 09 3d 20 4e | 55 4c 4c 3b 0d 7d 0d 0d |pFcn.= N|ULL;.}..|
|00000130| 0d 0d 0d 76 6f 69 64 20 | 58 50 74 72 4c 69 73 74 |...void |XPtrList|
|00000140| 3a 3a 41 73 73 69 67 6e | 28 20 63 6f 6e 73 74 20 |::Assign|( const |
|00000150| 58 50 74 72 4c 69 73 74 | 26 20 69 6e 4c 69 73 74 |XPtrList|& inList|
|00000160| 20 29 20 7b 0d 0d 09 55 | 74 69 6c 53 74 72 3a 3a | ) {...U|tilStr::|
|00000170| 41 73 73 69 67 6e 28 20 | 69 6e 4c 69 73 74 20 29 |Assign( |inList )|
|00000180| 3b 0d 7d 0d 0d 0d 0d 23 | 64 65 66 69 6e 65 20 5f |;.}....#|define _|
|00000190| 5f 70 74 72 28 20 69 64 | 78 20 29 09 2a 28 28 76 |_ptr( id|x ).*((v|
|000001a0| 6f 69 64 2a 2a 29 20 28 | 62 61 73 65 20 2b 20 69 |oid**) (|base + i|
|000001b0| 64 78 20 2a 20 34 29 29 | 0d 0d 6c 6f 6e 67 20 58 |dx * 4))|..long X|
|000001c0| 50 74 72 4c 69 73 74 3a | 3a 46 65 74 63 68 50 72 |PtrList:|:FetchPr|
|000001d0| 65 64 49 6e 64 65 78 28 | 20 63 6f 6e 73 74 20 76 |edIndex(| const v|
|000001e0| 6f 69 64 2a 20 69 6e 50 | 74 72 20 29 20 63 6f 6e |oid* inP|tr ) con|
|000001f0| 73 74 20 7b 0d 09 6c 6f | 6e 67 20 4d 2c 20 4c 20 |st {..lo|ng M, L |
|00000200| 3d 20 30 2c 20 52 20 3d | 20 43 6f 75 6e 74 28 29 |= 0, R =| Count()|
|00000210| 2d 31 3b 0d 09 63 68 61 | 72 2a 20 62 61 73 65 20 |-1;..cha|r* base |
|00000220| 3d 20 67 65 74 43 53 74 | 72 28 29 3b 0d 09 6c 6f |= getCSt|r();..lo|
|00000230| 6e 67 20 6f 72 64 65 72 | 20 3d 20 28 20 6d 4f 72 |ng order| = ( mOr|
|00000240| 64 65 72 69 6e 67 20 3d | 3d 20 63 53 6f 72 74 48 |dering =|= cSortH|
|00000250| 69 67 68 54 6f 4c 6f 77 | 20 29 20 3f 20 30 78 38 |ighToLow| ) ? 0x8|
|00000260| 30 30 30 30 30 30 30 20 | 3a 20 30 3b 0d 0d 09 69 |0000000 |: 0;...i|
|00000270| 66 20 28 20 52 20 3c 20 | 30 20 29 20 0d 09 09 72 |f ( R < |0 ) ...r|
|00000280| 65 74 75 72 6e 20 30 3b | 0d 09 65 6c 73 65 20 7b |eturn 0;|..else {|
|00000290| 0d 09 09 77 68 69 6c 65 | 20 28 4c 20 3c 3d 20 52 |...while| (L <= R|
|000002a0| 29 20 7b 0d 09 09 09 0d | 09 09 09 4d 20 3d 20 28 |) {.....|...M = (|
|000002b0| 4c 20 2b 20 52 29 20 2f | 20 32 3b 0d 09 09 09 0d |L + R) /| 2;.....|
|000002c0| 09 09 09 69 66 20 28 20 | 28 6d 43 6f 6d 70 46 63 |...if ( |(mCompFc|
|000002d0| 6e 28 20 69 6e 50 74 72 | 2c 20 5f 5f 70 74 72 28 |n( inPtr|, __ptr(|
|000002e0| 20 4d 20 29 20 29 20 5e | 20 6f 72 64 65 72 29 20 | M ) ) ^| order) |
|000002f0| 3e 3d 20 30 20 29 20 2f | 2f 20 49 66 20 69 6e 50 |>= 0 ) /|/ If inP|
|00000300| 74 72 20 3c 3d 20 5f 5f | 70 74 72 28 20 4d 20 29 |tr <= __|ptr( M )|
|00000310| 2e 2e 2e 0d 09 09 09 09 | 52 20 3d 20 4d 20 2d 20 |........|R = M - |
|00000320| 31 3b 09 09 09 09 09 09 | 09 09 09 09 2f 2f 20 54 |1;......|....// T|
|00000330| 68 72 6f 77 20 61 77 61 | 79 20 72 69 67 68 74 20 |hrow awa|y right |
|00000340| 68 61 6c 66 0d 09 09 09 | 65 6c 73 65 0d 09 09 09 |half....|else....|
|00000350| 09 4c 20 3d 20 4d 20 2b | 20 31 3b 09 09 09 09 09 |.L = M +| 1;.....|
|00000360| 09 09 09 09 09 2f 2f 20 | 54 68 72 6f 77 20 61 77 |.....// |Throw aw|
|00000370| 61 79 20 6c 65 66 74 20 | 68 61 6c 66 0d 09 09 7d |ay left |half...}|
|00000380| 0d 0d 09 09 69 66 20 28 | 20 4c 20 3e 20 52 20 29 |....if (| L > R )|
|00000390| 09 09 09 09 09 09 09 09 | 09 09 09 2f 2f 20 43 61 |........|...// Ca|
|000003a0| 74 63 68 20 74 68 65 20 | 63 61 73 65 20 77 68 65 |tch the |case whe|
|000003b0| 72 65 20 52 2b 31 3d 3d | 4c 0d 09 09 09 4c 20 3d |re R+1==|L....L =|
|000003c0| 20 4d 3b 09 09 09 09 09 | 09 09 09 09 09 09 09 2f | M;.....|......./|
|000003d0| 2f 20 49 6e 20 74 68 69 | 73 20 63 61 73 65 2c 20 |/ In thi|s case, |
|000003e0| 4d 20 73 70 65 63 69 66 | 69 65 73 20 74 68 65 20 |M specif|ies the |
|000003f0| 63 72 69 74 69 63 61 6c | 20 65 6c 65 6d 65 6e 74 |critical| element|
|00000400| 20 0d 09 09 09 0d 09 09 | 2f 2f 20 41 74 20 74 68 | .......|// At th|
|00000410| 69 73 20 70 6f 69 6e 74 | 2c 20 77 65 20 6b 6e 6f |is point|, we kno|
|00000420| 77 20 4c 20 69 73 20 74 | 68 65 20 63 72 69 74 69 |w L is t|he criti|
|00000430| 63 61 6c 20 65 6c 65 6d | 65 6e 74 20 28 63 61 73 |cal elem|ent (cas|
|00000440| 65 3a 20 4c 3d 3d 52 20 | 6f 72 20 4c 20 63 6f 6e |e: L==R |or L con|
|00000450| 74 61 69 6e 73 20 4d 20 | 66 72 6f 6d 20 63 61 73 |tains M |from cas|
|00000460| 65 20 61 62 6f 76 65 29 | 0d 09 09 69 66 20 28 20 |e above)|...if ( |
|00000470| 6d 43 6f 6d 70 46 63 6e | 28 20 69 6e 50 74 72 2c |mCompFcn|( inPtr,|
|00000480| 20 5f 5f 70 74 72 28 20 | 4c 20 29 20 29 20 3c 20 | __ptr( |L ) ) < |
|00000490| 30 20 29 09 09 09 09 2f | 2f 20 49 66 20 69 6e 50 |0 )..../|/ If inP|
|000004a0| 74 72 20 3e 20 5f 5f 70 | 74 72 28 20 4d 20 29 2e |tr > __p|tr( M ).|
|000004b0| 2e 2e 0d 09 09 09 4c 2b | 2b 3b 0d 0d 09 09 72 65 |......L+|+;....re|
|000004c0| 74 75 72 6e 20 4c 3b 0d | 09 7d 0d 7d 0d 0d 0d 76 |turn L;.|.}.}...v|
|000004d0| 6f 69 64 20 58 50 74 72 | 4c 69 73 74 3a 3a 53 65 |oid XPtr|List::Se|
|000004e0| 74 43 6f 6d 70 46 63 6e | 28 20 43 6f 6d 70 46 75 |tCompFcn|( CompFu|
|000004f0| 6e 63 74 69 6f 6e 54 20 | 69 6e 46 63 6e 2c 20 62 |nctionT |inFcn, b|
|00000500| 6f 6f 6c 20 69 6e 53 6f | 72 74 4c 6f 77 54 6f 48 |ool inSo|rtLowToH|
|00000510| 69 67 68 20 29 20 7b 0d | 09 6d 43 6f 6d 70 46 63 |igh ) {.|.mCompFc|
|00000520| 6e 20 3d 20 69 6e 46 63 | 6e 3b 0d 09 0d 09 52 65 |n = inFc|n;....Re|
|00000530| 6d 6f 76 65 41 6c 6c 28 | 29 3b 0d 09 0d 09 69 66 |moveAll(|);....if|
|00000540| 20 28 20 69 6e 53 6f 72 | 74 4c 6f 77 54 6f 48 69 | ( inSor|tLowToHi|
|00000550| 67 68 20 29 0d 09 09 6d | 4f 72 64 65 72 69 6e 67 |gh )...m|Ordering|
|00000560| 20 3d 20 63 53 6f 72 74 | 4c 6f 77 54 6f 48 69 67 | = cSort|LowToHig|
|00000570| 68 3b 0d 09 65 6c 73 65 | 0d 09 09 6d 4f 72 64 65 |h;..else|...mOrde|
|00000580| 72 69 6e 67 20 3d 20 63 | 53 6f 72 74 48 69 67 68 |ring = c|SortHigh|
|00000590| 54 6f 4c 6f 77 3b 0d 0d | 7d 0d 0d 0d 0d 6c 6f 6e |ToLow;..|}....lon|
|000005a0| 67 20 58 50 74 72 4c 69 | 73 74 3a 3a 46 69 6e 64 |g XPtrLi|st::Find|
|000005b0| 49 6e 64 65 78 4f 66 28 | 20 63 6f 6e 73 74 20 76 |IndexOf(| const v|
|000005c0| 6f 69 64 2a 20 69 6e 4d | 61 74 63 68 20 29 20 63 |oid* inM|atch ) c|
|000005d0| 6f 6e 73 74 20 7b 09 0d | 09 6c 6f 6e 67 09 69 20 |onst {..|.long.i |
|000005e0| 3d 20 30 3b 0d 09 63 68 | 61 72 2a 09 63 75 72 50 |= 0;..ch|ar*.curP|
|000005f0| 74 72 2c 20 2a 65 6e 64 | 50 74 72 3b 0d 09 76 6f |tr, *end|Ptr;..vo|
|00000600| 69 64 2a 09 70 74 72 3b | 0d 0d 09 69 66 20 28 20 |id*.ptr;|...if ( |
|00000610| 6d 43 6f 6d 70 46 63 6e | 20 29 20 7b 0d 09 09 69 |mCompFcn| ) {...i|
|00000620| 20 3d 20 46 65 74 63 68 | 50 72 65 64 49 6e 64 65 | = Fetch|PredInde|
|00000630| 78 28 20 69 6e 4d 61 74 | 63 68 20 29 3b 0d 09 09 |x( inMat|ch );...|
|00000640| 63 75 72 50 74 72 20 3d | 20 67 65 74 43 53 74 72 |curPtr =| getCStr|
|00000650| 28 29 20 2b 20 34 20 2a | 20 69 3b 0d 09 09 65 6e |() + 4 *| i;...en|
|00000660| 64 50 74 72 20 3d 20 67 | 65 74 43 53 74 72 28 29 |dPtr = g|etCStr()|
|00000670| 20 2b 20 6c 65 6e 67 74 | 68 28 29 3b 0d 09 09 77 | + lengt|h();...w|
|00000680| 68 69 6c 65 20 28 20 63 | 75 72 50 74 72 20 3c 20 |hile ( c|urPtr < |
|00000690| 65 6e 64 50 74 72 20 29 | 20 7b 0d 09 09 09 69 2b |endPtr )| {....i+|
|000006a0| 2b 3b 0d 09 09 09 70 74 | 72 20 3d 20 2a 28 28 76 |+;....pt|r = *((v|
|000006b0| 6f 69 64 2a 2a 29 20 63 | 75 72 50 74 72 29 3b 0d |oid**) c|urPtr);.|
|000006c0| 09 09 09 69 66 20 28 20 | 70 74 72 20 3d 3d 20 69 |...if ( |ptr == i|
|000006d0| 6e 4d 61 74 63 68 20 29 | 0d 09 09 09 09 72 65 74 |nMatch )|.....ret|
|000006e0| 75 72 6e 20 69 3b 0d 09 | 09 09 09 0d 09 09 09 2f |urn i;..|......./|
|000006f0| 2f 20 53 74 6f 70 20 63 | 68 65 63 6b 69 6e 67 20 |/ Stop c|hecking |
|00000700| 77 68 65 6e 20 77 65 20 | 68 69 74 20 69 74 65 6d |when we |hit item|
|00000710| 73 20 74 68 61 74 20 61 | 72 65 6e 27 74 20 65 71 |s that a|ren't eq|
|00000720| 75 61 6c 20 74 6f 20 69 | 6e 4d 61 74 63 68 0d 09 |ual to i|nMatch..|
|00000730| 09 09 65 6c 73 65 20 69 | 66 20 28 20 6d 43 6f 6d |..else i|f ( mCom|
|00000740| 70 46 63 6e 28 20 69 6e | 4d 61 74 63 68 2c 20 70 |pFcn( in|Match, p|
|00000750| 74 72 20 29 20 21 3d 20 | 30 20 29 0d 09 09 09 09 |tr ) != |0 ).....|
|00000760| 62 72 65 61 6b 3b 0d 09 | 09 09 63 75 72 50 74 72 |break;..|..curPtr|
|00000770| 20 2b 3d 20 34 3b 0d 09 | 09 7d 20 7d 0d 09 65 6c | += 4;..|.} }..el|
|00000780| 73 65 20 7b 0d 09 09 63 | 75 72 50 74 72 20 3d 20 |se {...c|urPtr = |
|00000790| 67 65 74 43 53 74 72 28 | 29 3b 0d 09 09 65 6e 64 |getCStr(|);...end|
|000007a0| 50 74 72 20 3d 20 63 75 | 72 50 74 72 20 2b 20 6c |Ptr = cu|rPtr + l|
|000007b0| 65 6e 67 74 68 28 29 3b | 0d 0d 09 09 77 68 69 6c |ength();|....whil|
|000007c0| 65 20 28 20 63 75 72 50 | 74 72 20 3c 20 65 6e 64 |e ( curP|tr < end|
|000007d0| 50 74 72 20 29 20 7b 0d | 09 09 09 69 2b 2b 3b 0d |Ptr ) {.|...i++;.|
|000007e0| 09 09 09 69 66 20 28 20 | 2a 28 28 76 6f 69 64 2a |...if ( |*((void*|
|000007f0| 2a 29 20 63 75 72 50 74 | 72 29 20 3d 3d 20 69 6e |*) curPt|r) == in|
|00000800| 4d 61 74 63 68 20 29 20 | 0d 09 09 09 09 72 65 74 |Match ) |.....ret|
|00000810| 75 72 6e 20 69 3b 0d 09 | 09 09 65 6c 73 65 0d 09 |urn i;..|..else..|
|00000820| 09 09 09 63 75 72 50 74 | 72 20 2b 3d 20 34 3b 0d |...curPt|r += 4;.|
|00000830| 09 09 7d 0d 09 7d 0d 0d | 09 72 65 74 75 72 6e 20 |..}..}..|.return |
|00000840| 30 3b 0d 7d 0d 0d 0d 0d | 0d 6c 6f 6e 67 20 58 50 |0;.}....|.long XP|
|00000850| 74 72 4c 69 73 74 3a 3a | 41 64 64 28 20 63 6f 6e |trList::|Add( con|
|00000860| 73 74 20 76 6f 69 64 2a | 20 69 6e 50 74 72 54 6f |st void*| inPtrTo|
|00000870| 41 64 64 20 29 20 7b 0d | 09 6c 6f 6e 67 20 69 3b |Add ) {.|.long i;|
|00000880| 0d 09 0d 09 69 66 20 28 | 20 6d 43 6f 6d 70 46 63 |....if (| mCompFc|
|00000890| 6e 20 29 20 7b 0d 09 09 | 69 20 3d 20 46 65 74 63 |n ) {...|i = Fetc|
|000008a0| 68 50 72 65 64 49 6e 64 | 65 78 28 20 69 6e 50 74 |hPredInd|ex( inPt|
|000008b0| 72 54 6f 41 64 64 20 29 | 3b 0d 09 09 49 6e 73 65 |rToAdd )|;...Inse|
|000008c0| 72 74 28 20 69 2a 34 2c | 20 28 63 68 61 72 2a 29 |rt( i*4,| (char*)|
|000008d0| 20 26 69 6e 50 74 72 54 | 6f 41 64 64 2c 20 34 20 | &inPtrT|oAdd, 4 |
|000008e0| 29 3b 20 0d 09 09 72 65 | 74 75 72 6e 20 69 2b 31 |); ...re|turn i+1|
|000008f0| 3b 20 7d 0d 09 65 6c 73 | 65 20 7b 0d 09 09 55 74 |; }..els|e {...Ut|
|00000900| 69 6c 53 74 72 3a 3a 41 | 70 70 65 6e 64 28 20 28 |ilStr::A|ppend( (|
|00000910| 63 68 61 72 2a 29 20 26 | 69 6e 50 74 72 54 6f 41 |char*) &|inPtrToA|
|00000920| 64 64 2c 20 34 20 29 3b | 0d 09 09 72 65 74 75 72 |dd, 4 );|...retur|
|00000930| 6e 20 43 6f 75 6e 74 28 | 29 3b 0d 09 7d 0d 7d 0d |n Count(|);..}.}.|
|00000940| 0d 0d 0d 0d 0d 76 6f 69 | 64 20 58 50 74 72 4c 69 |.....voi|d XPtrLi|
|00000950| 73 74 3a 3a 41 64 64 28 | 20 63 6f 6e 73 74 20 76 |st::Add(| const v|
|00000960| 6f 69 64 2a 20 69 6e 50 | 74 72 54 6f 41 64 64 2c |oid* inP|trToAdd,|
|00000970| 20 6c 6f 6e 67 20 69 6e | 4e 20 29 20 7b 0d 09 0d | long in|N ) {...|
|00000980| 09 69 66 20 28 20 69 6e | 4e 20 3c 20 30 20 29 0d |.if ( in|N < 0 ).|
|00000990| 09 09 69 6e 4e 20 3d 20 | 30 3b 0d 09 09 0d 09 69 |..inN = |0;.....i|
|000009a0| 66 20 28 20 69 6e 4e 20 | 3e 20 43 6f 75 6e 74 28 |f ( inN |> Count(|
|000009b0| 29 20 29 0d 09 09 69 6e | 4e 20 3d 20 43 6f 75 6e |) )...in|N = Coun|
|000009c0| 74 28 29 3b 0d 09 0d 09 | 49 6e 73 65 72 74 28 20 |t();....|Insert( |
|000009d0| 69 6e 4e 20 2a 20 34 2c | 20 28 63 68 61 72 2a 29 |inN * 4,| (char*)|
|000009e0| 20 26 69 6e 50 74 72 54 | 6f 41 64 64 2c 20 34 20 | &inPtrT|oAdd, 4 |
|000009f0| 29 3b 0d 7d 0d 0d 0d 0d | 0d 76 6f 69 64 20 58 50 |);.}....|.void XP|
|00000a00| 74 72 4c 69 73 74 3a 3a | 41 64 64 28 20 63 6f 6e |trList::|Add( con|
|00000a10| 73 74 20 58 50 74 72 4c | 69 73 74 26 20 69 6e 4c |st XPtrL|ist& inL|
|00000a20| 69 73 74 20 29 20 7b 0d | 0d 09 69 66 20 28 20 6d |ist ) {.|..if ( m|
|00000a30| 4f 72 64 65 72 69 6e 67 | 20 3d 3d 20 63 4f 72 64 |Ordering| == cOrd|
|00000a40| 65 72 4e 6f 74 49 6d 70 | 6f 72 74 61 6e 74 20 29 |erNotImp|ortant )|
|00000a50| 0d 09 09 55 74 69 6c 53 | 74 72 3a 3a 41 70 70 65 |...UtilS|tr::Appe|
|00000a60| 6e 64 28 20 69 6e 4c 69 | 73 74 20 29 3b 0d 09 65 |nd( inLi|st );..e|
|00000a70| 6c 73 65 20 7b 0d 09 09 | 69 6e 74 20 69 2c 20 6e |lse {...|int i, n|
|00000a80| 20 3d 20 69 6e 4c 69 73 | 74 2e 43 6f 75 6e 74 28 | = inLis|t.Count(|
|00000a90| 29 3b 0d 09 09 66 6f 72 | 20 28 20 69 20 3d 20 31 |);...for| ( i = 1|
|00000aa0| 3b 20 69 20 3c 3d 20 6e | 3b 20 69 2b 2b 20 29 20 |; i <= n|; i++ ) |
|00000ab0| 0d 09 09 09 41 64 64 28 | 20 69 6e 4c 69 73 74 2e |....Add(| inList.|
|00000ac0| 46 65 74 63 68 28 20 69 | 20 29 20 29 3b 0d 09 7d |Fetch( i| ) );..}|
|00000ad0| 0d 7d 0d 0d 0d 0d 0d 76 | 6f 69 64 2a 26 20 58 50 |.}.....v|oid*& XP|
|00000ae0| 74 72 4c 69 73 74 3a 3a | 6f 70 65 72 61 74 6f 72 |trList::|operator|
|00000af0| 5b 5d 20 28 20 63 6f 6e | 73 74 20 6c 6f 6e 67 20 |[] ( con|st long |
|00000b00| 69 6e 49 6e 64 65 78 20 | 29 20 7b 0d 09 6c 6f 6e |inIndex |) {..lon|
|00000b10| 67 20 6c 65 6e 3b 0d 09 | 0d 09 69 66 20 28 20 69 |g len;..|..if ( i|
|00000b20| 6e 49 6e 64 65 78 20 3e | 3d 20 30 20 29 20 7b 0d |nIndex >|= 0 ) {.|
|00000b30| 09 09 6c 65 6e 20 3d 20 | 6d 53 74 72 4c 65 6e 3b |..len = |mStrLen;|
|00000b40| 0d 09 09 69 66 20 28 20 | 69 6e 49 6e 64 65 78 20 |...if ( |inIndex |
|00000b50| 3e 3d 20 6c 65 6e 20 3e | 3e 20 32 20 29 20 7b 0d |>= len >|> 2 ) {.|
|00000b60| 09 09 09 49 6e 73 65 72 | 74 28 20 6c 65 6e 2c 20 |...Inser|t( len, |
|00000b70| 27 5c 30 27 2c 20 28 20 | 69 6e 49 6e 64 65 78 20 |'\0', ( |inIndex |
|00000b80| 2b 20 31 20 29 20 2a 20 | 34 20 2d 20 6c 65 6e 20 |+ 1 ) * |4 - len |
|00000b90| 29 3b 0d 09 09 7d 0d 09 | 09 09 0d 09 09 72 65 74 |);...}..|.....ret|
|00000ba0| 75 72 6e 20 2a 28 20 28 | 76 6f 69 64 2a 2a 29 20 |urn *( (|void**) |
|00000bb0| 28 20 6d 42 75 66 20 2b | 20 69 6e 49 6e 64 65 78 |( mBuf +| inIndex|
|00000bc0| 20 2a 20 34 20 2b 20 31 | 20 29 20 29 3b 20 7d 0d | * 4 + 1| ) ); }.|
|00000bd0| 09 65 6c 73 65 0d 09 09 | 72 65 74 75 72 6e 20 73 |.else...|return s|
|00000be0| 44 75 6d 6d 79 3b 0d 7d | 0d 09 09 09 0d 0d 0d 0d |Dummy;.}|........|
|00000bf0| 0d 62 6f 6f 6c 20 58 50 | 74 72 4c 69 73 74 3a 3a |.bool XP|trList::|
|00000c00| 52 65 6d 6f 76 65 28 20 | 63 6f 6e 73 74 20 76 6f |Remove( |const vo|
|00000c10| 69 64 2a 20 69 6e 4d 61 | 74 63 68 50 74 72 20 29 |id* inMa|tchPtr )|
|00000c20| 20 7b 0d 09 6c 6f 6e 67 | 09 69 64 78 20 3d 20 46 | {..long|.idx = F|
|00000c30| 69 6e 64 49 6e 64 65 78 | 4f 66 28 20 69 6e 4d 61 |indIndex|Of( inMa|
|00000c40| 74 63 68 50 74 72 20 29 | 3b 0d 09 0d 09 72 65 74 |tchPtr )|;....ret|
|00000c50| 75 72 6e 20 52 65 6d 6f | 76 65 45 6c 65 6d 65 6e |urn Remo|veElemen|
|00000c60| 74 28 20 69 64 78 20 29 | 3b 0d 7d 0d 0d 0d 0d 62 |t( idx )|;.}....b|
|00000c70| 6f 6f 6c 20 58 50 74 72 | 4c 69 73 74 3a 3a 52 65 |ool XPtr|List::Re|
|00000c80| 6d 6f 76 65 45 6c 65 6d | 65 6e 74 28 20 6c 6f 6e |moveElem|ent( lon|
|00000c90| 67 20 69 6e 49 6e 64 65 | 78 20 29 20 7b 0d 09 63 |g inInde|x ) {..c|
|00000ca0| 68 61 72 2a 20 73 3b 0d | 09 0d 09 69 66 20 28 20 |har* s;.|...if ( |
|00000cb0| 69 6e 49 6e 64 65 78 20 | 3e 20 30 20 26 26 20 69 |inIndex |> 0 && i|
|00000cc0| 6e 49 6e 64 65 78 20 3c | 3d 20 43 6f 75 6e 74 28 |nIndex <|= Count(|
|00000cd0| 29 20 29 20 7b 0d 09 09 | 69 6e 49 6e 64 65 78 2d |) ) {...|inIndex-|
|00000ce0| 2d 3b 0d 09 09 69 66 20 | 28 20 6d 4f 72 64 65 72 |-;...if |( mOrder|
|00000cf0| 69 6e 67 20 3d 3d 20 63 | 4f 72 64 65 72 4e 6f 74 |ing == c|OrderNot|
|00000d00| 49 6d 70 6f 72 74 61 6e | 74 20 29 20 7b 0d 09 09 |Importan|t ) {...|
|00000d10| 09 73 20 3d 20 67 65 74 | 43 53 74 72 28 29 3b 0d |.s = get|CStr();.|
|00000d20| 09 09 09 2a 28 20 28 76 | 6f 69 64 2a 2a 29 20 28 |...*( (v|oid**) (|
|00000d30| 73 20 2b 20 69 6e 49 6e | 64 65 78 20 2a 20 34 29 |s + inIn|dex * 4)|
|00000d40| 20 29 20 3d 20 2a 28 20 | 28 76 6f 69 64 2a 2a 29 | ) = *( |(void**)|
|00000d50| 20 28 73 20 2b 20 6c 65 | 6e 67 74 68 28 29 20 2d | (s + le|ngth() -|
|00000d60| 20 34 20 29 20 29 3b 0d | 09 09 09 54 72 75 6e 63 | 4 ) );.|...Trunc|
|00000d70| 28 20 34 20 29 3b 20 7d | 0d 09 09 65 6c 73 65 20 |( 4 ); }|...else |
|00000d80| 0d 09 09 09 55 74 69 6c | 53 74 72 3a 3a 52 65 6d |....Util|Str::Rem|
|00000d90| 6f 76 65 28 20 69 6e 49 | 6e 64 65 78 20 2a 20 34 |ove( inI|ndex * 4|
|00000da0| 20 2b 20 31 2c 20 34 20 | 29 3b 0d 09 09 72 65 74 | + 1, 4 |);...ret|
|00000db0| 75 72 6e 20 74 72 75 65 | 3b 20 7d 0d 09 65 6c 73 |urn true|; }..els|
|00000dc0| 65 0d 09 09 72 65 74 75 | 72 6e 20 66 61 6c 73 65 |e...retu|rn false|
|00000dd0| 3b 0d 7d 0d 0d 0d 0d 0d | 62 6f 6f 6c 20 58 50 74 |;.}.....|bool XPt|
|00000de0| 72 4c 69 73 74 3a 3a 52 | 65 6d 6f 76 65 4c 61 73 |rList::R|emoveLas|
|00000df0| 74 28 29 20 7b 0d 0d 09 | 69 66 20 28 20 6c 65 6e |t() {...|if ( len|
|00000e00| 67 74 68 28 29 20 3e 20 | 30 20 29 20 7b 0d 09 09 |gth() > |0 ) {...|
|00000e10| 54 72 75 6e 63 28 20 34 | 20 29 3b 0d 09 09 72 65 |Trunc( 4| );...re|
|00000e20| 74 75 72 6e 20 74 72 75 | 65 3b 20 7d 0d 09 65 6c |turn tru|e; }..el|
|00000e30| 73 65 0d 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |se...ret|urn fals|
|00000e40| 65 3b 0d 7d 0d 0d 0d 76 | 6f 69 64 20 58 50 74 72 |e;.}...v|oid XPtr|
|00000e50| 4c 69 73 74 3a 3a 52 65 | 6d 6f 76 65 41 6c 6c 28 |List::Re|moveAll(|
|00000e60| 29 20 7b 0d 09 57 69 70 | 65 28 29 3b 0d 7d 0d 0d |) {..Wip|e();.}..|
|00000e70| 0d 0d 0d 76 6f 69 64 20 | 58 50 74 72 4c 69 73 74 |...void |XPtrList|
|00000e80| 3a 3a 4d 6f 76 65 54 6f | 48 65 61 64 28 20 6c 6f |::MoveTo|Head( lo|
|00000e90| 6e 67 20 69 6e 49 6e 64 | 65 78 20 29 20 7b 0d 09 |ng inInd|ex ) {..|
|00000ea0| 76 6f 69 64 2a 20 70 3b | 0d 09 63 68 61 72 2a 20 |void* p;|..char* |
|00000eb0| 73 3b 0d 09 0d 09 69 66 | 20 28 20 69 6e 49 6e 64 |s;....if| ( inInd|
|00000ec0| 65 78 20 3e 20 31 20 29 | 20 7b 0d 09 09 69 66 20 |ex > 1 )| {...if |
|00000ed0| 28 20 46 65 74 63 68 28 | 20 69 6e 49 6e 64 65 78 |( Fetch(| inIndex|
|00000ee0| 2c 20 26 70 20 29 20 29 | 20 7b 0d 09 09 09 69 6e |, &p ) )| {....in|
|00000ef0| 49 6e 64 65 78 2d 2d 3b | 0d 09 09 09 73 20 3d 20 |Index--;|....s = |
|00000f00| 67 65 74 43 53 74 72 28 | 29 3b 0d 09 09 09 69 66 |getCStr(|);....if|
|00000f10| 20 28 20 6d 4f 72 64 65 | 72 69 6e 67 20 3d 3d 20 | ( mOrde|ring == |
|00000f20| 63 4f 72 64 65 72 4e 6f | 74 49 6d 70 6f 72 74 61 |cOrderNo|tImporta|
|00000f30| 6e 74 20 29 0d 09 09 09 | 09 2a 28 20 28 76 6f 69 |nt )....|.*( (voi|
|00000f40| 64 2a 2a 29 20 28 73 20 | 2b 20 69 6e 49 6e 64 65 |d**) (s |+ inInde|
|00000f50| 78 20 2a 20 34 29 20 29 | 20 3d 20 2a 28 20 28 76 |x * 4) )| = *( (v|
|00000f60| 6f 69 64 2a 2a 29 20 73 | 29 3b 09 0d 09 09 09 65 |oid**) s|);.....e|
|00000f70| 6c 73 65 0d 09 09 09 09 | 55 74 69 6c 53 74 72 3a |lse.....|UtilStr:|
|00000f80| 3a 4d 6f 76 65 28 20 73 | 2b 34 2c 20 73 2c 20 69 |:Move( s|+4, s, i|
|00000f90| 6e 49 6e 64 65 78 20 2a | 20 34 20 29 3b 0d 09 09 |nIndex *| 4 );...|
|00000fa0| 09 2a 28 20 28 76 6f 69 | 64 2a 2a 29 20 73 29 20 |.*( (voi|d**) s) |
|00000fb0| 3d 20 70 3b 0d 09 09 7d | 0d 09 7d 0d 7d 0d 0d 0d |= p;...}|..}.}...|
|00000fc0| 0d 0d 76 6f 69 64 2a 20 | 58 50 74 72 4c 69 73 74 |..void* |XPtrList|
|00000fd0| 3a 3a 46 65 74 63 68 28 | 20 6c 6f 6e 67 20 69 6e |::Fetch(| long in|
|00000fe0| 49 6e 64 65 78 20 29 20 | 63 6f 6e 73 74 20 7b 0d |Index ) |const {.|
|00000ff0| 09 69 66 20 28 20 69 6e | 49 6e 64 65 78 20 3e 3d |.if ( in|Index >=|
|00001000| 20 31 20 26 26 20 69 6e | 49 6e 64 65 78 20 3c 3d | 1 && in|Index <=|
|00001010| 20 6c 65 6e 67 74 68 28 | 29 20 3e 3e 20 32 20 29 | length(|) >> 2 )|
|00001020| 0d 09 09 72 65 74 75 72 | 6e 20 2a 28 20 28 76 6f |...retur|n *( (vo|
|00001030| 69 64 2a 2a 29 20 28 67 | 65 74 43 53 74 72 28 29 |id**) (g|etCStr()|
|00001040| 20 2b 20 28 20 69 6e 49 | 6e 64 65 78 20 2d 20 31 | + ( inI|ndex - 1|
|00001050| 20 29 20 2a 20 34 29 20 | 29 3b 0d 09 65 6c 73 65 | ) * 4) |);..else|
|00001060| 0d 09 09 72 65 74 75 72 | 6e 20 4e 55 4c 4c 3b 0d |...retur|n NULL;.|
|00001070| 7d 0d 0d 0d 62 6f 6f 6c | 20 58 50 74 72 4c 69 73 |}...bool| XPtrLis|
|00001080| 74 3a 3a 46 65 74 63 68 | 28 20 6c 6f 6e 67 20 69 |t::Fetch|( long i|
|00001090| 6e 49 6e 64 65 78 2c 20 | 76 6f 69 64 2a 2a 20 69 |nIndex, |void** i|
|000010a0| 6f 50 74 72 44 65 73 74 | 20 29 20 63 6f 6e 73 74 |oPtrDest| ) const|
|000010b0| 20 7b 0d 09 0d 09 69 66 | 20 28 20 69 6f 50 74 72 | {....if| ( ioPtr|
|000010c0| 44 65 73 74 20 29 20 7b | 0d 09 09 69 66 20 28 20 |Dest ) {|...if ( |
|000010d0| 69 6e 49 6e 64 65 78 20 | 3e 3d 20 31 20 26 26 20 |inIndex |>= 1 && |
|000010e0| 69 6e 49 6e 64 65 78 20 | 3c 3d 20 6c 65 6e 67 74 |inIndex |<= lengt|
|000010f0| 68 28 29 20 2f 20 34 20 | 29 20 7b 0d 09 09 09 2a |h() / 4 |) {....*|
|00001100| 69 6f 50 74 72 44 65 73 | 74 20 3d 20 2a 28 20 28 |ioPtrDes|t = *( (|
|00001110| 76 6f 69 64 2a 2a 29 20 | 28 67 65 74 43 53 74 72 |void**) |(getCStr|
|00001120| 28 29 20 2b 20 28 20 69 | 6e 49 6e 64 65 78 20 2d |() + ( i|nIndex -|
|00001130| 20 31 20 29 20 2a 20 34 | 29 20 29 3b 0d 09 09 09 | 1 ) * 4|) );....|
|00001140| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 20 7d 0d 09 |return t|rue; }..|
|00001150| 09 65 6c 73 65 0d 09 09 | 09 2a 69 6f 50 74 72 44 |.else...|.*ioPtrD|
|00001160| 65 73 74 20 3d 20 4e 55 | 4c 4c 3b 0d 09 7d 0d 09 |est = NU|LL;..}..|
|00001170| 0d 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|00001180| 7d 0d 0d 0d 0d 0d 0d 0d | 0d 76 6f 69 64 20 58 50 |}.......|.void XP|
|00001190| 74 72 4c 69 73 74 3a 3a | 52 61 6e 64 6f 6d 69 7a |trList::|Randomiz|
|000011a0| 65 28 29 20 7b 0d 09 76 | 6f 69 64 2a 09 74 65 6d |e() {..v|oid*.tem|
|000011b0| 70 2c 20 2a 2a 70 74 72 | 41 72 72 61 79 20 3d 20 |p, **ptr|Array = |
|000011c0| 28 76 6f 69 64 2a 2a 29 | 20 67 65 74 43 53 74 72 |(void**)| getCStr|
|000011d0| 28 29 3b 0d 09 6c 6f 6e | 67 09 69 2c 20 72 61 6e |();..lon|g.i, ran|
|000011e0| 64 49 64 78 2c 20 6e 20 | 3d 20 43 6f 75 6e 74 28 |dIdx, n |= Count(|
|000011f0| 29 3b 0d 09 0d 09 66 6f | 72 20 28 20 69 20 3d 20 |);....fo|r ( i = |
|00001200| 30 3b 20 69 20 3c 20 6e | 3b 20 69 2b 2b 20 29 20 |0; i < n|; i++ ) |
|00001210| 7b 0d 09 09 72 61 6e 64 | 49 64 78 20 3d 20 6e 6f |{...rand|Idx = no|
|00001220| 64 65 43 6c 61 73 73 3a | 3a 52 6e 64 28 20 31 2c |deClass:|:Rnd( 1,|
|00001230| 20 6e 20 29 3b 0d 09 09 | 74 65 6d 70 20 3d 20 70 | n );...|temp = p|
|00001240| 74 72 41 72 72 61 79 5b | 20 69 20 5d 3b 0d 09 09 |trArray[| i ];...|
|00001250| 70 74 72 41 72 72 61 79 | 5b 20 69 20 5d 20 3d 20 |ptrArray|[ i ] = |
|00001260| 70 74 72 41 72 72 61 79 | 5b 20 72 61 6e 64 49 64 |ptrArray|[ randId|
|00001270| 78 2d 31 20 5d 3b 0d 09 | 09 70 74 72 41 72 72 61 |x-1 ];..|.ptrArra|
|00001280| 79 5b 20 72 61 6e 64 49 | 64 78 2d 31 20 5d 20 3d |y[ randI|dx-1 ] =|
|00001290| 20 74 65 6d 70 3b 20 0d | 09 7d 0d 7d 00 00 00 00 | temp; .|.}.}....|
|000012a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000012f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001300| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00001310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 2f 2f 09 57 |--------|---.//.W|
|00001320| 72 69 74 65 20 61 20 64 | 6f 75 62 6c 65 2e 20 20 |rite a d|ouble. |
|00001330| 0c 58 50 74 72 4c 69 73 | 74 2e 63 70 70 44 65 76 |.XPtrLis|t.cppDev|
|00001340| 69 67 2e 6d 70 33 2e 6d | 70 33 77 6f 72 6c 64 2e |ig.mp3.m|p3world.|
|00001350| 02 00 54 45 58 54 43 57 | 49 45 01 00 ff ff ff ff |..TEXTCW|IE......|
|00001360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001370| 00 00 ae 2f 89 a2 00 00 | 0f 55 00 00 01 9a 74 20 |.../....|.U....t |
|00001380| 49 45 45 45 20 64 6f 75 | 62 6c 65 2e 0d 0d 4c 53 |IEEE dou|ble...LS|
|00001390| 74 72 65 61 6d 26 0d 4c | 53 74 72 65 61 6d 3a 3a |tream&.L|Stream::|
|000013a0| 6f 70 65 72 61 74 6f 72 | 20 3c 3c 20 28 64 6f 75 |operator| << (dou|
|000013b0| 62 6c 65 20 69 6e 4e 75 | 6d 29 0d 7b 0d 23 69 66 |ble inNu|m).{.#if|
|000013c0| 20 64 65 66 69 6e 65 64 | 28 70 6f 77 65 72 63 29 | defined|(powerc)|
|000013d0| 20 7c 7c 20 64 65 66 69 | 6e 65 64 28 5f 5f 70 6f | || defi|ned(__po|
|000013e0| 77 65 72 63 29 0d 09 2f | 2f 20 50 6f 77 65 72 50 |werc)../|/ PowerP|
|000013f0| 43 20 64 6f 75 62 6c 65 | 73 20 2d 2d 20 74 68 65 |C double|s -- the|
|00001400| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00001410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001420| 00 00 00 00 00 00 00 03 | 00 04 00 8c 00 0f 02 4c |........|.......L|
|00001430| 02 6f 00 8c 00 0f 02 4c | 02 6f b3 80 9c af 00 00 |.o.....L|.o......|
|00001440| 0a 5e 00 00 0a 73 00 00 | 0a 57 01 00 00 00 00 04 |.^...s..|.W......|
|00001450| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00001460| 00 00 00 46 04 d3 14 54 | 18 fa 00 00 00 1c 00 46 |...F...T|.......F|
|00001470| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00001480| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00001490| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000014a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000014f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+