objc2_foundation/generated/
NSRange.rs1use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5
6use crate::*;
7
8pub type NSRangePointer = *mut NSRange;
10
11#[inline]
20pub extern "C-unwind" fn NSUnionRange(range1: NSRange, range2: NSRange) -> NSRange {
21 extern "C-unwind" {
22 fn NSUnionRange(range1: NSRange, range2: NSRange) -> NSRange;
23 }
24 unsafe { NSUnionRange(range1, range2) }
25}
26
27#[inline]
28pub extern "C-unwind" fn NSIntersectionRange(range1: NSRange, range2: NSRange) -> NSRange {
29 extern "C-unwind" {
30 fn NSIntersectionRange(range1: NSRange, range2: NSRange) -> NSRange;
31 }
32 unsafe { NSIntersectionRange(range1, range2) }
33}
34
35#[cfg(feature = "NSString")]
36impl NSString {
37 #[doc(alias = "NSStringFromRange")]
38 #[cfg(feature = "NSString")]
39 #[inline]
40 pub fn from_range(range: NSRange) -> Retained<NSString> {
41 extern "C-unwind" {
42 fn NSStringFromRange(range: NSRange) -> *mut NSString;
43 }
44 let ret = unsafe { NSStringFromRange(range) };
45 unsafe { Retained::retain_autoreleased(ret) }
46 .expect("function was marked as returning non-null, but actually returned NULL")
47 }
48}
49
50#[cfg(feature = "NSString")]
51#[inline]
52pub extern "C-unwind" fn NSRangeFromString(a_string: &NSString) -> NSRange {
53 extern "C-unwind" {
54 fn NSRangeFromString(a_string: &NSString) -> NSRange;
55 }
56 unsafe { NSRangeFromString(a_string) }
57}
58
59#[cfg(feature = "NSValue")]
61impl NSValue {
62 extern_methods!(
63 #[unsafe(method(valueWithRange:))]
64 #[unsafe(method_family = none)]
65 pub unsafe fn valueWithRange(range: NSRange) -> Retained<NSValue>;
66
67 #[unsafe(method(rangeValue))]
68 #[unsafe(method_family = none)]
69 pub unsafe fn rangeValue(&self) -> NSRange;
70 );
71}
72
73#[cfg(feature = "NSString")]
74#[deprecated = "renamed to `NSString::from_range`"]
75#[inline]
76pub extern "C-unwind" fn NSStringFromRange(range: NSRange) -> Retained<NSString> {
77 extern "C-unwind" {
78 fn NSStringFromRange(range: NSRange) -> *mut NSString;
79 }
80 let ret = unsafe { NSStringFromRange(range) };
81 unsafe { Retained::retain_autoreleased(ret) }
82 .expect("function was marked as returning non-null, but actually returned NULL")
83}