[][src]Trait ed::Terminated

pub auto trait Terminated { }

A type is Terminated the length of the value being read can be determined when decoding.

Since Terminated is an auto trait, it is automatically present for any type made of fields which are all Terminated.

Consider a type like u32 - it is always 4 bytes long. If a slice of length 5 was passed to its decode method, it would know to stop reading after the 4th byte, which means it is Terminated.

For an example of something which is NOT terminated, consider Vec<u8>. Its encoding and decoding do not use a length prefix or end with a null byte, so decode would have no way to know where to stop reading.

Implementations on Foreign Types

impl Terminated for isize

impl Terminated for usize

impl Terminated for f32

impl Terminated for f64

impl Terminated for char

impl Terminated for str

impl<T, const N: usize> Terminated for [T; N] where
    T: Terminated

impl<T> Terminated for [T] where
    T: Terminated

impl Terminated for [u8]

impl<T: ?Sized> Terminated for *const T where
    T: Terminated

impl<T: ?Sized> Terminated for *mut T where
    T: Terminated

impl<T> Terminated for *const [T] where
    T: Terminated

impl<T> Terminated for *mut [T] where
    T: Terminated

impl Terminated for u8[src]

impl Terminated for u16[src]

impl Terminated for u32[src]

impl Terminated for u64[src]

impl Terminated for u128[src]

impl Terminated for i8[src]

impl Terminated for i16[src]

impl Terminated for i32[src]

impl Terminated for i64[src]

impl Terminated for i128[src]

impl Terminated for bool[src]

impl<T: Terminated> Terminated for Option<T>[src]

impl Terminated for ()[src]

impl<A: Terminated> Terminated for (A,)[src]

impl<A: Terminated, B: Terminated> Terminated for (A, B)[src]

impl<A: Terminated, B: Terminated, C: Terminated> Terminated for (A, B, C)[src]

impl<A: Terminated, B: Terminated, C: Terminated, D: Terminated> Terminated for (A, B, C, D)[src]

impl<A: Terminated, B: Terminated, C: Terminated, D: Terminated, E: Terminated> Terminated for (A, B, C, D, E)[src]

impl<A: Terminated, B: Terminated, C: Terminated, D: Terminated, E: Terminated, F: Terminated> Terminated for (A, B, C, D, E, F)[src]

impl<A: Terminated, B: Terminated, C: Terminated, D: Terminated, E: Terminated, F: Terminated, G: Terminated> Terminated for (A, B, C, D, E, F, G)[src]

impl<T: Terminated> Terminated for [T; 0][src]

impl<T: Terminated> Terminated for [T; 1][src]

impl<T: Terminated> Terminated for [T; 2][src]

impl<T: Terminated> Terminated for [T; 3][src]

impl<T: Terminated> Terminated for [T; 4][src]

impl<T: Terminated> Terminated for [T; 5][src]

impl<T: Terminated> Terminated for [T; 6][src]

impl<T: Terminated> Terminated for [T; 7][src]

impl<T: Terminated> Terminated for [T; 8][src]

impl<T: Terminated> Terminated for [T; 9][src]

impl<T: Terminated> Terminated for [T; 10][src]

impl<T: Terminated> Terminated for [T; 11][src]

impl<T: Terminated> Terminated for [T; 12][src]

impl<T: Terminated> Terminated for [T; 13][src]

impl<T: Terminated> Terminated for [T; 14][src]

impl<T: Terminated> Terminated for [T; 15][src]

impl<T: Terminated> Terminated for [T; 16][src]

impl<T: Terminated> Terminated for [T; 17][src]

impl<T: Terminated> Terminated for [T; 18][src]

impl<T: Terminated> Terminated for [T; 19][src]

impl<T: Terminated> Terminated for [T; 20][src]

impl<T: Terminated> Terminated for [T; 21][src]

impl<T: Terminated> Terminated for [T; 22][src]

impl<T: Terminated> Terminated for [T; 23][src]

impl<T: Terminated> Terminated for [T; 24][src]

impl<T: Terminated> Terminated for [T; 25][src]

impl<T: Terminated> Terminated for [T; 26][src]

impl<T: Terminated> Terminated for [T; 27][src]

impl<T: Terminated> Terminated for [T; 28][src]

impl<T: Terminated> Terminated for [T; 29][src]

impl<T: Terminated> Terminated for [T; 30][src]

impl<T: Terminated> Terminated for [T; 31][src]

impl<T: Terminated> Terminated for [T; 32][src]

impl<T: Terminated> Terminated for [T; 33][src]

impl<T: Terminated> Terminated for [T; 64][src]

impl<T: Terminated> Terminated for [T; 128][src]

impl<T: Terminated> Terminated for [T; 256][src]

Loading content...

Implementors

Loading content...

Auto implementors

Loading content...