pub trait Operation {
    // Required methods
    fn init(&mut self, geometry: &Geometry) -> Result<(), AUTDInternalError>;
    fn required_size(&self, device: &Device) -> usize;
    fn pack(
        &mut self,
        device: &Device,
        tx: &mut [u8]
    ) -> Result<usize, AUTDInternalError>;
    fn commit(&mut self, device: &Device);
    fn remains(&self, device: &Device) -> usize;
}

Required Methods§

source

fn init(&mut self, geometry: &Geometry) -> Result<(), AUTDInternalError>

source

fn required_size(&self, device: &Device) -> usize

source

fn pack( &mut self, device: &Device, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source

fn commit(&mut self, device: &Device)

source

fn remains(&self, device: &Device) -> usize

Trait Implementations§

source§

impl Operation for Box<dyn Operation>

source§

fn init(&mut self, geometry: &Geometry) -> Result<(), AUTDInternalError>

source§

fn required_size(&self, device: &Device) -> usize

source§

fn pack( &mut self, device: &Device, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source§

fn commit(&mut self, device: &Device)

source§

fn remains(&self, device: &Device) -> usize

Implementations on Foreign Types§

source§

impl Operation for Box<dyn Operation>

source§

fn init(&mut self, geometry: &Geometry) -> Result<(), AUTDInternalError>

source§

fn required_size(&self, device: &Device) -> usize

source§

fn pack( &mut self, device: &Device, tx: &mut [u8] ) -> Result<usize, AUTDInternalError>

source§

fn commit(&mut self, device: &Device)

source§

fn remains(&self, device: &Device) -> usize

Implementors§