[][src]Enum rusttype::SharedBytes

pub enum SharedBytes<'a> {
    ByRef(&'a [u8]),
    ByArc(Arc<[u8]>),
}

SharedBytes handles the lifetime of font data used in RustType. The data is either a shared reference to externally owned data, or managed by reference counting. SharedBytes can be conveniently used with From and Into, and dereferences to the contained bytes.

Lifetime

The lifetime reflects the font data lifetime. SharedBytes<'static> covers most cases ie both dynamically loaded owned data and for referenced compile time font data.

Variants

ByRef(&'a [u8])ByArc(Arc<[u8]>)

Trait Implementations

impl<'a> Clone for SharedBytes<'a>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<'a> From<&'a [u8]> for SharedBytes<'a>[src]

let bytes: &[u8] = &[0u8, 1, 2, 3];
let shared: SharedBytes = bytes.into();
assert_eq!(&*shared, bytes);

impl From<Arc<[u8]>> for SharedBytes<'static>[src]

let bytes: Arc<[u8]> = vec![0u8, 1, 2, 3].into();
let shared: SharedBytes = Arc::clone(&bytes).into();
assert_eq!(&*shared, &*bytes);

impl From<Box<[u8]>> for SharedBytes<'static>[src]

let bytes: Box<[u8]> = vec![0u8, 1, 2, 3].into();
let shared: SharedBytes = bytes.into();
assert_eq!(&*shared, &[0u8, 1, 2, 3]);

impl From<Vec<u8>> for SharedBytes<'static>[src]

let bytes = vec![0u8, 1, 2, 3];
let shared: SharedBytes = bytes.into();
assert_eq!(&*shared, &[0u8, 1, 2, 3]);

impl<'a, T: AsRef<[u8]>> From<&'a T> for SharedBytes<'a>[src]

let bytes = vec![0u8, 1, 2, 3];
let shared: SharedBytes = (&bytes).into();
assert_eq!(&*shared, &bytes as &[u8]);

impl<'a> Deref for SharedBytes<'a>[src]

type Target = [u8]

The resulting type after dereferencing.

impl<'a> Debug for SharedBytes<'a>[src]

Auto Trait Implementations

impl<'a> Send for SharedBytes<'a>

impl<'a> Sync for SharedBytes<'a>

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]