Mercurial > projects > dwt-mac
diff dwt/internal/cocoa/NSString.d @ 0:380af2bdd8e5
Upload of whole dwt tree
author | Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com> |
---|---|
date | Sat, 09 Aug 2008 17:00:02 +0200 |
parents | |
children | 8b48be5454ce |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dwt/internal/cocoa/NSString.d Sat Aug 09 17:00:02 2008 +0200 @@ -0,0 +1,941 @@ +/******************************************************************************* + * Copyright (c) 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * + * Port to the D Programming language: + * Jacob Carlborg <jacob.carlborg@gmail.com> + *******************************************************************************/ +module dwt.internal.cocoa.NSString; + +import tango.core.Vararg : va_list; +import tango.stdc.stringz : toStringz; + +import dwt.dwthelper.utils; +import dwt.internal.cocoa.id; +import dwt.internal.cocoa.NSArray; +import dwt.internal.cocoa.NSCharacterSet; +import dwt.internal.cocoa.NSComparisonResult; +import dwt.internal.cocoa.NSData; +import dwt.internal.cocoa.NSDictionary; +import dwt.internal.cocoa.NSInteger; +import dwt.internal.cocoa.NSLocale; +import dwt.internal.cocoa.NSObject; +import dwt.internal.cocoa.NSRange; +import dwt.internal.cocoa.NSURL; +import dwt.internal.cocoa.OS; +import objc = dwt.internal.objc.runtime; + +enum NSStringEncoding : NSUInteger +{ + NSASCIIStringEncoding = 1, + NSNEXTSTEPStringEncoding = 2, + NSJapaneseEUCStringEncoding = 3, + NSUTF8StringEncoding = 4, + NSISOLatin1StringEncoding = 5, + NSSymbolStringEncoding = 6, + NSNonLossyASCIIStringEncoding = 7, + NSShiftJISStringEncoding = 8, + NSISOLatin2StringEncoding = 9, + NSUnicodeStringEncoding = 10, + NSWindowsCP1251StringEncoding = 11, + NSWindowsCP1252StringEncoding = 12, + NSWindowsCP1253StringEncoding = 13, + NSWindowsCP1254StringEncoding = 14, + NSWindowsCP1250StringEncoding = 15, + NSISO2022JPStringEncoding = 21, + NSMacOSRomanStringEncoding = 30, + NSUTF16BigEndianStringEncoding = 0x90000100, + NSUTF16LittleEndianStringEncoding = 0x94000100, + NSUTF32StringEncoding = 0x8c000100, + NSUTF32BigEndianStringEncoding = 0x98000100, + NSUTF32LittleEndianStringEncoding = 0x9c000100, + NSProprietaryStringEncoding = 65536 +} + +alias NSStringEncoding.NSASCIIStringEncoding NSASCIIStringEncoding; +alias NSStringEncoding.NSNEXTSTEPStringEncoding NSNEXTSTEPStringEncoding; +alias NSStringEncoding.NSJapaneseEUCStringEncoding NSJapaneseEUCStringEncoding; +alias NSStringEncoding.NSUTF8StringEncoding NSUTF8StringEncoding; +alias NSStringEncoding.NSISOLatin1StringEncoding NSISOLatin1StringEncoding; +alias NSStringEncoding.NSSymbolStringEncoding NSSymbolStringEncoding; +alias NSStringEncoding.NSNonLossyASCIIStringEncoding NSNonLossyASCIIStringEncoding; +alias NSStringEncoding.NSShiftJISStringEncoding NSShiftJISStringEncoding; +alias NSStringEncoding.NSISOLatin2StringEncoding NSISOLatin2StringEncoding; +alias NSStringEncoding.NSUnicodeStringEncoding NSUnicodeStringEncoding; +alias NSStringEncoding.NSWindowsCP1251StringEncoding NSWindowsCP1251StringEncoding; +alias NSStringEncoding.NSWindowsCP1252StringEncoding NSWindowsCP1252StringEncoding; +alias NSStringEncoding.NSWindowsCP1253StringEncoding NSWindowsCP1253StringEncoding; +alias NSStringEncoding.NSWindowsCP1254StringEncoding NSWindowsCP1254StringEncoding; +alias NSStringEncoding.NSWindowsCP1250StringEncoding NSWindowsCP1250StringEncoding; +alias NSStringEncoding.NSISO2022JPStringEncoding NSISO2022JPStringEncoding; +alias NSStringEncoding.NSMacOSRomanStringEncoding NSMacOSRomanStringEncoding; +alias NSStringEncoding.NSUTF16BigEndianStringEncoding NSUTF16BigEndianStringEncoding; +alias NSStringEncoding.NSUTF16LittleEndianStringEncoding NSUTF16LittleEndianStringEncoding; +alias NSStringEncoding.NSUTF32StringEncoding NSUTF32StringEncoding; +alias NSStringEncoding.NSUTF32BigEndianStringEncoding NSUTF32BigEndianStringEncoding; +alias NSStringEncoding.NSUTF32LittleEndianStringEncoding NSUTF32LittleEndianStringEncoding; +alias NSStringEncoding.NSProprietaryStringEncoding NSProprietaryStringEncoding; + +enum NSStringCompareOptions : NSUInteger +{ + NSCaseInsensitiveSearch = 1, + NSLiteralSearch = 2, + NSBackwardsSearch = 4, + NSAnchoredSearch = 8, + NSNumericSearch = 64, + NSDiacriticInsensitiveSearch = 128, + NSWidthInsensitiveSearch = 256, + NSForcedOrderingSearch = 512 +} + +alias NSStringCompareOptions.NSCaseInsensitiveSearch NSCaseInsensitiveSearch; +alias NSStringCompareOptions.NSLiteralSearch NSLiteralSearch; +alias NSStringCompareOptions.NSBackwardsSearch NSBackwardsSearch; +alias NSStringCompareOptions.NSAnchoredSearch NSAnchoredSearch; +alias NSStringCompareOptions.NSNumericSearch NSNumericSearch; +alias NSStringCompareOptions.NSDiacriticInsensitiveSearch NSDiacriticInsensitiveSearch; +alias NSStringCompareOptions.NSWidthInsensitiveSearch NSWidthInsensitiveSearch; +alias NSStringCompareOptions.NSForcedOrderingSearch NSForcedOrderingSearch; + +enum NSStringEncodingConversionOptions : NSUInteger +{ + NSStringEncodingConversionAllowLossy = 1, + NSStringEncodingConversionExternalRepresentation = 2 +} + +alias NSStringEncodingConversionOptions.NSStringEncodingConversionAllowLossy NSStringEncodingConversionAllowLossy; +alias NSStringEncodingConversionOptions.NSStringEncodingConversionExternalRepresentation NSStringEncodingConversionExternalRepresentation; + +public class NSString : NSObject +{ + + public this () + { + super(); + } + + public this (objc.id id) + { + super(id); + } + + public /*const*/char* UTF8String () + { + return cast(/*const*/char*) OS.objc_msgSend(this.id, OS.sel_UTF8String); + } + + public static NSStringEncoding availableStringEncodings () + { + return cast(NSStringEncoding) OS.objc_msgSend(OS.class_NSString, OS.sel_availableStringEncodings); + } + + public bool boolValue () + { + return OS.objc_msgSend(this.id, OS.sel_boolValue) !is null; + } + + public /*const char* */byte* cString () + { + return cast(/*const char* */byte*) OS.objc_msgSend(this.id, OS.sel_cString); + } + + public NSUInteger cStringLength () + { + return OS.objc_msgSend(this.id, OS.sel_cStringLength); + } + + public /*const char* */byte* cStringUsingEncoding (NSStringEncoding encoding) + { + return cast(/*const char* */byte*) OS.objc_msgSend(this.id, OS.sel_cStringUsingEncoding_1, encoding); + } + + public bool canBeConvertedToEncoding (NSStringEncoding encoding) + { + return OS.objc_msgSend(this.id, OS.sel_canBeConvertedToEncoding_1, encoding) !is null; + } + + public NSString capitalizedString () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_capitalizedString); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSComparisonResult caseInsensitiveCompare (NSString string) + { + return OS.objc_msgSend(this.id, OS.sel_caseInsensitiveCompare_1, string !is null ? string.id : null); + } + + public wchar characterAtIndex (NSUInteger index) + { + return cast(wchar) OS.objc_msgSend(this.id, OS.sel_characterAtIndex_1, index); + } + + public NSString commonPrefixWithString (NSString aString, NSStringCompareOptions mask) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_commonPrefixWithString_1options_1, aString !is null ? aString.id : null, mask); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSComparisonResult compare_ (NSString string) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_compare_1, string !is null ? string.id : null); + } + + public NSComparisonResult compare_options_ (NSString string, NSStringCompareOptions mask) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_compare_1options_1, string !is null ? string.id : null, mask); + } + + public NSComparisonResult compare_options_range_ (NSString string, NSStringCompareOptions mask, NSRange compareRange) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_compare_1options_1range_1, string !is null ? string.id : null, mask, + compareRange); + } + + public NSComparisonResult compare_options_range_locale_ (NSString string, NSStringCompareOptions mask, NSRange compareRange, id locale) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_compare_1options_1range_1locale_1, string !is null ? string.id : null, mask, + compareRange, locale !is null ? locale.id : null); + } + + public NSUInteger completePathIntoString (/*NSString** */objc.id** outputName, bool flag, /*NSArray** */objc.id** outputArray, + NSArray filterTypes) + { + return OS.objc_msgSend(this.id, OS.sel_completePathIntoString_1caseSensitive_1matchesIntoArray_1filterTypes_1, outputName, flag, outputArray, + filterTypes !is null ? filterTypes.id : null); + } + + public NSArray componentsSeparatedByCharactersInSet (NSCharacterSet separator) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_componentsSeparatedByCharactersInSet_1, separator !is null ? separator.id : null); + return result !is null ? new NSArray(result) : null; + } + + public NSArray componentsSeparatedByString (NSString separator) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_componentsSeparatedByString_1, separator !is null ? separator.id : null); + return result !is null ? new NSArray(result) : null; + } + + public NSData dataUsingEncoding_ (NSStringEncoding encoding) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_dataUsingEncoding_1, encoding); + return result !is null ? new NSData(result) : null; + } + + public NSData dataUsingEncoding_allowLossyConversion_ (NSStringEncoding encoding, bool lossy) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_dataUsingEncoding_1allowLossyConversion_1, encoding, lossy); + return result !is null ? new NSData(result) : null; + } + + public NSString decomposedStringWithCanonicalMapping () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_decomposedStringWithCanonicalMapping); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString decomposedStringWithCompatibilityMapping () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_decomposedStringWithCompatibilityMapping); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public static NSStringEncoding defaultCStringEncoding () + { + return cast(NSStringEncoding) OS.objc_msgSend(OS.class_NSString, OS.sel_defaultCStringEncoding); + } + + public NSString description () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_description); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public double doubleValue () + { + return OS.objc_msgSend_fpret(this.id, OS.sel_doubleValue); + } + + public NSStringEncoding fastestEncoding () + { + return cast(NSStringEncoding) OS.objc_msgSend(this.id, OS.sel_fastestEncoding); + } + + public /*const char* */byte* fileSystemRepresentation () + { + return cast(/*const char* */byte*) OS.objc_msgSend(this.id, OS.sel_fileSystemRepresentation); + } + + public float floatValue () + { + return cast(float) OS.objc_msgSend_fpret(this.id, OS.sel_floatValue); + } + + public bool getBytes (void* buffer, NSUInteger maxBufferCount, NSUInteger* usedBufferCount, NSStringEncoding encoding, NSStringEncodingConversionOptions options, + NSRange range, NSRangePointer leftover) + { + return OS.objc_msgSend(this.id, OS.sel_getBytes_1maxLength_1usedLength_1encoding_1options_1range_1remainingRange_1, buffer, maxBufferCount, + usedBufferCount, encoding, options, range, leftover) !is null; + } + + public void getCString_ (/*char* */byte* bytes) + { + OS.objc_msgSend(this.id, OS.sel_getCString_1, bytes); + } + + public void getCString_maxLength_ (/*char* */byte* bytes, NSUInteger maxLength) + { + OS.objc_msgSend(this.id, OS.sel_getCString_1maxLength_1, bytes, maxLength); + } + + public bool getCString_maxLength_encoding_ (/*char* */byte* buffer, NSUInteger maxBufferCount, NSStringEncoding encoding) + { + return OS.objc_msgSend(this.id, OS.sel_getCString_1maxLength_1encoding_1, buffer, maxBufferCount, encoding) !is null; + } + + public void getCString_maxLength_range_remainingRange_ (/*char* */byte* bytes, NSUInteger maxLength, NSRange aRange, NSRangePointer leftoverRange) + { + OS.objc_msgSend(this.id, OS.sel_getCString_1maxLength_1range_1remainingRange_1, bytes, maxLength, aRange, leftoverRange); + } + + public void getCharacters_ (wchar* buffer) + { + OS.objc_msgSend(this.id, OS.sel_getCharacters_1, buffer); + } + + public void getCharacters_range_ (wchar* buffer, NSRange aRange) + { + OS.objc_msgSend(this.id, OS.sel_getCharacters_1range_1, buffer, aRange); + } + + public bool getFileSystemRepresentation (/*char* */byte* cname, NSUInteger max) + { + return OS.objc_msgSend(this.id, OS.sel_getFileSystemRepresentation_1maxLength_1, cname, max) !is null; + } + + public void getLineStart (NSUInteger* startPtr, NSUInteger* lineEndPtr, NSUInteger* contentsEndPtr, NSRange range) + { + OS.objc_msgSend(this.id, OS.sel_getLineStart_1end_1contentsEnd_1forRange_1, startPtr, lineEndPtr, contentsEndPtr, range); + } + + public void getParagraphStart (NSUInteger* startPtr, NSUInteger* parEndPtr, NSUInteger* contentsEndPtr, NSRange range) + { + OS.objc_msgSend(this.id, OS.sel_getParagraphStart_1end_1contentsEnd_1forRange_1, startPtr, parEndPtr, contentsEndPtr, range); + } + + public bool hasPrefix (NSString aString) + { + return OS.objc_msgSend(this.id, OS.sel_hasPrefix_1, aString !is null ? aString.id : null) !is null; + } + + public bool hasSuffix (NSString aString) + { + return OS.objc_msgSend(this.id, OS.sel_hasSuffix_1, aString !is null ? aString.id : null) !is null; + } + + public NSUInteger hash () + { + return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_hash); + } + + public NSString initWithBytes (/*const*/void* bytes, NSUInteger len, NSStringEncoding encoding) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithBytes_1length_1encoding_1, bytes, len, encoding); + return result !is null ? this : null; + } + + public NSString initWithBytesNoCopy (/*const*/void* bytes, NSUInteger len, NSStringEncoding encoding, bool freeBuffer) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithBytesNoCopy_1length_1encoding_1freeWhenDone_1, bytes, len, encoding, freeBuffer); + return result !is null ? this : null; + } + + public NSString initWithCString_ (/*const char* */byte* bytes) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCString_1, bytes); + return result !is null ? this : null; + } + + public NSString initWithCString_encoding_ (/*const char* */byte* nullTerminatedCString, NSStringEncoding encoding) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCString_1encoding_1, nullTerminatedCString, encoding); + return result !is null ? this : null; + } + + public NSString initWithCString_length_ (/*const char* */byte* bytes, NSUInteger length) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCString_1length_1, bytes, length); + return result !is null ? this : null; + } + + public NSString initWithCStringNoCopy (/*const char* */byte* bytes, NSUInteger length, bool freeBuffer) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCStringNoCopy_1length_1freeWhenDone_1, bytes, length, freeBuffer); + return result !is null ? this : null; + } + + public NSString initWithCharacters (/*const*/wchar* characters, NSUInteger length) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCharacters_1length_1, characters, length); + return result !is null ? this : null; + } + + public NSString initWithCharactersNoCopy (/*const*/wchar* characters, NSUInteger length, bool freeBuffer) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithCharactersNoCopy_1length_1freeWhenDone_1, characters, length, freeBuffer); + return result !is null ? this : null; + } + + public NSString initWithContentsOfFile_ (NSString path) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfFile_1, path !is null ? path.id : null); + return result !is null ? this : null; + } + + public NSString initWithContentsOfFile_encoding_error_ (NSString path, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfFile_1encoding_1error_1, path !is null ? path.id : null, enc, error); + return result !is null ? this : null; + } + + public NSString initWithContentsOfFile_usedEncoding_error_ (NSString path, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfFile_1usedEncoding_1error_1, path !is null ? path.id : null, enc, error); + return result !is null ? this : null; + } + + public NSString initWithContentsOfURL_ (NSURL url) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfURL_1, url !is null ? url.id : null); + return result !is null ? this : null; + } + + public NSString initWithContentsOfURL_encoding_error_ (NSURL url, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfURL_1encoding_1error_1, url !is null ? url.id : null, enc, error); + return result !is null ? this : null; + } + + public NSString initWithContentsOfURL_usedEncoding_error_ (NSURL url, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithContentsOfURL_1usedEncoding_1error_1, url !is null ? url.id : null, enc, error); + return result !is null ? this : null; + } + + public NSString initWithData (NSData data, NSStringEncoding encoding) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithData_1encoding_1, data !is null ? data.id : null, encoding); + return result !is null ? this : null; + } + + public NSString initWithFormat_ (NSString initWithFormat) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithFormat_1, initWithFormat !is null ? initWithFormat.id : null); + return result !is null ? this : null; + } + + public NSString initWithFormat_arguments_ (NSString format, va_list argList) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithFormat_1arguments_1, format !is null ? format.id : null, argList); + return result !is null ? this : null; + } + + public NSString initWithFormat_locale_ (NSString format, id locale) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithFormat_1locale_1, format !is null ? format.id : null, + locale !is null ? locale.id : null); + return result !is null ? this : null; + } + + public NSString initWithFormat_locale_arguments_ (NSString format, id locale, va_list argList) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithFormat_1locale_1arguments_1, format !is null ? format.id : null, + locale !is null ? locale.id : null, argList); + return result !is null ? this : null; + } + + public NSString initWithString (NSString aString) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithString_1, aString !is null ? aString.id : null); + return result !is null ? this : null; + } + + public NSString initWithUTF8String (/*const*/char* nullTerminatedCString) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_initWithUTF8String_1, nullTerminatedCString); + return result !is null ? this : null; + } + + public int intValue () + { + return cast(int) OS.objc_msgSend(this.id, OS.sel_intValue); + } + + public NSInteger integerValue () + { + return cast(NSInteger) OS.objc_msgSend(this.id, OS.sel_integerValue); + } + + public bool isAbsolutePath () + { + return OS.objc_msgSend(this.id, OS.sel_isAbsolutePath) !is null; + } + + public bool isEqualToString (NSString aString) + { + return OS.objc_msgSend(this.id, OS.sel_isEqualToString_1, aString !is null ? aString.id : null) !is null; + } + + public NSString lastPathComponent () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_lastPathComponent); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSUInteger length () + { + return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_length); + } + + public NSUInteger lengthOfBytesUsingEncoding (NSStringEncoding enc) + { + return cast(NSUInteger) OS.objc_msgSend(this.id, OS.sel_lengthOfBytesUsingEncoding_1, enc); + } + + public NSRange lineRangeForRange (NSRange range) + { + NSRange result; + OS.objc_msgSend_struct(result, this.id, OS.sel_lineRangeForRange_1, range); + return result; + } + + public NSComparisonResult localizedCaseInsensitiveCompare (NSString string) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_localizedCaseInsensitiveCompare_1, string !is null ? string.id : null); + } + + public NSComparisonResult localizedCompare (NSString string) + { + return cast(NSComparisonResult) OS.objc_msgSend(this.id, OS.sel_localizedCompare_1, string !is null ? string.id : null); + } + + public static NSString localizedNameOfStringEncoding (NSStringEncoding encoding) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_localizedNameOfStringEncoding_1, encoding); + return result !is null ? new NSString(result) : null; + } + + public static id localizedStringWithFormat (NSString localizedStringWithFormat) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_localizedStringWithFormat_1, + localizedStringWithFormat !is null ? localizedStringWithFormat.id : null); + return result !is null ? new id(result) : null; + } + + public long longLongValue () + { + return cast(long) OS.objc_msgSend(this.id, OS.sel_longLongValue); + } + + public /*const char* */byte* lossyCString () + { + return cast(/*const char* */byte*) OS.objc_msgSend(this.id, OS.sel_lossyCString); + } + + public NSString lowercaseString () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_lowercaseString); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSUInteger maximumLengthOfBytesUsingEncoding (NSStringEncoding enc) + { + return OS.objc_msgSend(this.id, OS.sel_maximumLengthOfBytesUsingEncoding_1, enc); + } + + public NSRange paragraphRangeForRange (NSRange range) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_paragraphRangeForRange_1, range); + return result; + } + + public NSArray pathComponents () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_pathComponents); + return result !is null ? new NSArray(result) : null; + } + + public NSString pathExtension () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_pathExtension); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public static NSString pathWithComponents (NSArray components) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_pathWithComponents_1, components !is null ? components.id : null); + return result !is null ? new NSString(result) : null; + } + + public NSString precomposedStringWithCanonicalMapping () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_precomposedStringWithCanonicalMapping); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString precomposedStringWithCompatibilityMapping () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_precomposedStringWithCompatibilityMapping); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public id propertyList () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_propertyList); + return result !is null ? new id(result) : null; + } + + public NSDictionary propertyListFromStringsFileFormat () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_propertyListFromStringsFileFormat); + return result !is null ? new NSDictionary(result) : null; + } + + public NSRange rangeOfCharacterFromSet_ (NSCharacterSet aSet) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfCharacterFromSet_1, aSet !is null ? aSet.id : null); + return result; + } + + public NSRange rangeOfCharacterFromSet_options_ (NSCharacterSet aSet, NSStringCompareOptions mask) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfCharacterFromSet_1options_1, aSet !is null ? aSet.id : null, mask); + return result; + } + + public NSRange rangeOfCharacterFromSet_options_range_ (NSCharacterSet aSet, NSStringCompareOptions mask, NSRange searchRange) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfCharacterFromSet_1options_1range_1, aSet !is null ? aSet.id : null, mask, searchRange); + return result; + } + + public NSRange rangeOfComposedCharacterSequenceAtIndex (NSUInteger index) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfComposedCharacterSequenceAtIndex_1, index); + return result; + } + + public NSRange rangeOfComposedCharacterSequencesForRange (NSRange range) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfComposedCharacterSequencesForRange_1, range); + return result; + } + + public NSRange rangeOfString_ (NSString aString) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfString_1, aString !is null ? aString.id : null); + return result; + } + + public NSRange rangeOfString_options_ (NSString aString, NSStringCompareOptions mask) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfString_1options_1, aString !is null ? aString.id : null, mask); + return result; + } + + public NSRange rangeOfString_options_range_ (NSString aString, NSStringCompareOptions mask, NSRange searchRange) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfString_1options_1range_1, aString !is null ? aString.id : null, mask, searchRange); + return result; + } + + public NSRange rangeOfString_options_range_locale_ (NSString aString, NSStringCompareOptions mask, NSRange searchRange, NSLocale locale) + { + NSRange result; + OS.objc_msgSend_stret(result, this.id, OS.sel_rangeOfString_1options_1range_1locale_1, aString !is null ? aString.id : null, mask, + searchRange, locale !is null ? locale.id : null); + return result; + } + + public NSStringEncoding smallestEncoding () + { + return OS.objc_msgSend(this.id, OS.sel_smallestEncoding); + } + + public static NSString string () + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_string); + return result !is null ? new NSString(result) : null; + } + + public NSString stringByAbbreviatingWithTildeInPath () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAbbreviatingWithTildeInPath); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByAddingPercentEscapesUsingEncoding (NSStringEncoding enc) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAddingPercentEscapesUsingEncoding_1, enc); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByAppendingFormat (NSString stringByAppendingFormat) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAppendingFormat_1, + stringByAppendingFormat !is null ? stringByAppendingFormat.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByAppendingPathComponent (NSString str) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAppendingPathComponent_1, str !is null ? str.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByAppendingPathExtension (NSString str) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAppendingPathExtension_1, str !is null ? str.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByAppendingString (NSString aString) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByAppendingString_1, aString !is null ? aString.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByDeletingLastPathComponent () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByDeletingLastPathComponent); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByDeletingPathExtension () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByDeletingPathExtension); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByExpandingTildeInPath () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByExpandingTildeInPath); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByFoldingWithOptions (NSStringCompareOptions options, NSLocale locale) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByFoldingWithOptions_1locale_1, options, locale !is null ? locale.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByPaddingToLength (NSUInteger newLength, NSString padString, NSUInteger padIndex) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByPaddingToLength_1withString_1startingAtIndex_1, newLength, + padString !is null ? padString.id : null, padIndex); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByReplacingCharactersInRange (NSRange range, NSString replacement) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByReplacingCharactersInRange_1withString_1, range, + replacement !is null ? replacement.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByReplacingOccurrencesOfString_withString_ (NSString target, NSString replacement) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByReplacingOccurrencesOfString_1withString_1, target !is null ? target.id : null, + replacement !is null ? replacement.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByReplacingOccurrencesOfString_withString_options_range_ (NSString target, NSString replacement, NSStringCompareOptions options, + NSRange searchRange) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByReplacingOccurrencesOfString_1withString_1options_1range_1, + target !is null ? target.id : null, replacement !is null ? replacement.id : null, options, searchRange); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByReplacingPercentEscapesUsingEncoding (NSStringEncoding enc) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByReplacingPercentEscapesUsingEncoding_1, enc); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByResolvingSymlinksInPath () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByResolvingSymlinksInPath); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByStandardizingPath () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByStandardizingPath); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString stringByTrimmingCharactersInSet (NSCharacterSet set) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringByTrimmingCharactersInSet_1, set !is null ? set.id : null); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public static id static_stringWithCString_ (/*const char* */byte* bytes) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithCString_1, bytes); + return result !is null ? new NSString(result) : null; + } + + public static id static_stringWithCString_encoding_ (/*const char* */byte* cString, NSStringEncoding enc) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithCString_1encoding_1, cString, enc); + return result !is null ? new NSString(result) : null; + } + + public static NSString static_stringWithCString_length_ (/*const char* */byte* bytes, NSUInteger length) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithCString_1length_1, bytes, length); + return result !is null ? new NSString(result) : null; + } + + public static NSString stringWithCharacters (/*const*/wchar* characters, NSUInteger length) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithCharacters_1length_1, characters, length); + return result !is null ? new NSString(result) : null; + } + + public static NSString stringWith (String str) + { + char[] chars = str.dup; + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithCharacters_1length_1, chars.toStringz(), chars.length); + return result !is null ? new NSString(result) : null; + } + + public static id static_stringWithContentsOfFile_ (NSString path) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfFile_1, path !is null ? path.id : null); + return result !is null ? new id(result) : null; + } + + public static id static_stringWithContentsOfFile_encoding_error_ (NSString path, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfFile_1encoding_1error_1, path !is null ? path.id : null, enc, + error); + return result !is null ? new id(result) : null; + } + + public static id static_stringWithContentsOfFile_usedEncoding_error_ (NSString path, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfFile_1usedEncoding_1error_1, path !is null ? path.id : null, + enc, error); + return result !is null ? new id(result) : null; + } + + public static id static_stringWithContentsOfURL_ (NSURL url) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfURL_1, url !is null ? url.id : null); + return result !is null ? new id(result) : null; + } + + public static id static_stringWithContentsOfURL_encoding_error_ (NSURL url, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfURL_1encoding_1error_1, url !is null ? url.id : null, enc, + error); + return result !is null ? new id(result) : null; + } + + public static id static_stringWithContentsOfURL_usedEncoding_error_ (NSURL url, NSStringEncoding enc, /*NSError** */objc.id** error) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithContentsOfURL_1usedEncoding_1error_1, url !is null ? url.id : null, enc, + error); + return result !is null ? new id(result) : null; + } + + public static id stringWithFormat (NSString stringWithFormat) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithFormat_1, stringWithFormat !is null ? stringWithFormat.id : null); + return result !is null ? new id(result) : null; + } + + public static id stringWithString (NSString string) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithString_1, string !is null ? string.id : null); + return result !is null ? new id(result) : null; + } + + public static id stringWithUTF8String (/*const*/char* nullTerminatedCString) + { + objc.id result = OS.objc_msgSend(OS.class_NSString, OS.sel_stringWithUTF8String_1, nullTerminatedCString); + return result !is null ? new id(result) : null; + } + + public NSArray stringsByAppendingPaths (NSArray paths) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_stringsByAppendingPaths_1, paths !is null ? paths.id : null); + return result !is null ? new NSArray(result) : null; + } + + public NSString substringFromIndex (NSUInteger from) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_substringFromIndex_1, from); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString substringToIndex (NSUInteger to) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_substringToIndex_1, to); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString substringWithRange (NSRange range) + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_substringWithRange_1, range); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public NSString uppercaseString () + { + objc.id result = OS.objc_msgSend(this.id, OS.sel_uppercaseString); + return result is this.id ? this : (result !is null ? new NSString(result) : null); + } + + public bool writeToFile_atomically_ (NSString path, bool useAuxiliaryFile) + { + return OS.objc_msgSend(this.id, OS.sel_writeToFile_1atomically_1, path !is null ? path.id : null, useAuxiliaryFile) !is null; + } + + public bool writeToFile_atomically_encoding_error_ (NSString path, bool useAuxiliaryFile, NSStringEncoding enc, /*NSError** */objc.id** error) + { + return OS.objc_msgSend(this.id, OS.sel_writeToFile_1atomically_1encoding_1error_1, path !is null ? path.id : null, useAuxiliaryFile, enc, + error) !is null; + } + + public bool writeToURL_atomically_ (NSURL url, bool atomically) + { + return OS.objc_msgSend(this.id, OS.sel_writeToURL_1atomically_1, url !is null ? url.id : null, atomically) !is null; + } + + public bool writeToURL_atomically_encoding_error_ (NSURL url, bool useAuxiliaryFile, NSStringEncoding enc, /*NSError** */objc.id** error) + { + return OS.objc_msgSend(this.id, OS.sel_writeToURL_1atomically_1encoding_1error_1, url !is null ? url.id : null, useAuxiliaryFile, enc, error) !is null; + } + +}