pub trait WritableChannelsDescription<Pixel>: Sync {
    type RecursiveWriter: RecursivePixelWriter<Pixel>;

    // Required methods
    fn create_recursive_writer(
        &self,
        channels: &ChannelList
    ) -> Self::RecursiveWriter;
    fn channel_descriptions_list(&self) -> SmallVec<[ChannelDescription; 5]> ;
}
Expand description

A tuple containing either ChannelsDescription or Option<ChannelsDescription> entries. Use an Option if you want to dynamically omit a single channel (probably only for roundtrip tests). The number of entries must match the number of channels.

Required Associated Types§

source

type RecursiveWriter: RecursivePixelWriter<Pixel>

A type that has a recursive entry for each channel in the image, which must accept the desired pixel type.

Required Methods§

source

fn create_recursive_writer( &self, channels: &ChannelList ) -> Self::RecursiveWriter

Create the temporary writer, accepting the sorted list of channels from channel_descriptions_list.

source

fn channel_descriptions_list(&self) -> SmallVec<[ChannelDescription; 5]>

Return all the channels that should actually end up in the image, in any order.

Implementors§

source§

impl WritableChannelsDescription<NoneMore> for NoneMore

source§

impl<InnerDescriptions, InnerPixel, Sample: IntoNativeSample> WritableChannelsDescription<Recursive<InnerPixel, Sample>> for Recursive<InnerDescriptions, Option<ChannelDescription>>where InnerDescriptions: WritableChannelsDescription<InnerPixel>,

§

type RecursiveWriter = Recursive<<InnerDescriptions as WritableChannelsDescription<InnerPixel>>::RecursiveWriter, Option<SampleWriter<Sample>>>

source§

impl<InnerDescriptions, InnerPixel, Sample: IntoNativeSample> WritableChannelsDescription<Recursive<InnerPixel, Sample>> for Recursive<InnerDescriptions, ChannelDescription>where InnerDescriptions: WritableChannelsDescription<InnerPixel>,

§

type RecursiveWriter = Recursive<<InnerDescriptions as WritableChannelsDescription<InnerPixel>>::RecursiveWriter, SampleWriter<Sample>>