use objc2::__framework_prelude::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSScanner;
unsafe impl ClassType for NSScanner {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "NSObject")]
unsafe impl NSCopying for NSScanner {}
unsafe impl NSObjectProtocol for NSScanner {}
extern_methods!(
unsafe impl NSScanner {
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other string)]
pub unsafe fn string(&self) -> Retained<NSString>;
#[method(scanLocation)]
pub unsafe fn scanLocation(&self) -> NSUInteger;
#[method(setScanLocation:)]
pub unsafe fn setScanLocation(&self, scan_location: NSUInteger);
#[cfg(feature = "NSCharacterSet")]
#[method_id(@__retain_semantics Other charactersToBeSkipped)]
pub unsafe fn charactersToBeSkipped(&self) -> Option<Retained<NSCharacterSet>>;
#[cfg(feature = "NSCharacterSet")]
#[method(setCharactersToBeSkipped:)]
pub unsafe fn setCharactersToBeSkipped(
&self,
characters_to_be_skipped: Option<&NSCharacterSet>,
);
#[method(caseSensitive)]
pub unsafe fn caseSensitive(&self) -> bool;
#[method(setCaseSensitive:)]
pub unsafe fn setCaseSensitive(&self, case_sensitive: bool);
#[method_id(@__retain_semantics Other locale)]
pub unsafe fn locale(&self) -> Option<Retained<AnyObject>>;
#[method(setLocale:)]
pub unsafe fn setLocale(&self, locale: Option<&AnyObject>);
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Init initWithString:)]
pub unsafe fn initWithString(this: Allocated<Self>, string: &NSString) -> Retained<Self>;
}
);
extern_methods!(
unsafe impl NSScanner {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);
extern_methods!(
unsafe impl NSScanner {
#[method(scanInt:)]
pub unsafe fn scanInt(&self, result: *mut c_int) -> bool;
#[method(scanInteger:)]
pub unsafe fn scanInteger(&self, result: *mut NSInteger) -> bool;
#[method(scanLongLong:)]
pub unsafe fn scanLongLong(&self, result: *mut c_longlong) -> bool;
#[method(scanUnsignedLongLong:)]
pub unsafe fn scanUnsignedLongLong(&self, result: *mut c_ulonglong) -> bool;
#[method(scanFloat:)]
pub unsafe fn scanFloat(&self, result: *mut c_float) -> bool;
#[method(scanDouble:)]
pub unsafe fn scanDouble(&self, result: *mut c_double) -> bool;
#[method(scanHexInt:)]
pub unsafe fn scanHexInt(&self, result: *mut c_uint) -> bool;
#[method(scanHexLongLong:)]
pub unsafe fn scanHexLongLong(&self, result: *mut c_ulonglong) -> bool;
#[method(scanHexFloat:)]
pub unsafe fn scanHexFloat(&self, result: *mut c_float) -> bool;
#[method(scanHexDouble:)]
pub unsafe fn scanHexDouble(&self, result: *mut c_double) -> bool;
#[cfg(feature = "NSString")]
#[method(scanString:intoString:)]
pub unsafe fn scanString_intoString(
&self,
string: &NSString,
result: Option<&mut Option<Retained<NSString>>>,
) -> bool;
#[cfg(all(feature = "NSCharacterSet", feature = "NSString"))]
#[method(scanCharactersFromSet:intoString:)]
pub unsafe fn scanCharactersFromSet_intoString(
&self,
set: &NSCharacterSet,
result: Option<&mut Option<Retained<NSString>>>,
) -> bool;
#[cfg(feature = "NSString")]
#[method(scanUpToString:intoString:)]
pub unsafe fn scanUpToString_intoString(
&self,
string: &NSString,
result: Option<&mut Option<Retained<NSString>>>,
) -> bool;
#[cfg(all(feature = "NSCharacterSet", feature = "NSString"))]
#[method(scanUpToCharactersFromSet:intoString:)]
pub unsafe fn scanUpToCharactersFromSet_intoString(
&self,
set: &NSCharacterSet,
result: Option<&mut Option<Retained<NSString>>>,
) -> bool;
#[method(isAtEnd)]
pub unsafe fn isAtEnd(&self) -> bool;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other scannerWithString:)]
pub unsafe fn scannerWithString(string: &NSString) -> Retained<Self>;
#[cfg(feature = "NSString")]
#[method_id(@__retain_semantics Other localizedScannerWithString:)]
pub unsafe fn localizedScannerWithString(string: &NSString) -> Retained<AnyObject>;
}
);