[][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]

default 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> 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> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

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

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

type Error = Infallible

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

The type returned in the event of a conversion error.