ArrayAtomHeader

Trait ArrayAtomHeader 

Source
pub trait ArrayAtomHeader: Sized {
    type InitializationParameter: ?Sized;

    // Required method
    unsafe fn initialize<'a, W, T>(
        writer: &mut W,
        parameter: &Self::InitializationParameter,
        urids: &mut CachedMap,
    ) -> Result<(), ()>
       where T: 'static + Sized + Copy,
             ArrayAtomBody<Self, T>: AtomBody,
             W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<Self, T>>;
}
Expand description

A header of an ArrayAtomBody.

Many atoms have an additional body header and this trait represents said headers.

Required Associated Types§

Source

type InitializationParameter: ?Sized

Type of the parameter for initialize.

Required Methods§

Source

unsafe fn initialize<'a, W, T>( writer: &mut W, parameter: &Self::InitializationParameter, urids: &mut CachedMap, ) -> Result<(), ()>
where T: 'static + Sized + Copy, ArrayAtomBody<Self, T>: AtomBody, W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<Self, T>>,

Write out the array atom header.

The same rules from AtomBody::initialize_body apply.

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 ArrayAtomHeader for ()

Source§

type InitializationParameter = ()

Source§

unsafe fn initialize<'a, W, T>( _: &mut W, _: &(), _: &mut CachedMap, ) -> Result<(), ()>
where T: 'static + Sized + Copy, ArrayAtomBody<Self, T>: AtomBody, W: WritingFrame<'a> + WritingFrameExt<'a, ArrayAtomBody<Self, T>>,

Implementors§