[][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> 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> 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> Debug for SharedBytes<'a>[src]

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

type Target = [u8]

The resulting type after dereferencing.

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> From for T[src]

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

type Owned = T

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> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut 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.