Artifact d905908ecc5c2d31cf0eb2ffa1cb0ac2958d8133:
0000: 23 69 66 6e 64 65 66 20 5f 4b 49 4c 49 42 5f 43 #ifndef _KILIB_C
0010: 4d 44 41 52 47 5f 48 5f 0d 0a 23 64 65 66 69 6e MDARG_H_..#defin
0020: 65 20 5f 4b 49 4c 49 42 5f 43 4d 44 41 52 47 5f e _KILIB_CMDARG_
0030: 48 5f 0d 0a 23 69 6e 63 6c 75 64 65 20 22 74 79 H_..#include "ty
0040: 70 65 73 2e 68 22 0d 0a 23 69 6e 63 6c 75 64 65 pes.h"..#include
0050: 20 22 6d 65 6d 6f 72 79 2e 68 22 0d 0a 23 69 6e "memory.h"..#in
0060: 63 6c 75 64 65 20 22 6b 74 6c 61 70 74 72 2e 68 clude "ktlaptr.h
0070: 22 0d 0a 23 69 6e 63 6c 75 64 65 20 22 6b 74 6c "..#include "ktl
0080: 61 72 72 61 79 2e 68 22 0d 0a 23 69 66 6e 64 65 array.h"..#ifnde
0090: 66 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 6e 61 6d f __ccdoc__..nam
00a0: 65 73 70 61 63 65 20 6b 69 20 7b 0d 0a 23 65 6e espace ki {..#en
00b0: 64 69 66 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d dif........//===
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0100: 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 20 40 70 6b ======..//@{ @pk
0110: 67 20 6b 69 2e 53 74 64 4c 69 62 20 2f 2f 40 7d g ki.StdLib //@}
0120: 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 83 52 83 7d 83 ..//@{..//..R.}.
0130: 93 83 68 83 89 83 43 83 93 95 b6 8e 9a 97 f1 82 ..h...C.........
0140: cc 95 aa 8a 84 0d 0a 2f 2f 0d 0a 2f 2f 09 82 bd .......//..//...
0150: 82 be 92 50 82 c9 83 58 83 79 81 5b 83 58 82 c6 ...P...X.y.[.X..
0160: 93 f1 8f 64 88 f8 97 70 95 84 82 f0 8d 6c 97 b6 ...d...p.....l..
0170: 82 b5 82 c4 8b e6 90 d8 82 e9 82 be 82 af 82 c5 ................
0180: 82 b7 81 42 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d ...B..//@}..//==
0190: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
01a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
01b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
01c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
01d0: 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 63 6c 61 73 73 =======....class
01e0: 20 41 72 67 76 20 3a 20 70 75 62 6c 69 63 20 4f Argv : public O
01f0: 62 6a 65 63 74 0d 0a 7b 0d 0a 70 75 62 6c 69 63 bject..{..public
0200: 3a 0d 0a 0d 0a 09 2f 2f 40 7b 20 8e 77 92 e8 82 :.....//@{ .w...
0210: b3 82 ea 82 bd 95 b6 8e 9a 97 f1 82 f0 95 aa 8a ................
0220: 84 82 b7 82 e9 20 2f 2f 40 7d 0d 0a 09 41 72 67 ..... //@}...Arg
0230: 76 28 20 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 v( const TCHAR*
0240: 63 6d 64 20 3d 20 47 65 74 43 6f 6d 6d 61 6e 64 cmd = GetCommand
0250: 4c 69 6e 65 28 29 20 29 3b 0d 0a 0d 0a 09 2f 2f Line() );.....//
0260: 40 7b 20 88 f8 90 94 47 65 74 20 2f 2f 40 7d 0d @{ ....Get //@}.
0270: 0a 09 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 6f ..const TCHAR* o
0280: 70 65 72 61 74 6f 72 5b 5d 28 20 75 6c 6f 6e 67 perator[]( ulong
0290: 20 69 20 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 09 i ) const;.....
02a0: 2f 2f 40 7b 20 88 f8 90 94 82 cc 8c c2 90 94 20 //@{ ..........
02b0: 2f 2f 40 7d 0d 0a 09 75 6c 6f 6e 67 20 73 69 7a //@}...ulong siz
02c0: 65 28 29 20 63 6f 6e 73 74 3b 0d 0a 0d 0a 70 72 e() const;....pr
02d0: 69 76 61 74 65 3a 0d 0a 0d 0a 09 64 61 72 72 3c ivate:.....darr<
02e0: 54 43 48 41 52 3e 20 20 20 20 20 20 20 20 20 20 TCHAR>
02f0: 20 62 75 66 5f 3b 0d 0a 09 73 74 6f 72 61 67 65 buf_;...storage
0300: 3c 63 6f 6e 73 74 20 54 43 48 41 52 2a 3e 20 61 <const TCHAR*> a
0310: 72 67 5f 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 3a rg_;....private:
0320: 0d 0a 0d 0a 09 4e 4f 43 4f 50 59 28 41 72 67 76 .....NOCOPY(Argv
0330: 29 3b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f );..};........//
0340: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0350: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0360: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0370: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0380: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 23 69 66 6e 64 ---------..#ifnd
0390: 65 66 20 5f 5f 63 63 64 6f 63 5f 5f 0d 0a 0d 0a ef __ccdoc__....
03a0: 69 6e 6c 69 6e 65 20 63 6f 6e 73 74 20 54 43 48 inline const TCH
03b0: 41 52 2a 20 41 72 67 76 3a 3a 6f 70 65 72 61 74 AR* Argv::operat
03c0: 6f 72 20 5b 5d 28 20 75 6c 6f 6e 67 20 69 20 29 or []( ulong i )
03d0: 20 63 6f 6e 73 74 0d 0a 09 7b 20 72 65 74 75 72 const...{ retur
03e0: 6e 20 61 72 67 5f 5b 69 5d 3b 20 7d 0d 0a 0d 0a n arg_[i]; }....
03f0: 69 6e 6c 69 6e 65 20 75 6c 6f 6e 67 20 41 72 67 inline ulong Arg
0400: 76 3a 3a 73 69 7a 65 28 29 20 63 6f 6e 73 74 0d v::size() const.
0410: 0a 09 7b 20 72 65 74 75 72 6e 20 61 72 67 5f 2e ..{ return arg_.
0420: 73 69 7a 65 28 29 3b 20 7d 0d 0a 0d 0a 0d 0a 0d size(); }.......
0430: 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .//=============
0440: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0450: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0460: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0470: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a ============....
0480: 23 65 6e 64 69 66 20 2f 2f 20 5f 5f 63 63 64 6f #endif // __ccdo
0490: 63 5f 5f 0d 0a 7d 20 20 20 20 20 20 2f 2f 20 6e c__..} // n
04a0: 61 6d 65 73 70 61 63 65 20 6b 69 0d 0a 23 65 6e amespace ki..#en
04b0: 64 69 66 20 2f 2f 20 5f 4b 49 4c 49 42 5f 43 4d dif // _KILIB_CM
04c0: 44 41 52 47 5f 48 5f 0d 0a DARG_H_..