Source code

Revision control

Copy as Markdown

Other Tools

//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use crate::*;
extern_class!(
/// ************** Immutable Ordered Set ***************
///
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSOrderedSet<ObjectType: ?Sized = AnyObject>;
);
impl<ObjectType: ?Sized + Message> NSOrderedSet<ObjectType> {
/// Unchecked conversion of the generic parameter.
///
/// # Safety
///
/// The generic must be valid to reinterpret as the given type.
#[inline]
pub unsafe fn cast_unchecked<NewObjectType: ?Sized + Message>(
&self,
) -> &NSOrderedSet<NewObjectType> {
unsafe { &*((self as *const Self).cast()) }
}
}
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized + NSCoding> NSCoding for NSOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSCopying for NSOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
unsafe impl<ObjectType: ?Sized + Message> CopyingHelper for NSOrderedSet<ObjectType> {
type Result = Self;
}
#[cfg(feature = "NSEnumerator")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSFastEnumeration for NSOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSMutableCopying for NSOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
unsafe impl<ObjectType: ?Sized + Message> MutableCopyingHelper for NSOrderedSet<ObjectType> {
type Result = NSMutableOrderedSet<ObjectType>;
}
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSObjectProtocol for NSOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized + NSSecureCoding> NSSecureCoding for NSOrderedSet<ObjectType> {}
);
impl<ObjectType: Message> NSOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(count))]
#[unsafe(method_family = none)]
pub fn count(&self) -> NSUInteger;
#[unsafe(method(objectAtIndex:))]
#[unsafe(method_family = none)]
pub fn objectAtIndex(&self, idx: NSUInteger) -> Retained<ObjectType>;
#[unsafe(method(indexOfObject:))]
#[unsafe(method_family = none)]
pub fn indexOfObject(&self, object: &ObjectType) -> NSUInteger;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
/// # Safety
///
/// `objects` must be a valid pointer or null.
#[unsafe(method(initWithObjects:count:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithObjects_count(
this: Allocated<Self>,
objects: *mut NonNull<ObjectType>,
cnt: NSUInteger,
) -> Retained<Self>;
#[cfg(feature = "NSCoder")]
/// # Safety
///
/// `coder` possibly has further requirements.
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
);
}
/// Methods declared on superclass `NSObject`.
impl<ObjectType: Message> NSOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl<ObjectType: Message> DefaultRetained for NSOrderedSet<ObjectType> {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
/// NSExtendedOrderedSet.
impl<ObjectType: Message> NSOrderedSet<ObjectType> {
extern_methods!(
#[cfg(feature = "NSRange")]
/// # Safety
///
/// `objects` must be a valid pointer or null.
#[unsafe(method(getObjects:range:))]
#[unsafe(method_family = none)]
pub unsafe fn getObjects_range(&self, objects: *mut NonNull<ObjectType>, range: NSRange);
#[cfg(all(feature = "NSArray", feature = "NSIndexSet"))]
#[unsafe(method(objectsAtIndexes:))]
#[unsafe(method_family = none)]
pub fn objectsAtIndexes(&self, indexes: &NSIndexSet) -> Retained<NSArray<ObjectType>>;
#[unsafe(method(firstObject))]
#[unsafe(method_family = none)]
pub fn firstObject(&self) -> Option<Retained<ObjectType>>;
#[unsafe(method(lastObject))]
#[unsafe(method_family = none)]
pub fn lastObject(&self) -> Option<Retained<ObjectType>>;
#[unsafe(method(isEqualToOrderedSet:))]
#[unsafe(method_family = none)]
pub fn isEqualToOrderedSet(&self, other: &NSOrderedSet<ObjectType>) -> bool;
#[unsafe(method(containsObject:))]
#[unsafe(method_family = none)]
pub fn containsObject(&self, object: &ObjectType) -> bool;
#[unsafe(method(intersectsOrderedSet:))]
#[unsafe(method_family = none)]
pub fn intersectsOrderedSet(&self, other: &NSOrderedSet<ObjectType>) -> bool;
#[cfg(feature = "NSSet")]
#[unsafe(method(intersectsSet:))]
#[unsafe(method_family = none)]
pub fn intersectsSet(&self, set: &NSSet<ObjectType>) -> bool;
#[unsafe(method(isSubsetOfOrderedSet:))]
#[unsafe(method_family = none)]
pub fn isSubsetOfOrderedSet(&self, other: &NSOrderedSet<ObjectType>) -> bool;
#[cfg(feature = "NSSet")]
#[unsafe(method(isSubsetOfSet:))]
#[unsafe(method_family = none)]
pub fn isSubsetOfSet(&self, set: &NSSet<ObjectType>) -> bool;
#[unsafe(method(objectAtIndexedSubscript:))]
#[unsafe(method_family = none)]
pub fn objectAtIndexedSubscript(&self, idx: NSUInteger) -> Retained<ObjectType>;
#[cfg(feature = "NSEnumerator")]
/// # Safety
///
/// The returned enumerator's underlying collection should not be mutated while in use.
#[unsafe(method(objectEnumerator))]
#[unsafe(method_family = none)]
pub unsafe fn objectEnumerator(&self) -> Retained<NSEnumerator<ObjectType>>;
#[cfg(feature = "NSEnumerator")]
/// # Safety
///
/// The returned enumerator's underlying collection should not be mutated while in use.
#[unsafe(method(reverseObjectEnumerator))]
#[unsafe(method_family = none)]
pub unsafe fn reverseObjectEnumerator(&self) -> Retained<NSEnumerator<ObjectType>>;
#[unsafe(method(reversedOrderedSet))]
#[unsafe(method_family = none)]
pub fn reversedOrderedSet(&self) -> Retained<NSOrderedSet<ObjectType>>;
#[cfg(feature = "NSArray")]
#[unsafe(method(array))]
#[unsafe(method_family = none)]
pub fn array(&self) -> Retained<NSArray<ObjectType>>;
#[cfg(feature = "NSSet")]
#[unsafe(method(set))]
#[unsafe(method_family = none)]
pub fn set(&self) -> Retained<NSSet<ObjectType>>;
#[cfg(feature = "block2")]
#[unsafe(method(enumerateObjectsUsingBlock:))]
#[unsafe(method_family = none)]
pub fn enumerateObjectsUsingBlock(
&self,
block: &block2::DynBlock<dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) + '_>,
);
#[cfg(all(feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(enumerateObjectsWithOptions:usingBlock:))]
#[unsafe(method_family = none)]
pub fn enumerateObjectsWithOptions_usingBlock(
&self,
opts: NSEnumerationOptions,
block: &block2::DynBlock<dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) + '_>,
);
#[cfg(all(feature = "NSIndexSet", feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(enumerateObjectsAtIndexes:options:usingBlock:))]
#[unsafe(method_family = none)]
pub fn enumerateObjectsAtIndexes_options_usingBlock(
&self,
s: &NSIndexSet,
opts: NSEnumerationOptions,
block: &block2::DynBlock<dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) + '_>,
);
#[cfg(feature = "block2")]
#[unsafe(method(indexOfObjectPassingTest:))]
#[unsafe(method_family = none)]
pub fn indexOfObjectPassingTest(
&self,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> NSUInteger;
#[cfg(all(feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(indexOfObjectWithOptions:passingTest:))]
#[unsafe(method_family = none)]
pub fn indexOfObjectWithOptions_passingTest(
&self,
opts: NSEnumerationOptions,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> NSUInteger;
#[cfg(all(feature = "NSIndexSet", feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(indexOfObjectAtIndexes:options:passingTest:))]
#[unsafe(method_family = none)]
pub fn indexOfObjectAtIndexes_options_passingTest(
&self,
s: &NSIndexSet,
opts: NSEnumerationOptions,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> NSUInteger;
#[cfg(all(feature = "NSIndexSet", feature = "block2"))]
#[unsafe(method(indexesOfObjectsPassingTest:))]
#[unsafe(method_family = none)]
pub fn indexesOfObjectsPassingTest(
&self,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> Retained<NSIndexSet>;
#[cfg(all(feature = "NSIndexSet", feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(indexesOfObjectsWithOptions:passingTest:))]
#[unsafe(method_family = none)]
pub fn indexesOfObjectsWithOptions_passingTest(
&self,
opts: NSEnumerationOptions,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> Retained<NSIndexSet>;
#[cfg(all(feature = "NSIndexSet", feature = "NSObjCRuntime", feature = "block2"))]
#[unsafe(method(indexesOfObjectsAtIndexes:options:passingTest:))]
#[unsafe(method_family = none)]
pub fn indexesOfObjectsAtIndexes_options_passingTest(
&self,
s: &NSIndexSet,
opts: NSEnumerationOptions,
predicate: &block2::DynBlock<
dyn Fn(NonNull<ObjectType>, NSUInteger, NonNull<Bool>) -> Bool + '_,
>,
) -> Retained<NSIndexSet>;
#[cfg(all(
feature = "NSArray",
feature = "NSObjCRuntime",
feature = "NSRange",
feature = "block2"
))]
/// # Safety
///
/// `cmp` must be a valid pointer.
#[unsafe(method(indexOfObject:inSortedRange:options:usingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn indexOfObject_inSortedRange_options_usingComparator(
&self,
object: &ObjectType,
range: NSRange,
opts: NSBinarySearchingOptions,
cmp: NSComparator,
) -> NSUInteger;
#[cfg(all(feature = "NSArray", feature = "NSObjCRuntime", feature = "block2"))]
/// # Safety
///
/// `cmptr` must be a valid pointer.
#[unsafe(method(sortedArrayUsingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn sortedArrayUsingComparator(
&self,
cmptr: NSComparator,
) -> Retained<NSArray<ObjectType>>;
#[cfg(all(feature = "NSArray", feature = "NSObjCRuntime", feature = "block2"))]
/// # Safety
///
/// `cmptr` must be a valid pointer.
#[unsafe(method(sortedArrayWithOptions:usingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn sortedArrayWithOptions_usingComparator(
&self,
opts: NSSortOptions,
cmptr: NSComparator,
) -> Retained<NSArray<ObjectType>>;
#[cfg(feature = "NSString")]
#[unsafe(method(description))]
#[unsafe(method_family = none)]
pub fn description(&self) -> Retained<NSString>;
#[cfg(feature = "NSString")]
/// # Safety
///
/// `locale` should be of the correct type.
#[unsafe(method(descriptionWithLocale:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptionWithLocale(
&self,
locale: Option<&AnyObject>,
) -> Retained<NSString>;
#[cfg(feature = "NSString")]
/// # Safety
///
/// `locale` should be of the correct type.
#[unsafe(method(descriptionWithLocale:indent:))]
#[unsafe(method_family = none)]
pub unsafe fn descriptionWithLocale_indent(
&self,
locale: Option<&AnyObject>,
level: NSUInteger,
) -> Retained<NSString>;
);
}
/// NSOrderedSetCreation.
impl<ObjectType: Message> NSOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(orderedSet))]
#[unsafe(method_family = none)]
pub fn orderedSet() -> Retained<Self>;
#[unsafe(method(orderedSetWithObject:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithObject(object: &ObjectType) -> Retained<Self>;
/// # Safety
///
/// `objects` must be a valid pointer.
#[unsafe(method(orderedSetWithObjects:count:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithObjects_count(
objects: NonNull<NonNull<ObjectType>>,
cnt: NSUInteger,
) -> Retained<Self>;
#[unsafe(method(orderedSetWithOrderedSet:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithOrderedSet(set: &NSOrderedSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSRange")]
#[unsafe(method(orderedSetWithOrderedSet:range:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithOrderedSet_range_copyItems(
set: &NSOrderedSet<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(orderedSetWithArray:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithArray(array: &NSArray<ObjectType>) -> Retained<Self>;
#[cfg(all(feature = "NSArray", feature = "NSRange"))]
#[unsafe(method(orderedSetWithArray:range:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithArray_range_copyItems(
array: &NSArray<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(orderedSetWithSet:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithSet(set: &NSSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(orderedSetWithSet:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithSet_copyItems(
set: &NSSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[unsafe(method(initWithObject:))]
#[unsafe(method_family = init)]
pub fn initWithObject(this: Allocated<Self>, object: &ObjectType) -> Retained<Self>;
#[unsafe(method(initWithOrderedSet:))]
#[unsafe(method_family = init)]
pub fn initWithOrderedSet(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
) -> Retained<Self>;
#[unsafe(method(initWithOrderedSet:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithOrderedSet_copyItems(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSRange")]
#[unsafe(method(initWithOrderedSet:range:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithOrderedSet_range_copyItems(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(initWithArray:))]
#[unsafe(method_family = init)]
pub fn initWithArray(this: Allocated<Self>, array: &NSArray<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(initWithArray:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithArray_copyItems(
this: Allocated<Self>,
set: &NSArray<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[cfg(all(feature = "NSArray", feature = "NSRange"))]
#[unsafe(method(initWithArray:range:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithArray_range_copyItems(
this: Allocated<Self>,
set: &NSArray<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(initWithSet:))]
#[unsafe(method_family = init)]
pub fn initWithSet(this: Allocated<Self>, set: &NSSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(initWithSet:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithSet_copyItems(
this: Allocated<Self>,
set: &NSSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
);
}
/// Methods declared on superclass `NSOrderedSet`.
///
/// NSOrderedSetCreation.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(orderedSet))]
#[unsafe(method_family = none)]
pub fn orderedSet() -> Retained<Self>;
#[unsafe(method(orderedSetWithObject:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithObject(object: &ObjectType) -> Retained<Self>;
/// # Safety
///
/// `objects` must be a valid pointer.
#[unsafe(method(orderedSetWithObjects:count:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithObjects_count(
objects: NonNull<NonNull<ObjectType>>,
cnt: NSUInteger,
) -> Retained<Self>;
#[unsafe(method(orderedSetWithOrderedSet:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithOrderedSet(set: &NSOrderedSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSRange")]
#[unsafe(method(orderedSetWithOrderedSet:range:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithOrderedSet_range_copyItems(
set: &NSOrderedSet<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(orderedSetWithArray:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithArray(array: &NSArray<ObjectType>) -> Retained<Self>;
#[cfg(all(feature = "NSArray", feature = "NSRange"))]
#[unsafe(method(orderedSetWithArray:range:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithArray_range_copyItems(
array: &NSArray<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(orderedSetWithSet:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithSet(set: &NSSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(orderedSetWithSet:copyItems:))]
#[unsafe(method_family = none)]
pub unsafe fn orderedSetWithSet_copyItems(
set: &NSSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[unsafe(method(initWithObject:))]
#[unsafe(method_family = init)]
pub fn initWithObject(this: Allocated<Self>, object: &ObjectType) -> Retained<Self>;
#[unsafe(method(initWithOrderedSet:))]
#[unsafe(method_family = init)]
pub fn initWithOrderedSet(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
) -> Retained<Self>;
#[unsafe(method(initWithOrderedSet:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithOrderedSet_copyItems(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSRange")]
#[unsafe(method(initWithOrderedSet:range:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithOrderedSet_range_copyItems(
this: Allocated<Self>,
set: &NSOrderedSet<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(initWithArray:))]
#[unsafe(method_family = init)]
pub fn initWithArray(this: Allocated<Self>, array: &NSArray<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSArray")]
#[unsafe(method(initWithArray:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithArray_copyItems(
this: Allocated<Self>,
set: &NSArray<ObjectType>,
flag: bool,
) -> Retained<Self>;
#[cfg(all(feature = "NSArray", feature = "NSRange"))]
#[unsafe(method(initWithArray:range:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithArray_range_copyItems(
this: Allocated<Self>,
set: &NSArray<ObjectType>,
range: NSRange,
flag: bool,
) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(initWithSet:))]
#[unsafe(method_family = init)]
pub fn initWithSet(this: Allocated<Self>, set: &NSSet<ObjectType>) -> Retained<Self>;
#[cfg(feature = "NSSet")]
#[unsafe(method(initWithSet:copyItems:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithSet_copyItems(
this: Allocated<Self>,
set: &NSSet<ObjectType>,
flag: bool,
) -> Retained<Self>;
);
}
/// NSOrderedSetDiffing.
impl<ObjectType: Message> NSOrderedSet<ObjectType> {
extern_methods!(
#[cfg(all(feature = "NSOrderedCollectionDifference", feature = "block2"))]
#[unsafe(method(differenceFromOrderedSet:withOptions:usingEquivalenceTest:))]
#[unsafe(method_family = none)]
pub fn differenceFromOrderedSet_withOptions_usingEquivalenceTest(
&self,
other: &NSOrderedSet<ObjectType>,
options: NSOrderedCollectionDifferenceCalculationOptions,
block: &block2::DynBlock<dyn Fn(NonNull<ObjectType>, NonNull<ObjectType>) -> Bool + '_>,
) -> Retained<NSOrderedCollectionDifference<ObjectType>>;
#[cfg(feature = "NSOrderedCollectionDifference")]
#[unsafe(method(differenceFromOrderedSet:withOptions:))]
#[unsafe(method_family = none)]
pub fn differenceFromOrderedSet_withOptions(
&self,
other: &NSOrderedSet<ObjectType>,
options: NSOrderedCollectionDifferenceCalculationOptions,
) -> Retained<NSOrderedCollectionDifference<ObjectType>>;
#[cfg(feature = "NSOrderedCollectionDifference")]
#[unsafe(method(differenceFromOrderedSet:))]
#[unsafe(method_family = none)]
pub fn differenceFromOrderedSet(
&self,
other: &NSOrderedSet<ObjectType>,
) -> Retained<NSOrderedCollectionDifference<ObjectType>>;
#[cfg(feature = "NSOrderedCollectionDifference")]
#[unsafe(method(orderedSetByApplyingDifference:))]
#[unsafe(method_family = none)]
pub fn orderedSetByApplyingDifference(
&self,
difference: &NSOrderedCollectionDifference<ObjectType>,
) -> Option<Retained<NSOrderedSet<ObjectType>>>;
);
}
extern_class!(
/// ************** Mutable Ordered Set ***************
///
#[unsafe(super(NSOrderedSet<ObjectType>, NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSMutableOrderedSet<ObjectType: ?Sized = AnyObject>;
);
impl<ObjectType: ?Sized + Message> NSMutableOrderedSet<ObjectType> {
/// Unchecked conversion of the generic parameter.
///
/// # Safety
///
/// The generic must be valid to reinterpret as the given type.
#[inline]
pub unsafe fn cast_unchecked<NewObjectType: ?Sized + Message>(
&self,
) -> &NSMutableOrderedSet<NewObjectType> {
unsafe { &*((self as *const Self).cast()) }
}
}
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized + NSCoding> NSCoding for NSMutableOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSCopying for NSMutableOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
unsafe impl<ObjectType: ?Sized + Message> CopyingHelper for NSMutableOrderedSet<ObjectType> {
type Result = NSOrderedSet<ObjectType>;
}
#[cfg(feature = "NSEnumerator")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSFastEnumeration for NSMutableOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSMutableCopying for NSMutableOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
unsafe impl<ObjectType: ?Sized + Message> MutableCopyingHelper for NSMutableOrderedSet<ObjectType> {
type Result = Self;
}
extern_conformance!(
unsafe impl<ObjectType: ?Sized> NSObjectProtocol for NSMutableOrderedSet<ObjectType> {}
);
#[cfg(feature = "NSObject")]
extern_conformance!(
unsafe impl<ObjectType: ?Sized + NSSecureCoding> NSSecureCoding
for NSMutableOrderedSet<ObjectType>
{
}
);
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(insertObject:atIndex:))]
#[unsafe(method_family = none)]
pub fn insertObject_atIndex(&self, object: &ObjectType, idx: NSUInteger);
#[unsafe(method(removeObjectAtIndex:))]
#[unsafe(method_family = none)]
pub fn removeObjectAtIndex(&self, idx: NSUInteger);
#[unsafe(method(replaceObjectAtIndex:withObject:))]
#[unsafe(method_family = none)]
pub fn replaceObjectAtIndex_withObject(&self, idx: NSUInteger, object: &ObjectType);
#[cfg(feature = "NSCoder")]
/// # Safety
///
/// `coder` possibly has further requirements.
#[unsafe(method(initWithCoder:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithCapacity:))]
#[unsafe(method_family = init)]
pub fn initWithCapacity(this: Allocated<Self>, num_items: NSUInteger) -> Retained<Self>;
);
}
/// Methods declared on superclass `NSOrderedSet`.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
/// # Safety
///
/// `objects` must be a valid pointer or null.
#[unsafe(method(initWithObjects:count:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithObjects_count(
this: Allocated<Self>,
objects: *mut NonNull<ObjectType>,
cnt: NSUInteger,
) -> Retained<Self>;
);
}
/// Methods declared on superclass `NSObject`.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub fn new() -> Retained<Self>;
);
}
impl<ObjectType: Message> DefaultRetained for NSMutableOrderedSet<ObjectType> {
#[inline]
fn default_retained() -> Retained<Self> {
Self::new()
}
}
/// NSExtendedMutableOrderedSet.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(addObject:))]
#[unsafe(method_family = none)]
pub fn addObject(&self, object: &ObjectType);
/// # Safety
///
/// `objects` must be a valid pointer or null.
#[unsafe(method(addObjects:count:))]
#[unsafe(method_family = none)]
pub unsafe fn addObjects_count(&self, objects: *mut NonNull<ObjectType>, count: NSUInteger);
#[cfg(feature = "NSArray")]
#[unsafe(method(addObjectsFromArray:))]
#[unsafe(method_family = none)]
pub fn addObjectsFromArray(&self, array: &NSArray<ObjectType>);
#[unsafe(method(exchangeObjectAtIndex:withObjectAtIndex:))]
#[unsafe(method_family = none)]
pub fn exchangeObjectAtIndex_withObjectAtIndex(&self, idx1: NSUInteger, idx2: NSUInteger);
#[cfg(feature = "NSIndexSet")]
#[unsafe(method(moveObjectsAtIndexes:toIndex:))]
#[unsafe(method_family = none)]
pub fn moveObjectsAtIndexes_toIndex(&self, indexes: &NSIndexSet, idx: NSUInteger);
#[cfg(all(feature = "NSArray", feature = "NSIndexSet"))]
#[unsafe(method(insertObjects:atIndexes:))]
#[unsafe(method_family = none)]
pub fn insertObjects_atIndexes(&self, objects: &NSArray<ObjectType>, indexes: &NSIndexSet);
#[unsafe(method(setObject:atIndex:))]
#[unsafe(method_family = none)]
pub fn setObject_atIndex(&self, obj: &ObjectType, idx: NSUInteger);
#[unsafe(method(setObject:atIndexedSubscript:))]
#[unsafe(method_family = none)]
pub fn setObject_atIndexedSubscript(&self, obj: &ObjectType, idx: NSUInteger);
#[cfg(feature = "NSRange")]
/// # Safety
///
/// `objects` must be a valid pointer or null.
#[unsafe(method(replaceObjectsInRange:withObjects:count:))]
#[unsafe(method_family = none)]
pub unsafe fn replaceObjectsInRange_withObjects_count(
&self,
range: NSRange,
objects: *mut NonNull<ObjectType>,
count: NSUInteger,
);
#[cfg(all(feature = "NSArray", feature = "NSIndexSet"))]
#[unsafe(method(replaceObjectsAtIndexes:withObjects:))]
#[unsafe(method_family = none)]
pub fn replaceObjectsAtIndexes_withObjects(
&self,
indexes: &NSIndexSet,
objects: &NSArray<ObjectType>,
);
#[cfg(feature = "NSRange")]
#[unsafe(method(removeObjectsInRange:))]
#[unsafe(method_family = none)]
pub fn removeObjectsInRange(&self, range: NSRange);
#[cfg(feature = "NSIndexSet")]
#[unsafe(method(removeObjectsAtIndexes:))]
#[unsafe(method_family = none)]
pub fn removeObjectsAtIndexes(&self, indexes: &NSIndexSet);
#[unsafe(method(removeAllObjects))]
#[unsafe(method_family = none)]
pub fn removeAllObjects(&self);
#[unsafe(method(removeObject:))]
#[unsafe(method_family = none)]
pub fn removeObject(&self, object: &ObjectType);
#[cfg(feature = "NSArray")]
#[unsafe(method(removeObjectsInArray:))]
#[unsafe(method_family = none)]
pub fn removeObjectsInArray(&self, array: &NSArray<ObjectType>);
#[unsafe(method(intersectOrderedSet:))]
#[unsafe(method_family = none)]
pub fn intersectOrderedSet(&self, other: &NSOrderedSet<ObjectType>);
#[unsafe(method(minusOrderedSet:))]
#[unsafe(method_family = none)]
pub fn minusOrderedSet(&self, other: &NSOrderedSet<ObjectType>);
#[unsafe(method(unionOrderedSet:))]
#[unsafe(method_family = none)]
pub fn unionOrderedSet(&self, other: &NSOrderedSet<ObjectType>);
#[cfg(feature = "NSSet")]
#[unsafe(method(intersectSet:))]
#[unsafe(method_family = none)]
pub fn intersectSet(&self, other: &NSSet<ObjectType>);
#[cfg(feature = "NSSet")]
#[unsafe(method(minusSet:))]
#[unsafe(method_family = none)]
pub fn minusSet(&self, other: &NSSet<ObjectType>);
#[cfg(feature = "NSSet")]
#[unsafe(method(unionSet:))]
#[unsafe(method_family = none)]
pub fn unionSet(&self, other: &NSSet<ObjectType>);
#[cfg(all(feature = "NSObjCRuntime", feature = "block2"))]
/// # Safety
///
/// `cmptr` must be a valid pointer.
#[unsafe(method(sortUsingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn sortUsingComparator(&self, cmptr: NSComparator);
#[cfg(all(feature = "NSObjCRuntime", feature = "block2"))]
/// # Safety
///
/// `cmptr` must be a valid pointer.
#[unsafe(method(sortWithOptions:usingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn sortWithOptions_usingComparator(
&self,
opts: NSSortOptions,
cmptr: NSComparator,
);
#[cfg(all(feature = "NSObjCRuntime", feature = "NSRange", feature = "block2"))]
/// # Safety
///
/// `cmptr` must be a valid pointer.
#[unsafe(method(sortRange:options:usingComparator:))]
#[unsafe(method_family = none)]
pub unsafe fn sortRange_options_usingComparator(
&self,
range: NSRange,
opts: NSSortOptions,
cmptr: NSComparator,
);
);
}
/// NSMutableOrderedSetCreation.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[unsafe(method(orderedSetWithCapacity:))]
#[unsafe(method_family = none)]
pub fn orderedSetWithCapacity(num_items: NSUInteger) -> Retained<Self>;
);
}
/// NSMutableOrderedSetDiffing.
impl<ObjectType: Message> NSMutableOrderedSet<ObjectType> {
extern_methods!(
#[cfg(feature = "NSOrderedCollectionDifference")]
#[unsafe(method(applyDifference:))]
#[unsafe(method_family = none)]
pub fn applyDifference(&self, difference: &NSOrderedCollectionDifference<ObjectType>);
);
}