pub struct Scld<M: PagedMemory8k, B, X, V> { /* private fields */ }Expand description
This is the emulator of SCLD chip used with Timex’s TC2048 / TC2068 / TS2068 models.
The generic type M must implement PagedMemory8k trait in addition to ZxMemory.
See Ula for description of other generic parameters.
Trait Implementations§
Source§impl<A, M, B, X, V> AudioFrame<A> for Scld<M, B, X, V>
impl<A, M, B, X, V> AudioFrame<A> for Scld<M, B, X, V>
Source§fn get_audio_frame_end_time(&self) -> FTs
fn get_audio_frame_end_time(&self) -> FTs
Source§fn end_audio_frame(&self, blep: &mut B) -> usize
fn end_audio_frame(&self, blep: &mut B) -> usize
Calls Blep::end_frame to finalize the frame and prepare it for rendition. Read more
Source§impl<A, M, B, X, V> AyAudioFrame<A> for Scld<M, B, X, V>where
A: Blep,
M: PagedMemory8k,
B: AyAudioBusDevice + BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
impl<A, M, B, X, V> AyAudioFrame<A> for Scld<M, B, X, V>where
A: Blep,
M: PagedMemory8k,
B: AyAudioBusDevice + BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
Source§fn render_ay_audio_frame<L: AmpLevels<A::SampleDelta>>(
&mut self,
blep: &mut A,
chans: [usize; 3],
)
fn render_ay_audio_frame<L: AmpLevels<A::SampleDelta>>( &mut self, blep: &mut A, chans: [usize; 3], )
Source§impl<M, B, X, V> ControlUnit for Scld<M, B, X, V>where
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
X: MemoryExtension,
V: VideoFrame,
impl<M, B, X, V> ControlUnit for Scld<M, B, X, V>where
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
X: MemoryExtension,
V: VideoFrame,
Source§type BusDevice = B
type BusDevice = B
A type of a chain of emulated peripheral devices should be declared here. Read more
Source§fn bus_device_mut(&mut self) -> &mut Self::BusDevice
fn bus_device_mut(&mut self) -> &mut Self::BusDevice
Returns a mutable reference to the instance of the first bus device in the device chain.
Source§fn bus_device_ref(&self) -> &Self::BusDevice
fn bus_device_ref(&self) -> &Self::BusDevice
Returns a reference to the the instance of the first bus device in the device chain.
Source§fn into_bus_device(self) -> Self::BusDevice
fn into_bus_device(self) -> Self::BusDevice
Destructs self and returns the instance of the bus device.
Source§fn nmi<C: Cpu>(&mut self, cpu: &mut C) -> bool
fn nmi<C: Cpu>(&mut self, cpu: &mut C) -> bool
Triggers a non-maskable interrupt. Returns
true if NMI was accepted. Read moreSource§fn execute_next_frame<C: Cpu>(&mut self, cpu: &mut C)
fn execute_next_frame<C: Cpu>(&mut self, cpu: &mut C)
Conditionally prepares the internal state for the next frame and executes instructions on the
cpu
as fast as possible, until the near end of that frame.Source§fn ensure_next_frame(&mut self)
fn ensure_next_frame(&mut self)
Conditionally prepares the internal state for the next frame, advances the frame counter, and wraps
the T-state counter if it is near the end of a frame. Read more
Source§impl<'de, M: PagedMemory8k, B, X, V> Deserialize<'de> for Scld<M, B, X, V>
impl<'de, M: PagedMemory8k, B, X, V> Deserialize<'de> for Scld<M, B, X, V>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<M, B, X, V> EarIn for Scld<M, B, X, V>where
M: PagedMemory8k,
V: VideoFrame,
impl<M, B, X, V> EarIn for Scld<M, B, X, V>where
M: PagedMemory8k,
V: VideoFrame,
Source§fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
Sets
EAR IN bit state after the provided interval in ∆ T-states counted from the last recorded change.Source§fn feed_ear_in<I>(&mut self, fts_deltas: I, max_frames_threshold: Option<usize>)where
I: Iterator<Item = NonZeroU32>,
fn feed_ear_in<I>(&mut self, fts_deltas: I, max_frames_threshold: Option<usize>)where
I: Iterator<Item = NonZeroU32>,
Feeds the
EAR IN buffer with changes. Read moreSource§fn purge_ear_in_changes(&mut self, ear_in: bool)
fn purge_ear_in_changes(&mut self, ear_in: bool)
Removes all buffered so far
EAR IN changes. Read moreSource§fn read_ear_in_count(&self) -> u32
fn read_ear_in_count(&self) -> u32
Returns the counter of how many times the EAR input line was read since the beginning of the current frame. Read more
Source§fn read_ear_mode(&self) -> ReadEarMode
fn read_ear_mode(&self) -> ReadEarMode
Returns the current mode.
Source§fn set_read_ear_mode(&mut self, mode: ReadEarMode)
fn set_read_ear_mode(&mut self, mode: ReadEarMode)
Changes the current mode.
Source§impl<A, M, B, X, F> EarInAudioFrame<A> for Scld<M, B, X, F>
impl<A, M, B, X, F> EarInAudioFrame<A> for Scld<M, B, X, F>
Source§fn render_ear_in_audio_frame<V: AmpLevels<A::SampleDelta>>(
&self,
blep: &mut A,
channel: usize,
)
fn render_ear_in_audio_frame<V: AmpLevels<A::SampleDelta>>( &self, blep: &mut A, channel: usize, )
Source§impl<A, M, B, X, F> EarMicOutAudioFrame<A> for Scld<M, B, X, F>
impl<A, M, B, X, F> EarMicOutAudioFrame<A> for Scld<M, B, X, F>
Source§fn render_earmic_out_audio_frame<V: AmpLevels<A::SampleDelta>>(
&self,
blep: &mut A,
channel: usize,
)
fn render_earmic_out_audio_frame<V: AmpLevels<A::SampleDelta>>( &self, blep: &mut A, channel: usize, )
Source§impl<M: PagedMemory8k, B, X> HostConfig for Scld<M, B, X, UlaVideoFrame>
impl<M: PagedMemory8k, B, X> HostConfig for Scld<M, B, X, UlaVideoFrame>
Source§const FRAME_TSTATES: FTs = 69_888i32
const FRAME_TSTATES: FTs = 69_888i32
The number of CPU cycles (T-states) in a single execution frame.
Source§fn effective_cpu_rate(multiplier: f64) -> f64
fn effective_cpu_rate(multiplier: f64) -> f64
Returns the CPU rate (T-states / second) after multiplying it by the
multiplier.Source§fn effective_frame_duration_nanos(multiplier: f64) -> u32
fn effective_frame_duration_nanos(multiplier: f64) -> u32
Returns the duration of a single execution frame in nanoseconds after multiplying
the CPU rate by the
multiplier.Source§fn effective_frame_duration(multiplier: f64) -> Duration
fn effective_frame_duration(multiplier: f64) -> Duration
Returns the duration of a single execution frame after multiplying the CPU rate by
the
multiplier.Source§fn frame_duration_nanos() -> u32
fn frame_duration_nanos() -> u32
Returns the duration of a single execution frame in nanoseconds.
Source§fn frame_duration() -> Duration
fn frame_duration() -> Duration
Returns the duration of a single execution frame.
Source§impl<M, B, X, V> InnerAccess for Scld<M, B, X, V>where
M: PagedMemory8k,
impl<M, B, X, V> InnerAccess for Scld<M, B, X, V>where
M: PagedMemory8k,
Source§impl<M, B, X, V> Io for Scld<M, B, X, V>
impl<M, B, X, V> Io for Scld<M, B, X, V>
Source§type Timestamp = VideoTs
type Timestamp = VideoTs
This type is being used for timestamping I/O operations. See also Clock::Timestamp.
Source§type WrIoBreak = ()
type WrIoBreak = ()
A value of this type is returned when a break is being requested by Io::write_io.
Source§type RetiBreak = ()
type RetiBreak = ()
A value of this type is returned when a break is being requested by Io::reti.
Source§fn write_io(
&mut self,
port: u16,
data: u8,
ts: VideoTs,
) -> (Option<()>, Option<NonZeroU16>)
fn write_io( &mut self, port: u16, data: u8, ts: VideoTs, ) -> (Option<()>, Option<NonZeroU16>)
Source§impl<M, B, X, V> KeyboardInterface for Scld<M, B, X, V>where
M: PagedMemory8k,
impl<M, B, X, V> KeyboardInterface for Scld<M, B, X, V>where
M: PagedMemory8k,
Source§fn get_key_state(&self) -> ZXKeyboardMap
fn get_key_state(&self) -> ZXKeyboardMap
Reads the current state of the keyboard.
Source§fn set_key_state(&mut self, keymap: ZXKeyboardMap)
fn set_key_state(&mut self, keymap: ZXKeyboardMap)
Sets the state of the keyboard.
Source§impl<M, B, X, V> Memory for Scld<M, B, X, V>
impl<M, B, X, V> Memory for Scld<M, B, X, V>
Source§type Timestamp = VideoTs
type Timestamp = VideoTs
This type is being used for timestamping memory operations. See also Clock::Timestamp.
Source§fn read_debug(&self, addr: u16) -> u8
fn read_debug(&self, addr: u16) -> u8
Should return a single byte read from the memory present at the given
address. Read moreSource§fn read_mem(&self, addr: u16, _ts: VideoTs) -> u8
fn read_mem(&self, addr: u16, _ts: VideoTs) -> u8
Should return a single byte read from the memory present at the given
address. Read moreSource§fn read_mem16(&self, addr: u16, _ts: VideoTs) -> u16
fn read_mem16(&self, addr: u16, _ts: VideoTs) -> u16
Should return the unaligned, 2 consecutive bytes from the memory present at the given
address as a 16-bit unsigned integer in a LE (least significant byte first) order. Read moreSource§impl<M, B, X, V> MemoryAccess for Scld<M, B, X, V>where
M: PagedMemory8k,
X: MemoryExtension,
impl<M, B, X, V> MemoryAccess for Scld<M, B, X, V>where
M: PagedMemory8k,
X: MemoryExtension,
type Memory = M
type MemoryExt = X
Source§fn memory_ext_ref(&self) -> &Self::MemoryExt
fn memory_ext_ref(&self) -> &Self::MemoryExt
Returns a read-only reference to the memory extension.
Source§fn memory_ext_mut(&mut self) -> &mut Self::MemoryExt
fn memory_ext_mut(&mut self) -> &mut Self::MemoryExt
Returns a mutable reference to the memory extension.
Source§fn memory_mut(&mut self) -> &mut Self::Memory
fn memory_mut(&mut self) -> &mut Self::Memory
Returns a mutable reference to the memory.
Source§fn memory_ref(&self) -> &Self::Memory
fn memory_ref(&self) -> &Self::Memory
Returns a reference to the memory.
Source§fn memory_with_ext_mut(&mut self) -> (&mut Self::Memory, &mut Self::MemoryExt)
fn memory_with_ext_mut(&mut self) -> (&mut Self::Memory, &mut Self::MemoryExt)
Returns mutable references to both the memory and the memory extension.
Source§impl<'a, M, B: 'a, X: 'a, V> MicOut<'a> for Scld<M, B, X, V>where
M: PagedMemory8k + 'a,
V: VideoFrame + 'a,
impl<'a, M, B: 'a, X: 'a, V> MicOut<'a> for Scld<M, B, X, V>where
M: PagedMemory8k + 'a,
V: VideoFrame + 'a,
Source§impl<M, B, X, V> ScreenDataProvider for Scld<M, B, X, V>
impl<M, B, X, V> ScreenDataProvider for Scld<M, B, X, V>
Source§fn get_screen_mode(&self) -> ScrMode
fn get_screen_mode(&self) -> ScrMode
Should return a currently selected screen mode.
Source§fn set_screen_mode(&mut self, mode: ScrMode) -> bool
fn set_screen_mode(&mut self, mode: ScrMode) -> bool
Should set a requested screen
mode and return true.
If the provided mode can not be set this method should return false.Source§fn screen_primary_ref(&self) -> &ScreenArray
fn screen_primary_ref(&self) -> &ScreenArray
Should return a reference to the primary screen data.
Source§fn screen_primary_mut(&mut self) -> &mut ScreenArray
fn screen_primary_mut(&mut self) -> &mut ScreenArray
Should return a mutable reference to the primary screen data.
Source§fn screen_secondary_ref(&self) -> &ScreenArray
fn screen_secondary_ref(&self) -> &ScreenArray
Should return a reference to the secondary screen data. Read more
Source§fn screen_secondary_mut(&mut self) -> &mut ScreenArray
fn screen_secondary_mut(&mut self) -> &mut ScreenArray
Should return a mutable reference to the secondary screen data. Read more
Source§impl<M: PagedMemory8k, B, X, V> Serialize for Scld<M, B, X, V>
impl<M: PagedMemory8k, B, X, V> Serialize for Scld<M, B, X, V>
Source§impl<M, B, X, V> UlaControl for Scld<M, B, X, V>where
M: PagedMemory8k,
V: VideoFrame,
impl<M, B, X, V> UlaControl for Scld<M, B, X, V>where
M: PagedMemory8k,
V: VideoFrame,
Source§fn has_late_timings(&self) -> bool
fn has_late_timings(&self) -> bool
Returns the state of the “late timings” mode.
Source§fn set_late_timings(&mut self, late_timings: bool)
fn set_late_timings(&mut self, late_timings: bool)
Sets the “late timings” mode on or off. Read more
Source§fn scld_ctrl_port_value(&self) -> Option<ScldCtrlFlags>
fn scld_ctrl_port_value(&self) -> Option<ScldCtrlFlags>
Returns the last value sent to the memory port
0xFF.Source§fn set_scld_ctrl_port_value(&mut self, value: ScldCtrlFlags) -> bool
fn set_scld_ctrl_port_value(&mut self, value: ScldCtrlFlags) -> bool
Sets the current value of the memory port
0xFF. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§fn scld_mmu_port_value(&self) -> Option<u8>
fn scld_mmu_port_value(&self) -> Option<u8>
Returns the last value sent to the memory port
0xF4.Source§fn set_scld_mmu_port_value(&mut self, value: u8) -> bool
fn set_scld_mmu_port_value(&mut self, value: u8) -> bool
Sets the current value of the memory port
0xF4. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§fn ula128_mem_port_value(&self) -> Option<Ula128MemFlags>
fn ula128_mem_port_value(&self) -> Option<Ula128MemFlags>
Returns the last value sent to the memory port
0x7FFD if supported.Source§fn set_ula128_mem_port_value(&mut self, _value: Ula128MemFlags) -> bool
fn set_ula128_mem_port_value(&mut self, _value: Ula128MemFlags) -> bool
Sets the current value of the memory port
0x7FFD. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§fn ula3_ctrl_port_value(&self) -> Option<Ula3CtrlFlags>
fn ula3_ctrl_port_value(&self) -> Option<Ula3CtrlFlags>
Returns the last value sent to the memory port
0x1FFD if supported.Source§fn set_ula3_ctrl_port_value(&mut self, _value: Ula3CtrlFlags) -> bool
fn set_ula3_ctrl_port_value(&mut self, _value: Ula3CtrlFlags) -> bool
Sets the current value of the memory port
0x1FFD. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§fn ulaplus_reg_port_value(&self) -> Option<UlaPlusRegFlags>
fn ulaplus_reg_port_value(&self) -> Option<UlaPlusRegFlags>
Returns the last value sent to the register port
0xBF3B.Source§fn set_ulaplus_reg_port_value(&mut self, _value: UlaPlusRegFlags) -> bool
fn set_ulaplus_reg_port_value(&mut self, _value: UlaPlusRegFlags) -> bool
Sets the current value of the memory port
0xBF3B. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§fn ulaplus_data_port_value(&self) -> Option<u8>
fn ulaplus_data_port_value(&self) -> Option<u8>
Returns the last value sent to the data port
0xFF3B.Source§fn set_ulaplus_data_port_value(&mut self, _value: u8) -> bool
fn set_ulaplus_data_port_value(&mut self, _value: u8) -> bool
Sets the current value of the memory port
0xFF3B. Returns true if supported.
Otherwise, returns false and no writing is performed.Source§impl<M, B, X, V> UlaControlExt for Scld<M, B, X, V>
impl<M, B, X, V> UlaControlExt for Scld<M, B, X, V>
Source§fn prepare_next_frame<C: MemoryContention>(
&mut self,
vtsc: VFrameTsCounter<V, C>,
) -> VFrameTsCounter<V, C>
fn prepare_next_frame<C: MemoryContention>( &mut self, vtsc: VFrameTsCounter<V, C>, ) -> VFrameTsCounter<V, C>
This method is used by wrappers with a different contention scheme.
fn ensure_next_frame_vtsc( &mut self, ) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
Source§impl<M, D, X, V> Video for Scld<M, D, X, V>where
M: PagedMemory8k,
V: VideoFrame,
impl<M, D, X, V> Video for Scld<M, D, X, V>where
M: PagedMemory8k,
V: VideoFrame,
Source§const PIXEL_DENSITY: u32 = 2u32
const PIXEL_DENSITY: u32 = 2u32
The horizontal pixel density. Read more
Source§type VideoFrame = V
type VideoFrame = V
The type implementing VideoFrame, that is being used by the chipset emulator.
Source§type Contention = UlaMemoryContention
type Contention = UlaMemoryContention
The type implementing MemoryContention, that is being used by the chipset emulator.
Source§fn border_color(&self) -> BorderColor
fn border_color(&self) -> BorderColor
Returns the current border color.
Source§fn set_border_color(&mut self, border: BorderColor)
fn set_border_color(&mut self, border: BorderColor)
Force sets the border area to the given color.
Source§fn render_video_frame<'a, B: PixelBuffer<'a>, P: Palette<Pixel = B::Pixel>>(
&mut self,
buffer: &'a mut [u8],
pitch: usize,
border_size: BorderSize,
)
fn render_video_frame<'a, B: PixelBuffer<'a>, P: Palette<Pixel = B::Pixel>>( &mut self, buffer: &'a mut [u8], pitch: usize, border_size: BorderSize, )
Renders last emulated frame’s video data into the provided pixel
buffer. Read moreSource§fn current_video_ts(&self) -> VideoTs
fn current_video_ts(&self) -> VideoTs
Returns the current value of the video T-state counter.
Source§fn current_video_clock(
&self,
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
fn current_video_clock( &self, ) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
Returns the current value of the video T-state clock.
Source§fn set_video_ts(&mut self, vts: VideoTs)
fn set_video_ts(&mut self, vts: VideoTs)
Modifies the current value of the video T-state counter.
Source§fn flash_state(&self) -> bool
fn flash_state(&self) -> bool
Returns the temporary video flash attribute state.
Source§fn render_size_pixels(border_size: BorderSize) -> (u32, u32)
fn render_size_pixels(border_size: BorderSize) -> (u32, u32)
Returns rendered screen pixel size (horizontal, vertical), including the border area, measured
in pixels depending on Video::PIXEL_DENSITY. Read more
Source§fn pixel_density() -> u32
fn pixel_density() -> u32
Returns the horizontal pixel density.
Source§fn visible_screen_bank(&self) -> usize
fn visible_screen_bank(&self) -> usize
Returns the screen bank index of the currently visible screen. Read more
Auto Trait Implementations§
impl<M, B, X, V> Freeze for Scld<M, B, X, V>
impl<M, B, X, V> RefUnwindSafe for Scld<M, B, X, V>
impl<M, B, X, V> Send for Scld<M, B, X, V>
impl<M, B, X, V> Sync for Scld<M, B, X, V>
impl<M, B, X, V> Unpin for Scld<M, B, X, V>
impl<M, B, X, V> UnwindSafe for Scld<M, B, X, V>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self to use its UpperHex implementation when
Debug-formatted.Source§impl<U, I> FrameState for Uwhere
U: InnerAccess<Inner = I>,
I: FrameState,
impl<U, I> FrameState for Uwhere
U: InnerAccess<Inner = I>,
I: FrameState,
Source§fn current_frame(&self) -> u64
fn current_frame(&self) -> u64
Returns the value of the current execution frame counter. The FrameState implementation should
count passing frames infinitely wrapping at 2^64.
Source§fn set_frame_counter(&mut self, fc: u64)
fn set_frame_counter(&mut self, fc: u64)
Sets the frame counter to the specified value.
Source§fn frame_tstate(&self) -> (u64, i32)
fn frame_tstate(&self) -> (u64, i32)
Returns a normalized frame counter and a T-state counter as a tuple. Read more
Source§fn current_tstate(&self) -> i32
fn current_tstate(&self) -> i32
Returns the current value of the T-state counter. Read more
Source§fn set_frame_tstate(&mut self, ts: i32)
fn set_frame_tstate(&mut self, ts: i32)
Sets the T-state counter to the specified value modulo
<Self as Video>::FRAME_TSTATES_COUNT.Source§fn is_frame_over(&self) -> bool
fn is_frame_over(&self) -> bool
Returns
true if the value of the current T-state counter has reached a certain arbitrary limit which
is very close to the maximum number of T-states per frame.Source§impl<S, T> IntoSample<S> for Twhere
S: FromSample<T>,
impl<S, T> IntoSample<S> for Twhere
S: FromSample<T>,
Source§fn into_sample(self) -> S
fn into_sample(self) -> S
Convert to
S a sample type from self.Source§impl<T> LoadScr for Twhere
T: ScreenDataProvider,
impl<T> LoadScr for Twhere
T: ScreenDataProvider,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self, then passes self.deref() into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref() only in debug builds, and is erased in release
builds.