Skip to main content

Track

Trait Track 

Source
pub trait Track
where Self::Metadata: IsEqual<<<Self::Part as Part>::Block as Block>::Track::Metadata>,
{ type Part: Part; type Metadata: Copy; type TrackInfo; // Required methods fn meta(&self) -> Self::Metadata; fn parts(&self) -> Vec<Self::Part>; fn decode_meta(data: &[u8], offset: &mut usize) -> Option<Self::Metadata>; fn encode_meta(&self, data: &mut Vec<u8>); fn from_data(metadata: Self::Metadata, parts: Vec<Self::Part>) -> Self; fn decode_track_code( track_code: &str, ) -> Option<(String, Self::TrackInfo, Vec<u8>)>; fn encode_track_code( name: String, info: Self::TrackInfo, track_data: &[u8], ) -> Option<String>; }

Required Associated Types§

Required Methods§

Source

fn meta(&self) -> Self::Metadata

Source

fn parts(&self) -> Vec<Self::Part>

Source

fn decode_meta(data: &[u8], offset: &mut usize) -> Option<Self::Metadata>

Source

fn encode_meta(&self, data: &mut Vec<u8>)

Source

fn from_data(metadata: Self::Metadata, parts: Vec<Self::Part>) -> Self

Source

fn decode_track_code( track_code: &str, ) -> Option<(String, Self::TrackInfo, Vec<u8>)>

Source

fn encode_track_code( name: String, info: Self::TrackInfo, track_data: &[u8], ) -> Option<String>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§