icrate 0.1.2

Bindings to Apple's frameworks
Documentation
use alloc::borrow::ToOwned;

use crate::common::*;
use crate::Foundation::{self, NSCopying, NSMutableCopying};

#[cfg(feature = "Foundation_NSArray")]
impl<T: Message + IsIdCloneable> ToOwned for Foundation::NSArray<T> {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSMutableArray")]
impl<T: Message + IsIdCloneable> ToOwned for Foundation::NSMutableArray<T> {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.mutableCopy()
    }
}

#[cfg(feature = "Foundation_NSData")]
impl ToOwned for Foundation::NSData {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSMutableData")]
impl ToOwned for Foundation::NSMutableData {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.mutableCopy()
    }
}

#[cfg(feature = "Foundation_NSException")]
impl ToOwned for Foundation::NSException {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSSet")]
impl<T: Message + IsIdCloneable> ToOwned for Foundation::NSSet<T> {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSMutableSet")]
impl<T: Message + IsIdCloneable> ToOwned for Foundation::NSMutableSet<T> {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.mutableCopy()
    }
}

#[cfg(feature = "Foundation_NSString")]
impl ToOwned for Foundation::NSString {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSMutableString")]
impl ToOwned for Foundation::NSMutableString {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.mutableCopy()
    }
}

#[cfg(feature = "Foundation_NSAttributedString")]
impl ToOwned for Foundation::NSAttributedString {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSMutableAttributedString")]
impl ToOwned for Foundation::NSMutableAttributedString {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.mutableCopy()
    }
}

#[cfg(feature = "Foundation_NSUUID")]
impl ToOwned for Foundation::NSUUID {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSValue")]
impl ToOwned for Foundation::NSValue {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}

#[cfg(feature = "Foundation_NSNumber")]
impl ToOwned for Foundation::NSNumber {
    type Owned = Id<Self>;
    fn to_owned(&self) -> Self::Owned {
        self.copy()
    }
}