# generated by 'rake generate'
require 'cocoa/bindings/NSObject'
module Cocoa
  class NSString < Cocoa::NSObject
    attach_method :UTF8String, :args=>0, :names=>[], :types=>[], :retval=>"*"
    attach_singular_method :availableStringEncodings, :args=>0, :names=>[], :types=>[], :retval=>"^Q"
    attach_method :boolValue, :args=>0, :names=>[], :types=>[], :retval=>"B"
    attach_method :boundingRectWithSize, :args=>3, :names=>[:options, :attributes], :types=>["{CGSize=dd}", "q", "@"], :retval=>"{CGRect={CGPoint=dd}{CGSize=dd}}"
    attach_method :cString, :args=>0, :names=>[], :types=>[], :retval=>"*"
    attach_method :cStringLength, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :cStringUsingEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"*"
    attach_method :canBeConvertedToEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"B"
    attach_method :capitalizedString, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :capitalizedStringWithLocale, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :caseInsensitiveCompare, :args=>1, :names=>[], :types=>["@"], :retval=>"q"
    attach_method :characterAtIndex, :args=>1, :names=>[], :types=>["Q"], :retval=>"S"
    attach_method :commonPrefixWithString, :args=>2, :names=>[:options], :types=>["@", "Q"], :retval=>"@"
    attach_method :compare, [{:args=>1, :names=>[], :types=>["@"], :retval=>"q"}, {:args=>2, :names=>[:options], :types=>["@", "Q"], :retval=>"q"}, {:args=>3, :names=>[:options, :range], :types=>["@", "Q", "{_NSRange=QQ}"], :retval=>"q"}, {:args=>4, :names=>[:options, :range, :locale], :types=>["@", "Q", "{_NSRange=QQ}", "@"], :retval=>"q"}]
    attach_method :completePathIntoString, :args=>4, :names=>[:caseSensitive, :matchesIntoArray, :filterTypes], :types=>["^@", "B", "^@", "@"], :retval=>"Q"
    attach_method :componentsSeparatedByCharactersInSet, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :componentsSeparatedByString, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :dataUsingEncoding, [{:args=>1, :names=>[], :types=>["Q"], :retval=>"@"}, {:args=>2, :names=>[:allowLossyConversion], :types=>["Q", "B"], :retval=>"@"}]
    attach_method :decomposedStringWithCanonicalMapping, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :decomposedStringWithCompatibilityMapping, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_singular_method :defaultCStringEncoding, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :description, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :doubleValue, :args=>0, :names=>[], :types=>[], :retval=>"d"
    attach_method :drawAtPoint, :args=>2, :names=>[:withAttributes], :types=>["{CGPoint=dd}", "@"], :retval=>"v"
    attach_method :drawInRect, :args=>2, :names=>[:withAttributes], :types=>["{CGRect={CGPoint=dd}{CGSize=dd}}", "@"], :retval=>"v"
    attach_method :drawWithRect, :args=>3, :names=>[:options, :attributes], :types=>["{CGRect={CGPoint=dd}{CGSize=dd}}", "q", "@"], :retval=>"v"
    attach_method :enumerateLinesUsingBlock, :args=>1, :names=>[], :types=>["@?"], :retval=>"v"
    attach_method :enumerateLinguisticTagsInRange, :args=>5, :names=>[:scheme, :options, :orthography, :usingBlock], :types=>["{_NSRange=QQ}", "@", "Q", "@", "@?"], :retval=>"v"
    attach_method :enumerateSubstringsInRange, :args=>3, :names=>[:options, :usingBlock], :types=>["{_NSRange=QQ}", "Q", "@?"], :retval=>"v"
    attach_method :fastestEncoding, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :fileSystemRepresentation, :args=>0, :names=>[], :types=>[], :retval=>"*"
    attach_method :floatValue, :args=>0, :names=>[], :types=>[], :retval=>"f"
    attach_method :getBytes, :args=>7, :names=>[:maxLength, :usedLength, :encoding, :options, :range, :remainingRange], :types=>["^v", "Q", "^Q", "Q", "Q", "{_NSRange=QQ}", "^{_NSRange=QQ}"], :retval=>"B"
    attach_method :getCString, [{:args=>1, :names=>[], :types=>["*"], :retval=>"v"}, {:args=>2, :names=>[:maxLength], :types=>["*", "Q"], :retval=>"v"}, {:args=>3, :names=>[:maxLength, :encoding], :types=>["*", "Q", "Q"], :retval=>"B"}, {:args=>4, :names=>[:maxLength, :range, :remainingRange], :types=>["*", "Q", "{_NSRange=QQ}", "^{_NSRange=QQ}"], :retval=>"v"}]
    attach_method :getCharacters, [{:args=>1, :names=>[], :types=>["^S"], :retval=>"v"}, {:args=>2, :names=>[:range], :types=>["^S", "{_NSRange=QQ}"], :retval=>"v"}]
    attach_method :getFileSystemRepresentation, :args=>2, :names=>[:maxLength], :types=>["*", "Q"], :retval=>"B"
    attach_method :getLineStart, :args=>4, :names=>[:end, :contentsEnd, :forRange], :types=>["^Q", "^Q", "^Q", "{_NSRange=QQ}"], :retval=>"v"
    attach_method :getParagraphStart, :args=>4, :names=>[:end, :contentsEnd, :forRange], :types=>["^Q", "^Q", "^Q", "{_NSRange=QQ}"], :retval=>"v"
    attach_method :hasPrefix, :args=>1, :names=>[], :types=>["@"], :retval=>"B"
    attach_method :hasSuffix, :args=>1, :names=>[], :types=>["@"], :retval=>"B"
    attach_method :hash, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :init, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :initWithBytes, :args=>3, :names=>[:length, :encoding], :types=>["^v", "Q", "Q"], :retval=>"@"
    attach_method :initWithBytesNoCopy, :args=>4, :names=>[:length, :encoding, :freeWhenDone], :types=>["^v", "Q", "Q", "B"], :retval=>"@"
    attach_method :initWithCString, [{:args=>1, :names=>[], :types=>["*"], :retval=>"@"}, {:args=>2, :names=>[:encoding], :types=>["*", "Q"], :retval=>"@"}, {:args=>2, :names=>[:length], :types=>["*", "Q"], :retval=>"@"}]
    attach_method :initWithCStringNoCopy, :args=>3, :names=>[:length, :freeWhenDone], :types=>["*", "Q", "B"], :retval=>"@"
    attach_method :initWithCharacters, :args=>2, :names=>[:length], :types=>["^S", "Q"], :retval=>"@"
    attach_method :initWithCharactersNoCopy, :args=>3, :names=>[:length, :freeWhenDone], :types=>["^S", "Q", "B"], :retval=>"@"
    attach_method :initWithContentsOfFile, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>3, :names=>[:encoding, :error], :types=>["@", "Q", "^@"], :retval=>"@"}, {:args=>3, :names=>[:usedEncoding, :error], :types=>["@", "^Q", "^@"], :retval=>"@"}]
    attach_method :initWithContentsOfURL, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>3, :names=>[:encoding, :error], :types=>["@", "Q", "^@"], :retval=>"@"}, {:args=>3, :names=>[:usedEncoding, :error], :types=>["@", "^Q", "^@"], :retval=>"@"}]
    attach_method :initWithData, :args=>2, :names=>[:encoding], :types=>["@", "Q"], :retval=>"@"
    attach_method :initWithFormat, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true}, {:args=>2, :names=>[:arguments], :types=>["@", "^{__va_list_tag=II^v^v}"], :retval=>"@"}, {:args=>2, :names=>[:locale], :types=>["@", "@"], :retval=>"@", :variadic=>true}, {:args=>3, :names=>[:locale, :arguments], :types=>["@", "@", "^{__va_list_tag=II^v^v}"], :retval=>"@"}]
    attach_method :initWithString, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :initWithUTF8String, :args=>1, :names=>[], :types=>["*"], :retval=>"@"
    attach_method :intValue, :args=>0, :names=>[], :types=>[], :retval=>"i"
    attach_method :integerValue, :args=>0, :names=>[], :types=>[], :retval=>"q"
    attach_method :isAbsolutePath, :args=>0, :names=>[], :types=>[], :retval=>"B"
    attach_method :isEqualToString, :args=>1, :names=>[], :types=>["@"], :retval=>"B"
    attach_method :lastPathComponent, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :length, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_method :lengthOfBytesUsingEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"Q"
    attach_method :lineRangeForRange, :args=>1, :names=>[], :types=>["{_NSRange=QQ}"], :retval=>"{_NSRange=QQ}"
    attach_method :linguisticTagsInRange, :args=>5, :names=>[:scheme, :options, :orthography, :tokenRanges], :types=>["{_NSRange=QQ}", "@", "Q", "@", "^@"], :retval=>"@"
    attach_method :localizedCaseInsensitiveCompare, :args=>1, :names=>[], :types=>["@"], :retval=>"q"
    attach_method :localizedCompare, :args=>1, :names=>[], :types=>["@"], :retval=>"q"
    attach_singular_method :localizedNameOfStringEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :localizedStandardCompare, :args=>1, :names=>[], :types=>["@"], :retval=>"q"
    attach_singular_method :localizedStringWithFormat, :args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true
    attach_method :longLongValue, :args=>0, :names=>[], :types=>[], :retval=>"q"
    attach_method :lossyCString, :args=>0, :names=>[], :types=>[], :retval=>"*"
    attach_method :lowercaseString, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :lowercaseStringWithLocale, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :maximumLengthOfBytesUsingEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"Q"
    attach_method :paragraphRangeForRange, :args=>1, :names=>[], :types=>["{_NSRange=QQ}"], :retval=>"{_NSRange=QQ}"
    attach_method :pathComponents, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :pathExtension, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_singular_method :pathWithComponents, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :precomposedStringWithCanonicalMapping, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :precomposedStringWithCompatibilityMapping, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :propertyList, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :propertyListFromStringsFileFormat, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :rangeOfCharacterFromSet, [{:args=>1, :names=>[], :types=>["@"], :retval=>"{_NSRange=QQ}"}, {:args=>2, :names=>[:options], :types=>["@", "Q"], :retval=>"{_NSRange=QQ}"}, {:args=>3, :names=>[:options, :range], :types=>["@", "Q", "{_NSRange=QQ}"], :retval=>"{_NSRange=QQ}"}]
    attach_method :rangeOfComposedCharacterSequenceAtIndex, :args=>1, :names=>[], :types=>["Q"], :retval=>"{_NSRange=QQ}"
    attach_method :rangeOfComposedCharacterSequencesForRange, :args=>1, :names=>[], :types=>["{_NSRange=QQ}"], :retval=>"{_NSRange=QQ}"
    attach_method :rangeOfString, [{:args=>1, :names=>[], :types=>["@"], :retval=>"{_NSRange=QQ}"}, {:args=>2, :names=>[:options], :types=>["@", "Q"], :retval=>"{_NSRange=QQ}"}, {:args=>3, :names=>[:options, :range], :types=>["@", "Q", "{_NSRange=QQ}"], :retval=>"{_NSRange=QQ}"}, {:args=>4, :names=>[:options, :range, :locale], :types=>["@", "Q", "{_NSRange=QQ}", "@"], :retval=>"{_NSRange=QQ}"}]
    attach_method :sizeWithAttributes, :args=>1, :names=>[], :types=>["@"], :retval=>"{CGSize=dd}"
    attach_method :smallestEncoding, :args=>0, :names=>[], :types=>[], :retval=>"Q"
    attach_singular_method :string, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByAbbreviatingWithTildeInPath, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByAddingPercentEscapesUsingEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :stringByAppendingFormat, :args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true
    attach_method :stringByAppendingPathComponent, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :stringByAppendingPathExtension, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :stringByAppendingString, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :stringByDeletingLastPathComponent, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByDeletingPathExtension, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByExpandingTildeInPath, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByFoldingWithOptions, :args=>2, :names=>[:locale], :types=>["Q", "@"], :retval=>"@"
    attach_method :stringByPaddingToLength, :args=>3, :names=>[:withString, :startingAtIndex], :types=>["Q", "@", "Q"], :retval=>"@"
    attach_method :stringByReplacingCharactersInRange, :args=>2, :names=>[:withString], :types=>["{_NSRange=QQ}", "@"], :retval=>"@"
    attach_method :stringByReplacingOccurrencesOfString, [{:args=>2, :names=>[:withString], :types=>["@", "@"], :retval=>"@"}, {:args=>4, :names=>[:withString, :options, :range], :types=>["@", "@", "Q", "{_NSRange=QQ}"], :retval=>"@"}]
    attach_method :stringByReplacingPercentEscapesUsingEncoding, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :stringByResolvingSymlinksInPath, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByStandardizingPath, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :stringByTrimmingCharactersInSet, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :stringWithCString, [{:args=>1, :names=>[], :types=>["*"], :retval=>"@"}, {:args=>2, :names=>[:encoding], :types=>["*", "Q"], :retval=>"@"}, {:args=>2, :names=>[:length], :types=>["*", "Q"], :retval=>"@"}]
    attach_singular_method :stringWithCharacters, :args=>2, :names=>[:length], :types=>["^S", "Q"], :retval=>"@"
    attach_singular_method :stringWithContentsOfFile, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>3, :names=>[:encoding, :error], :types=>["@", "Q", "^@"], :retval=>"@"}, {:args=>3, :names=>[:usedEncoding, :error], :types=>["@", "^Q", "^@"], :retval=>"@"}]
    attach_singular_method :stringWithContentsOfURL, [{:args=>1, :names=>[], :types=>["@"], :retval=>"@"}, {:args=>3, :names=>[:encoding, :error], :types=>["@", "Q", "^@"], :retval=>"@"}, {:args=>3, :names=>[:usedEncoding, :error], :types=>["@", "^Q", "^@"], :retval=>"@"}]
    attach_singular_method :stringWithFormat, :args=>1, :names=>[], :types=>["@"], :retval=>"@", :variadic=>true
    attach_singular_method :stringWithString, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_singular_method :stringWithUTF8String, :args=>1, :names=>[], :types=>["*"], :retval=>"@"
    attach_method :stringsByAppendingPaths, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :substringFromIndex, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :substringToIndex, :args=>1, :names=>[], :types=>["Q"], :retval=>"@"
    attach_method :substringWithRange, :args=>1, :names=>[], :types=>["{_NSRange=QQ}"], :retval=>"@"
    attach_method :uppercaseString, :args=>0, :names=>[], :types=>[], :retval=>"@"
    attach_method :uppercaseStringWithLocale, :args=>1, :names=>[], :types=>["@"], :retval=>"@"
    attach_method :writeToFile, [{:args=>2, :names=>[:atomically], :types=>["@", "B"], :retval=>"B"}, {:args=>4, :names=>[:atomically, :encoding, :error], :types=>["@", "B", "Q", "^@"], :retval=>"B"}]
    attach_method :writeToURL, [{:args=>2, :names=>[:atomically], :types=>["@", "B"], :retval=>"B"}, {:args=>4, :names=>[:atomically, :encoding, :error], :types=>["@", "B", "Q", "^@"], :retval=>"B"}]
  end
end
