[][src]Trait abomonation::Abomonation

pub trait Abomonation {
    unsafe fn entomb<W: Write>(&self, _write: &mut W) -> IOResult<()> { ... }
unsafe fn exhume<'a, 'b>(
        &'a mut self,
        bytes: &'b mut [u8]
    ) -> Option<&'b mut [u8]> { ... }
fn extent(&self) -> usize { ... } }

Abomonation provides methods to serialize any heap data the implementor owns.

The default implementations for Abomonation's methods are all empty. Many types have no owned data to transcribe. Some do, however, and need to carefully implement these unsafe methods.

Safety

Abomonation has no safe methods. Please do not call them. They should be called only by encode and decode, each of which impose restrictions on ownership and lifetime of the data they take as input and return as output.

If you are concerned about safety, it may be best to avoid Abomonation all together. It does several things that may be undefined behavior, depending on how undefined behavior is defined.

Provided methods

unsafe fn entomb<W: Write>(&self, _write: &mut W) -> IOResult<()>

Write any additional information about &self beyond its binary representation.

Most commonly this is owned data on the other end of pointers in &self. The return value reports any failures in writing to write.

unsafe fn exhume<'a, 'b>(
    &'a mut self,
    bytes: &'b mut [u8]
) -> Option<&'b mut [u8]>

Recover any information for &mut self not evident from its binary representation.

Most commonly this populates pointers with valid references into bytes.

fn extent(&self) -> usize

Reports the number of further bytes required to entomb self.

Loading content...

Implementations on Foreign Types

impl Abomonation for u8[src]

impl Abomonation for u16[src]

impl Abomonation for u32[src]

impl Abomonation for u64[src]

impl Abomonation for u128[src]

impl Abomonation for usize[src]

impl Abomonation for i8[src]

impl Abomonation for i16[src]

impl Abomonation for i32[src]

impl Abomonation for i64[src]

impl Abomonation for i128[src]

impl Abomonation for isize[src]

impl Abomonation for NonZeroU8[src]

impl Abomonation for NonZeroU16[src]

impl Abomonation for NonZeroU32[src]

impl Abomonation for NonZeroU64[src]

impl Abomonation for NonZeroU128[src]

impl Abomonation for NonZeroUsize[src]

impl Abomonation for NonZeroI8[src]

impl Abomonation for NonZeroI16[src]

impl Abomonation for NonZeroI32[src]

impl Abomonation for NonZeroI64[src]

impl Abomonation for NonZeroI128[src]

impl Abomonation for NonZeroIsize[src]

impl Abomonation for f32[src]

impl Abomonation for f64[src]

impl Abomonation for bool[src]

impl Abomonation for ()[src]

impl Abomonation for char[src]

impl Abomonation for Duration[src]

impl<T> Abomonation for PhantomData<T>[src]

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

impl<T: Abomonation, E: Abomonation> Abomonation for Result<T, E>[src]

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

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

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

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

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

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

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

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

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

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation, AB: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation, AB: Abomonation, AC: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation, AB: Abomonation, AC: Abomonation, AD: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation, AB: Abomonation, AC: Abomonation, AD: Abomonation, AE: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE)[src]

impl<A: Abomonation, B: Abomonation, C: Abomonation, D: Abomonation, E: Abomonation, F: Abomonation, G: Abomonation, H: Abomonation, I: Abomonation, J: Abomonation, K: Abomonation, L: Abomonation, M: Abomonation, N: Abomonation, O: Abomonation, P: Abomonation, Q: Abomonation, R: Abomonation, S: Abomonation, T: Abomonation, U: Abomonation, V: Abomonation, W: Abomonation, X: Abomonation, Y: Abomonation, Z: Abomonation, AA: Abomonation, AB: Abomonation, AC: Abomonation, AD: Abomonation, AE: Abomonation, AF: Abomonation> Abomonation for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF)[src]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl Abomonation for String[src]

impl<T: Abomonation> Abomonation for Vec<T>[src]

impl<T: Abomonation> Abomonation for Box<T>[src]

impl Abomonation for IpAddr[src]

impl Abomonation for Ipv4Addr[src]

impl Abomonation for Ipv6Addr[src]

impl Abomonation for SocketAddr[src]

impl Abomonation for SocketAddrV4[src]

impl Abomonation for SocketAddrV6[src]

Loading content...

Implementors

Loading content...