Skip to main content

TypeRef

Trait TypeRef 

Source
pub trait TypeRef<'a>:
    Sized
    + Debug
    + Copy {
    // Required method
    unsafe fn from_slice(src: &'a [u8]) -> Self;

    // Provided method
    fn as_raw(&self) -> Option<&'a [u8]> { ... }
}
Expand description

The reference type trait for the Type trait.

Required Methods§

Source

unsafe fn from_slice(src: &'a [u8]) -> Self

Creates a reference type from a bytes slice.

§Safety
  • the src must the same as the one returned by encode.

Provided Methods§

Source

fn as_raw(&self) -> Option<&'a [u8]>

Returns the original bytes slice of the reference type.

This method can return None if your reference type does not keep the original bytes slice.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TypeRef<'_> for bool

Source§

unsafe fn from_slice(buf: &[u8]) -> bool

Source§

impl TypeRef<'_> for char

Source§

unsafe fn from_slice(buf: &[u8]) -> char

Source§

impl TypeRef<'_> for f32

Source§

unsafe fn from_slice(buf: &[u8]) -> f32

Source§

impl TypeRef<'_> for f64

Source§

unsafe fn from_slice(buf: &[u8]) -> f64

Source§

impl TypeRef<'_> for i8

Source§

unsafe fn from_slice(buf: &[u8]) -> i8

Source§

impl TypeRef<'_> for i16

Source§

unsafe fn from_slice(buf: &[u8]) -> i16

Source§

impl TypeRef<'_> for i32

Source§

unsafe fn from_slice(buf: &[u8]) -> i32

Source§

impl TypeRef<'_> for i64

Source§

unsafe fn from_slice(buf: &[u8]) -> i64

Source§

impl TypeRef<'_> for i128

Source§

unsafe fn from_slice(buf: &[u8]) -> i128

Source§

impl TypeRef<'_> for isize

Source§

unsafe fn from_slice(buf: &[u8]) -> isize

Source§

impl TypeRef<'_> for u8

Source§

unsafe fn from_slice(buf: &[u8]) -> u8

Source§

impl TypeRef<'_> for u16

Source§

unsafe fn from_slice(buf: &[u8]) -> u16

Source§

impl TypeRef<'_> for u32

Source§

unsafe fn from_slice(buf: &[u8]) -> u32

Source§

impl TypeRef<'_> for u64

Source§

unsafe fn from_slice(buf: &[u8]) -> u64

Source§

impl TypeRef<'_> for u128

Source§

unsafe fn from_slice(buf: &[u8]) -> u128

Source§

impl TypeRef<'_> for usize

Source§

unsafe fn from_slice(buf: &[u8]) -> usize

Source§

impl TypeRef<'_> for Ipv4Addr

Source§

unsafe fn from_slice(buf: &[u8]) -> Ipv4Addr

Source§

impl TypeRef<'_> for Ipv6Addr

Source§

unsafe fn from_slice(buf: &[u8]) -> Ipv6Addr

Source§

impl TypeRef<'_> for SocketAddrV4

Source§

unsafe fn from_slice(buf: &[u8]) -> SocketAddrV4

Source§

impl TypeRef<'_> for SocketAddrV6

Source§

unsafe fn from_slice(buf: &[u8]) -> SocketAddrV6

Source§

impl<'a> TypeRef<'a> for &'a str

Source§

unsafe fn from_slice(src: &'a [u8]) -> &'a str

Source§

fn as_raw(&self) -> Option<&'a [u8]>

Source§

impl<'a> TypeRef<'a> for &'a [u8]

Source§

unsafe fn from_slice(src: &'a [u8]) -> &'a [u8]

Source§

fn as_raw(&self) -> Option<&'a [u8]>

Source§

impl<'a> TypeRef<'a> for ()

Source§

unsafe fn from_slice(_buf: &[u8])

Source§

fn as_raw(&self) -> Option<&'a [u8]>

Source§

impl<const N: usize> TypeRef<'_> for [u8; N]

Source§

unsafe fn from_slice(src: &[u8]) -> [u8; N]

Implementors§

Source§

impl<'a> TypeRef<'a> for SliceRef<'a>

Source§

impl<'a> TypeRef<'a> for Str<'a>