This is NSString.h in view mode; [Download] [Up]
/* Interface for NSObject for GNUStep
Copyright (C) 1995 Free Software Foundation, Inc.
Written by: R. Andrew McCallum <mccallum@gnu.ai.mit.edu>
Date: 1995
This file is part of the GNU Objective C Class Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __NSString_h_OBJECTS_INCLUDE
#define __NSString_h_OBJECTS_INCLUDE
#include <objects/stdobjects.h>
#include <Foundation/NSRange.h>
typedef unsigned short unichar;
@class NSArray;
@class NSCharacterSet;
@class NSData;
@class NSDictionary;
#define NSMaximumStringLength (INT_MAX-1)
#define NSHashStringLength 63
enum
{
NSCaseInsensitiveSearch = 1,
NSLiteralSearch = 2,
NSBackwardsSearch = 4,
NSAnchoredSearch = 8
};
typedef enum _NSStringEncoding
{
NSUnicodeStringEncoding = 0,
NSASCIIStringEncoding,
NSNEXTSTEPStringEncoding,
NSEUCStringEncoding,
NSUTFStringEncoding,
NSISOLatin1StringEncoding,
NSSymbolStringEncoding,
NSNonLossyASCIIStringEncoding
} NSStringEncoding;
@protocol NSString <NSCoding, NSCopying, NSMutableCopying>
// Creating Temporary Strings
+ (NSString*) localizedStringWithFormat: (NSString*) format, ...;
+ (NSString*) stringWithCString: (const char*) byteString;
+ (NSString*) stringWithCString: (const char*)byteString
length: (unsigned int)length;
+ (NSString*) stringWithCharacters: (const unichar*)chars
length: (unsigned int)length;
+ (NSString*) stringWithFormat: (NSString*)format,...;
+ (NSString*) stringWithFormat: (NSString*)format
arguments: (va_list)argList;
// Initializing Newly Allocated Strings
- (id) init;
- (id) initWithCString: (const char*)byteString;
- (id) initWithCString: (const char*)byteString
length: (unsigned int)length;
- (id) initWithCStringNoCopy: (char*)byteString
length: (unsigned int)length
freeWhenDone: (BOOL)flag;
- (id) initWithCharacters: (const unichar*)chars
length: (unsigned int)length;
- (id) initWithCharactersNoCopy: (unichar*)chars
length: (unsigned int)length
freeWhenDone: (BOOL)flag;
- (id) initWithContentsOfFile: (NSString*)path;
- (id) initWithData: (NSData*)data
encoding: (NSStringEncoding)encoding;
- (id) initWithFormat: (NSString*)format,...;
- (id) initWithFormat: (NSString*)format
arguments: (va_list)argList;
- (id) initWithFormat: (NSString*)format
locale: (NSDictionary*)dictionary;
- (id) initWithFormat: (NSString*)format
locale: (NSDictionary*)dictionary
arguments: (va_list)argList;
- (id) initWithString: (NSString*)string;
// Getting a String's Length
- (unsigned int) length;
// Accessing Characters
- (unichar) characterAtIndex: (unsigned int)index;
- (void) getCharacters: (unichar*)buffer;
- (void) getCharacters: (unichar*)buffer
range: (NSRange)aRange;
// Combining Strings
- (NSString*) stringByAppendingFormat: (NSString*)format,...;
- (NSString*) stringByAppendingString: (NSString*)aString;
// Dividing Strings into Substrings
- (NSArray*) componentsSeparatedByString: (NSString*)separator;
- (NSString*) substringFromIndex: (unsigned int)index;
- (NSString*) substringFromRange: (NSRange)aRange;
- (NSString*) substringToIndex: (unsigned int)index;
// Finding Ranges of Characters and Substrings
- (NSRange) rangeOfCharacterFromSet: (NSCharacterSet*)aSet;
- (NSRange) rangeOfCharacterFromSet: (NSCharacterSet*)aSet
options: (unsigned int)mask;
- (NSRange) rangeOfCharacterFromSet: (NSCharacterSet*)aSet
options: (unsigned int)mask
range: (NSRange)aRange;
- (NSRange) rangeOfString: (NSString*)string;
- (NSRange) rangeOfString: (NSString*)string
options: (unsigned int)mask;
- (NSRange) rangeOfString: (NSString*)aString
options: (unsigned int)mask
range: (NSRange)aRange;
// Determining Composed Character Sequences
- (NSRange) rangeOfComposedCharacterSequenceAtIndex: (unsigned int)anIndex;
// Identifying and Comparing Strings
- (NSComparisonResult) caseInsensitiveCompare: (NSString*)aString;
- (NSComparisonResult) compare: (NSString*)aString;
- (NSComparisonResult) compare: (NSString*)aString
options: (unsigned int)mask;
- (NSComparisonResult) compare: (NSString*)aString
options: (unsigned int)mask
range: (NSRange)aRange;
- (BOOL) hasPrefix: (NSString*)aString;
- (BOOL) hasSuffix: (NSString*)aString;
- (unsigned int) hash;
- (BOOL) isEqual: (id)anObject;
- (BOOL) isEqualToString: (NSString*)aString;
// Storing the String
- (NSString*) description;
- (BOOL) writeToFile: (NSString*)filename
atomically: (BOOL)useAuxiliaryFile;
// Getting a Shared Prefix
- (NSString*) commonPrefixWithString: (NSString*)aString
options: (unsigned int)mask;
// Changing Case
- (NSString*) capitalizedString;
- (NSString*) lowercaseString;
- (NSString*) uppercaseString;
// Getting C Strings
- (const char*) cString;
- (unsigned int) cStringLength;
- (void) getCString: (char*)buffer;
- (void) getCString: (char*)buffer
maxLength: (unsigned int)maxLength;
- (void) getCString: (char*)buffer
maxLength: (unsigned int)maxLength
range: (NSRange)aRange
remainingRange: (NSRange*)leftoverRange;
// Getting Numeric Values
- (double) doubleValue;
- (float) floatValue;
- (int) intValue;
// Working With Encodings
+ (NSStringEncoding) defaultCStringEncoding;
- (BOOL) canBeConvertedToEncoding: (NSStringEncoding)encoding;
- (NSData*) dataUsingEncoding: (NSStringEncoding)encoding;
- (NSData*) dataUsingEncoding: (NSStringEncoding)encoding
allowLossyConversion: (BOOL)flag;
- (NSStringEncoding) fastestEncoding;
- (NSStringEncoding) smallestEncoding;
// Converting String Contents into a Property List
- (id)propertyList;
- (NSDictionary*) propertyListFromStringsFileFormat;
// Manipulating File System Paths
- (unsigned int) completePathIntoString: (NSString**)outputName
caseSensitive: (BOOL)flag
matchesIntoArray: (NSArray**)outputArray
filterTypes: (NSArray*)filterTypes;
- (NSString*) lastPathComponent;
- (NSString*) pathExtension;
- (NSString*) stringByAbbreviatingWithTildeInPath;
- (NSString*) stringByAppendingPathComponent: (NSString*)aString;
- (NSString*) stringByAppendingPathExtension: (NSString*)aString;
- (NSString*) stringByDeletingLastPathComponent;
- (NSString*) stringByDeletingPathExtension;
- (NSString*) stringByExpandingTildeInPath;
- (NSString*) stringByResolvingSymlinksInPath;
- (NSString*) stringByStandardizingPath;
@end
@interface NSString : NSObject <NSString>
@end
/* This private method will go away later. */
@interface NSString (NSCStringAccess)
- (const char *) _cStringContents;
@end
@class NSMutableString;
@protocol NSMutableString <NSString>
// Creating Temporary Strings
+ (NSMutableString*) stringWithCapacity:(unsigned)capacity;
#if 0
These methods were already declared above with different return type.
Including them again here with different return type causes a
compiler warning.
+ (NSMutableString*) stringWithCString: (const char*)byteString;
+ (NSMutableString*) stringWithCharacters: (const unichar*)characters
length: (unsigned)length;
+ (NSMutableString*) stringWithCString: (const char*)bytes
length:(unsigned)length;
+ (NSMutableString*) stringWithFormat: (NSString*)format, ...;
#endif
// Initializing Newly Allocated Strings
- initWithCapacity:(unsigned)capacity;
// Modify A String
- (void) appendString: (NSString*)aString;
- (void) appendFormat: (NSString*)format, ...;
- (void) deleteCharactersInRange: (NSRange)range;
- (void) insertString: (NSString*)aString atIndex:(unsigned)index;
- (void) replaceCharactersInRange: (NSRange)range
withString: (NSString*)aString;
- (void) setString: (NSString*)aString;
@end
@interface NSMutableString : NSString <NSMutableString>
@end
/* Because the compiler thinks that @".." strings are NXConstantString's. */
#include <Foundation/NSGCString.h>
@interface NXConstantString : NSGCString
@end
#endif /* __NSString_h_OBJECTS_INCLUDE */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.