This is MiscString.h in view mode; [Download] [Up]
// // MiscString.h -- a generic class to simplify manipulation of (char *)'s // Written by Don Yacktman Copyright (c) 1993, 1994 by Don Yacktman. // Version 1.95. All rights reserved. // This notice may not be removed from this source code. // // This object is included in the MiscKit by permission from the author // and its use is governed by the MiscKit license, found in the file // "LICENSE.rtf" in the MiscKit distribution. Please refer to that file // for a list of all applicable permissions and restrictions. // #import <appkit/appkit.h> #import <misckit/MiscProtocols.h> #ifndef _MISCSTRING_H #define _MISCSTRING_H // special constants for -extractPart... methods #define MISC_STRING_LAST -1 #define MISC_STRING_FIRST 0 // character types...they can be OR'ed together... #define MISC_UPPER 1 #define MISC_LOWER 2 #define MISC_DIGIT 4 #define MISC_XDIGIT 8 #define MISC_PUNCT 16 #define MISC_ASCII 32 #define MISC_CNTRL 64 #define MISC_PRINT 128 #define MISC_SPACE 256 #define MISC_GRAPH 512 /* A couple of obvious combinations */ #define MISC_ALPHA (MISC_UPPER|MISC_LOWER) #define MISC_ALNUM (MISC_ALPHA|MISC_DIGIT) char *MiscBuildStringFromFormatV(const char *formatStr, va_list param_list); // Note that the NXTransport protocol is handled by the NEXTSTEP category. @interface MiscString:Object { char *buffer; NXStringOrderTable *orderTable; int length, _length; // length is string length, _length is buffer size } + initialize; + new; + newWithString:(const char *)aString; - new; - init; - initCapacity:(int)capacity; - initCapacity:(int)capacity fromZone:(NXZone *)zone; - initString:(const char *)aString; - initFromFormat:(const char *)formatStr, ...; - allocateBuffer:(int)size; - allocateBuffer:(int)size fromZone:(NXZone *)zone; - copyFromZone:(NXZone *)zone; - (char *)getCopyInto:(char *)buf; - freeString; - free; - (BOOL)emptyString; - (char)charAt:(int)index; - (int)numOfChar:(char)aChar caseSensitive:(BOOL)sense; - (int)numOfChar:(char)aChar; - (int)numOfChars:(const char *)aString caseSensitive:(BOOL)sense; - (int)numOfChars:(const char *)aString; - (int)length; - (unsigned)capacity; - setCapacity:(unsigned)newCapacity; - (size_t)recalcLength; - fixStringLength; - fixStringLengthAt:(unsigned)index; - setStringOrderTable:(NXStringOrderTable *)table; - (NXStringOrderTable *)stringOrderTable; - (const char *)stringValue; - (NXAtom)uniqueStringValue; - (const char *)stringValueAndFree; - (int)intValue; - (float)floatValue; - (double)doubleValue; @end @interface MiscString(Comparing) <MiscCompare, MiscEndCompare> - (BOOL)isEqual:anObject; - (unsigned int)hash; - (int)cmp:(const char *)aString n:(int)n; - (int)compareTo:sender n:(int)n caseSensitive:(BOOL)sense; - (int)casecmp:(const char *)aString n:(int)n; - (int)endcmp:(const char *)aString n:(int)n; - (int)endcasecmp:(const char *)aString n:(int)n; - (int)endCompareTo:(id)sender n:(int)n caseSensitive:(BOOL)sense; #ifndef _HEADER_VIEWER_ /* convenience methods */ - (int)cmp:(const char *)aString; - (int)casecmp:(const char *)aString; - (int)endcmp:(const char *)aString; - (int)endcasecmp:(const char *)aString; - (int)compareTo:sender; - (int)compareTo:sender n:(int)n; - (int)compareTo:sender caseSensitive:(BOOL)sense; - (int)endCompareTo:(id)sender; - (int)endCompareTo:(id)sender caseSensitive:(BOOL)sense; - (int)endCompareTo:(id)sender n:(int)n; #endif @end @interface MiscString(Debugging) - buildInstanceImageIn:(char *)buf; - printForDebugger:(NXStream *)stream; - printToStdErr:(const char *)label; @end @interface MiscString(Fields) - subStringRight:subString; - subStringLeft:subString; - left:(int)count fromZone:(NXZone *)zone; - right:(int)count fromZone:(NXZone *)zone; - midFrom:(int)start to:(int)end fromZone:(NXZone *)zone; - midFrom:(int)start length:(int)len fromZone:(NXZone *)zone; - extractPart:(int)n useAsDelimiter:(char)c caseSensitive:(BOOL)sense fromZone:(NXZone *)zone; - wordNum:(int) num fromZone:(NXZone *)zone; - (int)numWords; - tokenize:(const char *)breakChars into:aList; #ifndef _HEADER_VIEWER_ /* convenience methods */ - extractPart:(int)n useAsDelimiter:(char)c caseSensitive:(BOOL)sense; - extractPart:(int)n useAsDelimiter:(char)c fromZone:(NXZone *)zone; - extractPart:(int)n useAsDelimiter:(char)c; - wordNum:(int) num; - left:(int)count; - right:(int)count; - midFrom:(int)start to:(int)end; - midFrom:(int)start length:(int)len; #endif @end @interface MiscString(Insertion) - cat:(const char *)aString n:(int)n fromZone:(NXZone *)zone; - concatenate:sender n:(int)n fromZone:(NXZone *)zone; - insert:(const char *)aString at:(int)index; - insertString:(id)sender at:(int)index; - insertChar:(char)aChar at:(int)index; - catStrings: ( const char *) strings, ...; - concatenateStrings:(id)strings, ...; - insert:(const char *)aString; - insertString:aString; - addChar:(char)aChar; - insertFromFormat:(const char *)format, ...; - insertAt:(int)index fromFormat:(const char *)format, ...; - catFromFormat:(const char *)format, ...; #ifndef _HEADER_VIEWER_ /* convenience methods */ - cat:(const char *)aString; - cat:(const char *)aString n:(int)n; - cat:(const char *)aString fromZone:(NXZone *)zone; - concatenate:sender; - concatenate:sender n:(int)n; - concatenate:sender fromZone:(NXZone *)zone; - insertChar:(char)aChar; #endif @end @interface MiscString(Modification) - setStringValue:(const char *)aString; - setStringValue:(const char *)aString n:(int)n fromZone:(NXZone *)zone; - setFromFormat:(const char *)formatStr, ...; - setIntValue:(int)val; - setFloatValue:(float)val; - setDoubleValue:(double)val; - sprintf:(const char *)formatStr, ...; - takeStringValueFrom:sender; - takeStringValueFrom:sender fromZone:(NXZone *)zone; - takeIntValueFrom:sender; - takeFloatValueFrom:sender; - takeDoubleValueFrom:sender; - trimLeadSpaces; - trimTailSpaces; - trimSpaces; - trimLeadWhiteSpaces; - trimTailWhiteSpaces; - trimWhiteSpaces; - squashSpaces; - reverse; - toUpper; - toLower; - invertCases; - capitalizeEachWord; - removeFrom:(int)index length:(int)len; - removeFrom:(int)start to:(int)end; - (int)gets; - (int)fgets:(FILE *)fd keepNewline:(BOOL)keepit; - (int)streamGets:(NXStream *)stream keepNewline:(BOOL)keepit; - padToLength:(int)len withChar:(char)aChar; - padFrontToLength:(int)len withChar:(char)aChar; #ifndef _HEADER_VIEWER_ /* convenience methods */ - setStringValue:(const char *)aString fromZone:(NXZone *)zone; - setStringValue:(const char *)aString n:(int)n; - (int)fgets:(FILE *)fd; - (int)streamGets:(NXStream *)stream; #endif @end @interface MiscString(NEXTSTEP) <NXTransport> - read:(NXTypedStream *)stream; - write:(NXTypedStream *)stream; - (BOOL)isRTFText; - (MiscString *)plainTextForRTF; - (const char *)getInspectorClassName; - (NXImage *)getIBImage; - writeToStream:(NXStream *)aStream; @end #import <misckit/MiscStringPatterns.h> #import <misckit/MiscStringRegex.h> #import <misckit/MiscString_ExtendedParsing.h> #import <misckit/MiscStringCompatability.h> @interface MiscString(Replacing) - replaceFrom:(int)start length:(int)len with:(const char *)aString; - replaceFrom:(int)start to:(int)end with:(const char *)aString; - replaceFrom:(int)start length:(int)len withString:(id)sender; - replaceFrom:(int)start to:(int)end withString:(id)sender; - replace:(const char *)subString with:(const char *)newString; - replace:(const char *)subString withString:(id)sender; - replaceCharAt:(int)index withChar:(char)aChar; - replaceFrom:(int)start length:(int)len withChar:(char)aChar; - replaceFrom:(int)start to:(int)end withChar:(char)aChar; - replaceEveryOccurrenceOfChars:(const char *)aString with:(const char *)replaceString caseSensitive:(BOOL)sense; - replaceEveryOccurrenceOfChars:(const char *)aString withChar:(char)replaceChar caseSensitive:(BOOL)sense; - replaceEveryOccurrenceOfChars:(const char *)aString withString:(id)sender caseSensitive:(BOOL)sense; - replaceEveryOccurrenceOfChar:(char)aChar with:(const char *)aString caseSensitive:(BOOL)sense; - replaceEveryOccurrenceOfChar:(char)aChar withString:(id)sender caseSensitive:(BOOL)sense; - replaceEveryOccurrenceOfChar:(char)aChar withChar:(char)replaceChar caseSensitive:(BOOL)sense; - replaceType:(int)type with:(const char *)str occurrenceNum:(int)n; - replaceType:(int)type withChar:(char)aChar occurrenceNum:(int)n; - replaceType:(int)type withString:(id)sender occurrenceNum:(int)n; - replaceEveryOccurrenceOfType:(int)type with:(const char *)str; - replaceEveryOccurrenceOfType:(int)type withChar:(char)aChar; - replaceEveryOccurrenceOfType:(int)type withString:(id)sender; - (int)replaceEveryOccurrenceOf:(const char *)str with:(const char *)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOf:(const char *)str withChar:(char)aChar caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOf:(const char *)str withString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender with:(const char *)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender withChar:(char)aChar caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender withString:(id)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replace:(const char *)str with:(const char *)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replace:(const char *)str withChar:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replace:(const char *)str withString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender with:(const char *)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender withChar:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender withString:(id)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; #ifndef _HEADER_VIEWER_ /* convenience methods */ - replaceEveryOccurrenceOfChars:(const char *)aString with:(const char *)replaceString; - replaceEveryOccurrenceOfChars:(const char *)aString withChar:(char)replaceChar; - replaceEveryOccurrenceOfChars:(const char *)aString withString:(id)sender; - replaceEveryOccurrenceOfChar:(char)aChar with:(const char *)aString; - replaceEveryOccurrenceOfChar:(char)aChar withString:(id)sender; - replaceEveryOccurrenceOfChar:(char)aChar withChar:(char)replaceChar; - replaceType:(int)type with:(const char *)str; - replaceType:(int)type withChar:(char)aChar; - replaceType:(int)type withString:(id)sender; - (int)replaceEveryOccurrenceOf:(const char *)str with:(const char *)repl; - (int)replaceEveryOccurrenceOf:(const char *)str with:(const char *)repl caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOf:(const char *)str with:(const char *)repl overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOf:(const char *)str withChar:(char)aChar; - (int)replaceEveryOccurrenceOf:(const char *)str withChar:(char)aChar caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOf:(const char *)str withChar:(char)aChar overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOf:(const char *)str withString:(id)sender; - (int)replaceEveryOccurrenceOf:(const char *)str withString:(id)sender caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOf:(const char *)str withString:(id)sender overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender with:(const char *)repl; - (int)replaceEveryOccurrenceOfString:(id)sender with:(const char *)repl caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOfString:(id)sender with:(const char *)repl overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender withChar:(char)aChar; - (int)replaceEveryOccurrenceOfString:(id)sender withChar:(char)aChar caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOfString:(id)sender withChar:(char)aChar overlap:(BOOL)overlap; - (int)replaceEveryOccurrenceOfString:(id)sender withString:(id)repl; - (int)replaceEveryOccurrenceOfString:(id)sender withString:(id)repl caseSensitive:(BOOL)sense; - (int)replaceEveryOccurrenceOfString:(id)sender withString:(id)repl overlap:(BOOL)overlap; - replace:(const char *)str with:(const char *)repl; - replace:(const char *)str with:(const char *)repl occurrenceNum:(int)n; - replace:(const char *)str with:(const char *)repl caseSensitive:(BOOL)sense; - replace:(const char *)str with:(const char *)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replace:(const char *)str with:(const char *)repl overlap:(BOOL)overlap; - replace:(const char *)str with:(const char *)repl occurrenceNum:(int)n overlap:(BOOL)overlap; - replace:(const char *)str with:(const char *)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replace:(const char *)str withChar:(char)aChar; - replace:(const char *)str withChar:(char)aChar occurrenceNum:(int)n; - replace:(const char *)str withChar:(char)aChar caseSensitive:(BOOL)sense; - replace:(const char *)str withChar:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replace:(const char *)str withChar:(char)aChar overlap:(BOOL)overlap; - replace:(const char *)str withChar:(char)aChar occurrenceNum:(int)n overlap:(BOOL)overlap; - replace:(const char *)str withChar:(char)aChar caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replace:(const char *)str withString:(id)sender; - replace:(const char *)str withString:(id)sender occurrenceNum:(int)n; - replace:(const char *)str withString:(id)sender caseSensitive:(BOOL)sense; - replace:(const char *)str withString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replace:(const char *)str withString:(id)sender overlap:(BOOL)overlap; - replace:(const char *)str withString:(id)sender occurrenceNum:(int)n overlap:(BOOL)overlap; - replace:(const char *)str withString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender with:(const char *)repl; - replaceString:(id)sender with:(const char *)repl occurrenceNum:(int)n; - replaceString:(id)sender with:(const char *)repl caseSensitive:(BOOL)sense; - replaceString:(id)sender with:(const char *)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replaceString:(id)sender with:(const char *)repl overlap:(BOOL)overlap; - replaceString:(id)sender with:(const char *)repl occurrenceNum:(int)n overlap:(BOOL)overlap; - replaceString:(id)sender with:(const char *)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender withChar:(char)aChar; - replaceString:(id)sender withChar:(char)aChar occurrenceNum:(int)n; - replaceString:(id)sender withChar:(char)aChar caseSensitive:(BOOL)sense; - replaceString:(id)sender withChar:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replaceString:(id)sender withChar:(char)aChar overlap:(BOOL)overlap; - replaceString:(id)sender withChar:(char)aChar occurrenceNum:(int)n overlap:(BOOL)overlap; - replaceString:(id)sender withChar:(char)aChar caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - replaceString:(id)sender withString:(id)repl; - replaceString:(id)sender withString:(id)repl occurrenceNum:(int)n; - replaceString:(id)sender withString:(id)repl caseSensitive:(BOOL)sense; - replaceString:(id)sender withString:(id)repl occurrenceNum:(int)n caseSensitive:(BOOL)sense; - replaceString:(id)sender withString:(id)repl overlap:(BOOL)overlap; - replaceString:(id)sender withString:(id)repl occurrenceNum:(int)n overlap:(BOOL)overlap; - replaceString:(id)sender withString:(id)repl caseSensitive:(BOOL)sense overlap:(BOOL)overlap; #endif @end @interface MiscString(Searching) - (int)spotOf:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)rspotOf:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)rindex:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)index:(char)aChar occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)spotOfChars:(const char *)aString occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)rspotOfChars:(const char *)aString occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)rindexOfChars:(const char *)aString occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)indexOfChars:(const char *)aString occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (BOOL) hasType:(int)type; - (BOOL) isAllOfType:(int)type; - (int)spotOfType:(int)type occurrenceNum:(int)n; - (int)rspotOfType:(int)type occurrenceNum:(int)n; - (int)spotOfStr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)rspotOfStr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)spotOfString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)rspotOfString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)strstr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)rstrstr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)strString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)rstrString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)numOfType:(int)type; - (int)numOf:(const char *)str caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)numOfString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; #ifndef _HEADER_VIEWER_ /* convenience methods */ - (int)spotOf:(char)aChar; - (int)spotOf:(char)aChar caseSensitive:(BOOL)sense; - (int)spotOf:(char)aChar occurrenceNum:(int)n; - (int)rspotOf:(char)aChar; - (int)rspotOf:(char)aChar caseSensitive:(BOOL)sense; - (int)rspotOf:(char)aChar occurrenceNum:(int)n; - (const char *)rindex:(char)aChar; - (const char *)rindex:(char)aChar occurrenceNum:(int)n; - (const char *)rindex:(char)aChar caseSensitive:(BOOL)sense; - (const char *)index:(char)aChar; - (const char *)index:(char)aChar occurrenceNum:(int)n; - (const char *)index:(char)aChar caseSensitive:(BOOL)sense; - (int)spotOfChars:(const char *)aString; - (int)spotOfChars:(const char *)aString caseSensitive:(BOOL)sense; - (int)spotOfChars:(const char *)aString occurrenceNum:(int)n; - (int)rspotOfChars:(const char *)aString; - (int)rspotOfChars:(const char *)aString caseSensitive:(BOOL)sense; - (int)rspotOfChars:(const char *)aString occurrenceNum:(int)n; - (const char *)rindexOfChars:(const char *)aString; - (const char *)rindexOfChars:(const char *)aString caseSensitive:(BOOL)sense; - (const char *)rindexOfChars:(const char *)aString occurrenceNum:(int)n; - (const char *)indexOfChars:(const char *)aString; - (const char *)indexOfChars:(const char *)aString caseSensitive:(BOOL)sense; - (const char *)indexOfChars:(const char *)aString occurrenceNum:(int)n; - (int)spotOfType:(int)type; - (int)rspotOfType:(int)type; - (int)spotOfStr:(const char *)str; - (int)spotOfStr:(const char *)str occurrenceNum:(int)n; - (int)spotOfStr:(const char *)str caseSensitive:(BOOL)sense; - (int)spotOfStr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)spotOfStr:(const char *)str overlap:(BOOL)overlap; - (int)spotOfStr:(const char *)str occurrenceNum:(int)n overlap:(BOOL)overlap; - (int)spotOfStr:(const char *)str caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)rspotOfStr:(const char *)str; - (int)rspotOfStr:(const char *)str occurrenceNum:(int)n; - (int)rspotOfStr:(const char *)str caseSensitive:(BOOL)sense; - (int)rspotOfStr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)rspotOfStr:(const char *)str overlap:(BOOL)overlap; - (int)rspotOfStr:(const char *)str occurrenceNum:(int)n overlap:(BOOL)overlap; - (int)rspotOfStr:(const char *)str caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)spotOfString:(id)sender; - (int)spotOfString:(id)sender occurrenceNum:(int)n; - (int)spotOfString:(id)sender caseSensitive:(BOOL)sense; - (int)spotOfString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)spotOfString:(id)sender overlap:(BOOL)overlap; - (int)spotOfString:(id)sender occurrenceNum:(int)n overlap:(BOOL)overlap; - (int)spotOfString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)rspotOfString:(id)sender; - (int)rspotOfString:(id)sender occurrenceNum:(int)n; - (int)rspotOfString:(id)sender caseSensitive:(BOOL)sense; - (int)rspotOfString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (int)rspotOfString:(id)sender overlap:(BOOL)overlap; - (int)rspotOfString:(id)sender occurrenceNum:(int)n overlap:(BOOL)overlap; - (int)rspotOfString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)strstr:(const char *)str; - (const char *)strstr:(const char *)str occurrenceNum:(int)n; - (const char *)strstr:(const char *)str caseSensitive:(BOOL)sense; - (const char *)strstr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)strstr:(const char *)str overlap:(BOOL)overlap; - (const char *)strstr:(const char *)str occurrenceNum:(int)n overlap:(BOOL)overlap; - (const char *)strstr:(const char *)str caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)rstrstr:(const char *)str; - (const char *)rstrstr:(const char *)str occurrenceNum:(int)n; - (const char *)rstrstr:(const char *)str caseSensitive:(BOOL)sense; - (const char *)rstrstr:(const char *)str occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)rstrstr:(const char *)str overlap:(BOOL)overlap; - (const char *)rstrstr:(const char *)str occurrenceNum:(int)n overlap:(BOOL)overlap; - (const char *)rstrstr:(const char *)str caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)strString:(id)sender; - (const char *)strString:(id)sender occurrenceNum:(int)n; - (const char *)strString:(id)sender caseSensitive:(BOOL)sense; - (const char *)strString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)strString:(id)sender overlap:(BOOL)overlap; - (const char *)strString:(id)sender occurrenceNum:(int)n overlap:(BOOL)overlap; - (const char *)strString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (const char *)rstrString:(id)sender; - (const char *)rstrString:(id)sender occurrenceNum:(int)n; - (const char *)rstrString:(id)sender caseSensitive:(BOOL)sense; - (const char *)rstrString:(id)sender occurrenceNum:(int)n caseSensitive:(BOOL)sense; - (const char *)rstrString:(id)sender overlap:(BOOL)overlap; - (const char *)rstrString:(id)sender occurrenceNum:(int)n overlap:(BOOL)overlap; - (const char *)rstrString:(id)sender caseSensitive:(BOOL)sense overlap:(BOOL)overlap; - (int)numOf:(const char *)str; - (int)numOf:(const char *)str caseSensitive:(BOOL)sense; - (int)numOf:(const char *)str overlap:(BOOL)overlap; - (int)numOfString:(id)sender; - (int)numOfString:(id)sender caseSensitive:(BOOL)sense; - (int)numOfString:(id)sender overlap:(BOOL)overlap; #endif @end @interface MiscString(Sybase) - convertUnixWildcardsToSybase; - convertToCaseInsensitiveSearchString; - makeCaseInsensitiveSearchString; @end // These are legal arguments for the -isFileOfType: method... typedef enum _MiscFileType { Misc_Socket = S_IFSOCK, // socket Misc_Directory = S_IFDIR, // directory Misc_PlainFile = S_IFREG, // regular (plain) file Misc_SymbolicLink = S_IFLNK, // symbolic link Misc_CharacterSpecial = S_IFCHR, // character special Misc_BlockSpecial = S_IFBLK, // block special Misc_Fifo = S_IFIFO // fifo (Sun VFS) } MiscFileType; @interface MiscString(Unix) // all MiscStrings use a global separator for splitting up paths. // it's less overhead than making a UNIX subclass that stores these // for each and every path...and typically you would never need to // worry about changing these anyway... + setPathSeparator:(char)c; + setExtensionSeparator:(char)c; + (char)extensionSeparator; + (char)pathSeparator; // passwords - encrypt:salt; // parsing paths - fileName; - pathName; - fileExtension; - fileBasename; - fileNameFromZone:(NXZone *)zone; - pathNameFromZone:(NXZone *)zone; - fileExtensionFromZone:(NXZone *)zone; - fileBasenameFromZone:(NXZone *)zone; - addExtensionIfNeeded:(const char *)aString; // manipulating paths - replaceHomeWithTilde; - replaceTildeWithHome; // info about paths - (BOOL)isRelativePath; - (BOOL)isAbsolutePath; - (BOOL)doesExistInFileSystem; - (BOOL)isFileOfType:(MiscFileType)fileType; - (int)numberOfPathComponents; - pathComponentAt:(int)index; - setDirectory:(const char *)dir file:(const char *)file; - initDirectory:(const char *)dir file:(const char *)file; - (int)system; // runs the system() function on the string - loadFromFile:(const char *)fileName; // reads contents of file // into the string @end #endif /* _MISCSTRING_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.