[][src]Trait abi_stable::std_types::cow::BorrowOwned

pub unsafe trait BorrowOwned<'a>: 'a + Copy {
type ROwned;
type Borrowed: 'a + ?Sized + ToOwned;
    fn to_rowned(self) -> Self::ROwned;
fn from_rowned(owned: &'a Self::ROwned) -> Self;
fn rowned_to_owned(
        owned: Self::ROwned
    ) -> <Self::Borrowed as ToOwned>::Owned;
fn owned_to_rowned(
        owned: <Self::Borrowed as ToOwned>::Owned
    ) -> Self::ROwned;
fn from_borrowed(this: &'a Self::Borrowed) -> Self;
fn deref_borrowed(self) -> &'a Self::Borrowed;
fn deref_owned(owned: &Self::ROwned) -> &Self::Borrowed; }

The ffi-safe borrowed and owned types this is associated with, as well as conversions to and from those types.

Safety

The StaticEquivalent associated type must be implemented correctly.

Associated Types

type ROwned

type Borrowed: 'a + ?Sized + ToOwned

Loading content...

Required methods

fn to_rowned(self) -> Self::ROwned

fn from_rowned(owned: &'a Self::ROwned) -> Self

fn rowned_to_owned(owned: Self::ROwned) -> <Self::Borrowed as ToOwned>::Owned

fn owned_to_rowned(owned: <Self::Borrowed as ToOwned>::Owned) -> Self::ROwned

fn from_borrowed(this: &'a Self::Borrowed) -> Self

fn deref_borrowed(self) -> &'a Self::Borrowed

fn deref_owned(owned: &Self::ROwned) -> &Self::Borrowed

Loading content...

Implementations on Foreign Types

impl<'a, T: 'a> BorrowOwned<'a> for &'a T where
    T: StableAbi + Clone
[src]

type Borrowed = T

type ROwned = T

Loading content...

Implementors

impl<'a> BorrowOwned<'a> for RStr<'a>[src]

type ROwned = RString

type Borrowed = str

impl<'a, T: 'a> BorrowOwned<'a> for RSlice<'a, T> where
    T: StableAbi + Clone
[src]

type Borrowed = [T]

type ROwned = RVec<T>

Loading content...