annotate pkg-src/tree-nx/String.h @ 163:0132846995bd r20-3b8

Import from CVS: tag r20-3b8
author cvs
date Mon, 13 Aug 2007 09:43:35 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
163
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
1 //
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
2 // String.h -- a generic class to simplify manipulation of (char *)'s
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
3 // Written by Don Yacktman (c) 1993 by Don Yacktman.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
4 // Version 1.1. All rights reserved.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
5 //
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
6 // You may use and copy this class freely as long as you
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
7 // comply with the following terms:
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
8 // (1) If you use this class in an application which you
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
9 // intend to sell commercially, as shareware, or otherwise,
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
10 // you may only do so with express written permission
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
11 // of the author. Use in applications which will
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
12 // be distributed free of charge is encouraged.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
13 // (2) You must include the source code to this object and
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
14 // all accompanying documentation with your application,
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
15 // or provide it to users if requested, free of charge.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
16 // (3) Do not remove the author's name or any of the
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
17 // copyright notices
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
18 //
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
19
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
20 #import <appkit/appkit.h>
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
21
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
22 @interface String:Object
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
23 {
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
24 char *buffer;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
25 NXStringOrderTable *orderTable;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
26 int length, _length;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
27 }
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
28
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
29 // basic allocation, deallocation methods
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
30 - init;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
31 - initString:(const char *)aString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
32 - allocateBuffer:(int)size;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
33 - allocateBuffer:(int)size fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
34 - read:(NXTypedStream *)stream;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
35 - write:(NXTypedStream *)stream;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
36 - freeString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
37 - free;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
38
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
39 // strcpy(), strlen() covers
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
40 - copyFromZone:(NXZone *)zone; // a -copy message calls this.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
41 - setString:(const char *)aString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
42 - setString:(const char *)aString fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
43 - setStringValue:sender;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
44 - setStringValue:sender fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
45 - (const char *)stringValue;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
46 - (int)length;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
47
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
48 // strcat(), strncat() covers
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
49 - concatenate:sender;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
50 - concatenate:sender n:(int)n;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
51 - concatenate:sender fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
52 - concatenate:sender n:(int)n fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
53 - cat:(const char *)aString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
54 - cat:(const char *)aString n:(int)n;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
55 - cat:(const char *)aString fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
56 - cat:(const char *)aString n:(int)n fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
57
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
58 // index(), rindex() covers
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
59 - (const char *)rindex:(char)aChar;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
60 - (const char *)index:(char)aChar;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
61
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
62 // strcmp(), strncmp(), strcasecmp(), strncasecmp() covers
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
63 - setStringOrderTable:(NXStringOrderTable *)table;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
64 - (NXStringOrderTable *)stringOrderTable;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
65 - (BOOL)isEqual:anObject;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
66 - (int)compareTo:sender;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
67 - (int)compareTo:sender n:(int)n;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
68 - (int)compareTo:sender caseSensitive:(BOOL)sense;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
69 - (int)compareTo:sender n:(int)n caseSensitive:(BOOL)sense;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
70 - (int)cmp:(const char *)aString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
71 - (int)cmp:(const char *)aString n:(int)n;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
72 - (int)casecmp:(const char *)aString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
73 - (int)casecmp:(const char *)aString n:(int)n;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
74 - (const char *)strstr:(const char *)subString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
75
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
76 // like BASIC's left$(), right$(), and mid$(); all return a new instance.
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
77 - left:(int)count;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
78 - right:(int)count;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
79 - midFrom:(int)start to:(int)end;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
80 - midFrom:(int)start length:(int)len;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
81 - left:(int)count fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
82 - right:(int)count fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
83 - midFrom:(int)start to:(int)end fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
84 - midFrom:(int)start length:(int)len fromZone:(NXZone *)zone;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
85 - subStringRight:subString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
86 - subStringLeft:subString;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
87
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
88 // private methods: do not use these!
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
89 - _unhookBuffer;
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
90
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
91
0132846995bd Import from CVS: tag r20-3b8
cvs
parents:
diff changeset
92 @end