[−][src]Struct spectrusty::chip::scld::Scld
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
impl<A, M, B, X, V> AudioFrame<A> for Scld<M, B, X, V> where
A: Blep,
M: PagedMemory8k,
Ula<M, B, X, V>: AudioFrame<A>,
[src]
A: Blep,
M: PagedMemory8k,
Ula<M, B, X, V>: AudioFrame<A>,
pub fn ensure_audio_frame_time(
&self,
blep: &mut A,
sample_rate: u32,
cpu_hz: f64
)
[src]
&self,
blep: &mut A,
sample_rate: u32,
cpu_hz: f64
)
pub fn get_audio_frame_end_time(&self) -> FTs
[src]
pub fn end_audio_frame(&self, blep: &mut B) -> usize
[src]
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,
[src]
A: Blep,
M: PagedMemory8k,
B: AyAudioBusDevice + BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
pub fn render_ay_audio_frame<L: AmpLevels<A::SampleDelta>>(
&mut self,
blep: &mut A,
chans: [usize; 3]
)
[src]
&mut self,
blep: &mut A,
chans: [usize; 3]
)
impl<M: Clone + PagedMemory8k, B: Clone, X: Clone, V: Clone> Clone for Scld<M, B, X, V>
[src]
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,
[src]
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
X: MemoryExtension,
V: VideoFrame,
type BusDevice = B
A type of a chain of emulated peripheral devices should be declared here. Read more
pub fn bus_device_mut(&mut self) -> &mut Self::BusDevice
[src]
pub fn bus_device_ref(&self) -> &Self::BusDevice
[src]
pub fn into_bus_device(self) -> Self::BusDevice
[src]
pub fn reset<C: Cpu>(&mut self, cpu: &mut C, hard: bool)
[src]
pub fn nmi<C: Cpu>(&mut self, cpu: &mut C) -> bool
[src]
pub fn execute_next_frame<C: Cpu>(&mut self, cpu: &mut C)
[src]
pub fn ensure_next_frame(&mut self)
[src]
pub fn execute_single_step<C: Cpu, F: FnOnce(CpuDebug)>(
&mut self,
cpu: &mut C,
debug: Option<F>
) -> Result<(), ()>
[src]
&mut self,
cpu: &mut C,
debug: Option<F>
) -> Result<(), ()>
impl<M, B, X, V> Debug for Scld<M, B, X, V> where
M: PagedMemory8k,
B: BusDevice,
X: MemoryExtension,
V: VideoFrame,
[src]
M: PagedMemory8k,
B: BusDevice,
X: MemoryExtension,
V: VideoFrame,
impl<M, B, X, V> Default for Scld<M, B, X, V> where
M: PagedMemory8k,
V: VideoFrame,
Ula<M, B, X, V>: Default,
[src]
M: PagedMemory8k,
V: VideoFrame,
Ula<M, B, X, V>: Default,
impl<'de, M: PagedMemory8k, B, X, V> Deserialize<'de> for Scld<M, B, X, V> where
Ula<M, B, X, V>: Deserialize<'de>,
V: Default,
[src]
Ula<M, B, X, V>: Deserialize<'de>,
V: Default,
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<M, B, X, V> EarIn for Scld<M, B, X, V> where
M: PagedMemory8k,
V: VideoFrame,
[src]
M: PagedMemory8k,
V: VideoFrame,
pub fn set_ear_in(&mut self, ear_in: bool, delta_fts: u32)
[src]
pub fn feed_ear_in<I>(
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
[src]
&mut self,
fts_deltas: I,
max_frames_threshold: Option<usize>
) where
I: Iterator<Item = NonZeroU32>,
pub fn purge_ear_in_changes(&mut self, ear_in: bool)
[src]
pub fn read_ear_in_count(&self) -> u32
[src]
pub fn read_ear_mode(&self) -> ReadEarMode
[src]
pub fn set_read_ear_mode(&mut self, mode: ReadEarMode)
[src]
impl<A, M, B, X, F> EarInAudioFrame<A> for Scld<M, B, X, F> where
A: Blep,
M: PagedMemory8k,
F: VideoFrame,
[src]
A: Blep,
M: PagedMemory8k,
F: VideoFrame,
pub fn render_ear_in_audio_frame<V: AmpLevels<A::SampleDelta>>(
&self,
blep: &mut A,
channel: usize
)
[src]
&self,
blep: &mut A,
channel: usize
)
impl<A, M, B, X, F> EarMicOutAudioFrame<A> for Scld<M, B, X, F> where
A: Blep,
M: PagedMemory8k,
F: VideoFrame,
[src]
A: Blep,
M: PagedMemory8k,
F: VideoFrame,
pub fn render_earmic_out_audio_frame<V: AmpLevels<A::SampleDelta>>(
&self,
blep: &mut A,
channel: usize
)
[src]
&self,
blep: &mut A,
channel: usize
)
impl<M: PagedMemory8k, B, X> HostConfig for Scld<M, B, X, UlaVideoFrame>
[src]
pub const CPU_HZ: u32
[src]
pub const FRAME_TSTATES: FTs
[src]
pub fn effective_cpu_rate(multiplier: f64) -> f64
[src]
pub fn effective_frame_duration_nanos(multiplier: f64) -> u32
[src]
pub fn effective_frame_duration(multiplier: f64) -> Duration
[src]
pub fn frame_duration_nanos() -> u32
[src]
pub fn frame_duration() -> Duration
[src]
impl<M, B, X, V> InnerAccess for Scld<M, B, X, V> where
M: PagedMemory8k,
[src]
M: PagedMemory8k,
type Inner = Ula<M, B, X, V>
pub fn inner_ref(&self) -> &Self::Inner
[src]
pub fn inner_mut(&mut self) -> &mut Self::Inner
[src]
pub fn into_inner(self) -> Self::Inner
[src]
impl<M, B, X, V> Io for Scld<M, B, X, V> where
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
[src]
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
type Timestamp = VideoTs
This type is being used for timestamping I/O operations. See also [Clock::Timestamp].
type WrIoBreak = ()
A value of this type is returned when a break is being requested by [Io::write_io].
type RetiBreak = ()
A value of this type is returned when a break is being requested by [Io::reti].
pub fn is_irq(&mut self, ts: VideoTs) -> bool
[src]
pub fn read_io(&mut self, port: u16, ts: VideoTs) -> (u8, Option<NonZeroU16>)
[src]
pub fn write_io(
&mut self,
port: u16,
data: u8,
ts: VideoTs
) -> (Option<()>, Option<NonZeroU16>)
[src]
&mut self,
port: u16,
data: u8,
ts: VideoTs
) -> (Option<()>, Option<NonZeroU16>)
pub fn irq_data(
&mut self,
pc: u16,
timestamp: Self::Timestamp
) -> (u8, Option<NonZeroU16>)
&mut self,
pc: u16,
timestamp: Self::Timestamp
) -> (u8, Option<NonZeroU16>)
pub fn reti(
&mut self,
address: u16,
timestamp: Self::Timestamp
) -> Option<Self::RetiBreak>
&mut self,
address: u16,
timestamp: Self::Timestamp
) -> Option<Self::RetiBreak>
impl<M, B, X, V> KeyboardInterface for Scld<M, B, X, V> where
M: PagedMemory8k,
[src]
M: PagedMemory8k,
pub fn get_key_state(&self) -> ZXKeyboardMap
[src]
pub fn set_key_state(&mut self, keymap: ZXKeyboardMap)
[src]
impl<M, B, X, V> Memory for Scld<M, B, X, V> where
M: PagedMemory8k,
X: MemoryExtension,
V: VideoFrame,
[src]
M: PagedMemory8k,
X: MemoryExtension,
V: VideoFrame,
type Timestamp = VideoTs
This type is being used for timestamping memory operations. See also [Clock::Timestamp].
pub fn read_debug(&self, addr: u16) -> u8
[src]
pub fn read_mem(&self, addr: u16, _ts: VideoTs) -> u8
[src]
pub fn read_mem16(&self, addr: u16, _ts: VideoTs) -> u16
[src]
pub fn read_opcode(&mut self, pc: u16, _ir: u16, _ts: VideoTs) -> u8
[src]
pub fn write_mem(&mut self, addr: u16, val: u8, ts: VideoTs)
[src]
impl<M, B, X, V> MemoryAccess for Scld<M, B, X, V> where
M: PagedMemory8k,
X: MemoryExtension,
[src]
M: PagedMemory8k,
X: MemoryExtension,
type Memory = M
type MemoryExt = X
pub fn memory_ext_ref(&self) -> &Self::MemoryExt
[src]
pub fn memory_ext_mut(&mut self) -> &mut Self::MemoryExt
[src]
pub fn memory_mut(&mut self) -> &mut Self::Memory
[src]
pub fn memory_ref(&self) -> &Self::Memory
[src]
pub fn memory_with_ext_mut(
&mut self
) -> (&mut Self::Memory, &mut Self::MemoryExt)
[src]
&mut self
) -> (&mut Self::Memory, &mut Self::MemoryExt)
impl<'a, M: 'a, B: 'a, X: 'a, V: 'a> MicOut<'a> for Scld<M, B, X, V> where
M: PagedMemory8k,
V: VideoFrame,
[src]
M: PagedMemory8k,
V: VideoFrame,
type PulseIter = <Ula<M, B, X, V> as MicOut<'a>>::PulseIter
pub fn mic_out_pulse_iter(&'a self) -> Self::PulseIter
[src]
impl<M, B, X, V> ScreenDataProvider for Scld<M, B, X, V> where
M: ZxMemory + PagedMemory8k,
X: MemoryExtension,
V: VideoFrame,
[src]
M: ZxMemory + PagedMemory8k,
X: MemoryExtension,
V: VideoFrame,
pub fn get_screen_mode(&self) -> ScrMode
[src]
pub fn set_screen_mode(&mut self, mode: ScrMode) -> bool
[src]
pub fn screen_primary_ref(&self) -> &ScreenArray
[src]
pub fn screen_primary_mut(&mut self) -> &mut ScreenArray
[src]
pub fn screen_secondary_ref(&self) -> &ScreenArray
[src]
pub fn screen_secondary_mut(&mut self) -> &mut ScreenArray
[src]
pub fn screen_palette_ref(&self) -> &[u8; 64]
[src]
pub fn screen_palette_mut(&mut self) -> &mut [u8; 64]
[src]
impl<M: PagedMemory8k, B, X, V> Serialize for Scld<M, B, X, V> where
Ula<M, B, X, V>: Serialize,
[src]
Ula<M, B, X, V>: Serialize,
pub fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<M, B, X, V> UlaControl for Scld<M, B, X, V> where
M: PagedMemory8k,
V: VideoFrame,
[src]
M: PagedMemory8k,
V: VideoFrame,
pub fn has_late_timings(&self) -> bool
[src]
pub fn set_late_timings(&mut self, late_timings: bool)
[src]
pub fn scld_ctrl_port_value(&self) -> Option<ScldCtrlFlags>
[src]
pub fn set_scld_ctrl_port_value(&mut self, value: ScldCtrlFlags) -> bool
[src]
pub fn scld_mmu_port_value(&self) -> Option<u8>
[src]
pub fn set_scld_mmu_port_value(&mut self, value: u8) -> bool
[src]
pub fn ula128_mem_port_value(&self) -> Option<Ula128MemFlags>
[src]
pub fn set_ula128_mem_port_value(&mut self, _value: Ula128MemFlags) -> bool
[src]
pub fn ula3_ctrl_port_value(&self) -> Option<Ula3CtrlFlags>
[src]
pub fn set_ula3_ctrl_port_value(&mut self, _value: Ula3CtrlFlags) -> bool
[src]
pub fn ulaplus_reg_port_value(&self) -> Option<UlaPlusRegFlags>
[src]
pub fn set_ulaplus_reg_port_value(&mut self, _value: UlaPlusRegFlags) -> bool
[src]
pub fn ulaplus_data_port_value(&self) -> Option<u8>
[src]
pub fn set_ulaplus_data_port_value(&mut self, _value: u8) -> bool
[src]
impl<M, B, X, V> UlaControlExt for Scld<M, B, X, V> where
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
[src]
M: PagedMemory8k,
B: BusDevice,
B::Timestamp: From<VFrameTs<V>>,
V: VideoFrame,
pub fn prepare_next_frame<C: MemoryContention>(
&mut self,
vtsc: VFrameTsCounter<V, C>
) -> VFrameTsCounter<V, C>
[src]
&mut self,
vtsc: VFrameTsCounter<V, C>
) -> VFrameTsCounter<V, C>
pub fn ensure_next_frame_vtsc(
&mut self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
[src]
&mut self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
impl<M, D, X, V> Video for Scld<M, D, X, V> where
M: PagedMemory8k,
V: VideoFrame,
[src]
M: PagedMemory8k,
V: VideoFrame,
pub const PIXEL_DENSITY: u32
[src]
type VideoFrame = V
The type implementing VideoFrame, that is being used by the chipset emulator.
type Contention = UlaMemoryContention
The type implementing MemoryContention, that is being used by the chipset emulator.
pub fn border_color(&self) -> BorderColor
[src]
pub fn set_border_color(&mut self, border: BorderColor)
[src]
pub fn render_video_frame<'a, B: PixelBuffer<'a>, P: Palette<Pixel = B::Pixel>>(
&mut self,
buffer: &'a mut [u8],
pitch: usize,
border_size: BorderSize
)
[src]
&mut self,
buffer: &'a mut [u8],
pitch: usize,
border_size: BorderSize
)
pub fn current_video_ts(&self) -> VideoTs
[src]
pub fn current_video_clock(
&self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
[src]
&self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
pub fn set_video_ts(&mut self, vts: VideoTs)
[src]
pub fn flash_state(&self) -> bool
[src]
pub fn render_size_pixels(border_size: BorderSize) -> (u32, u32)
[src]
pub fn pixel_density() -> u32
[src]
pub fn visible_screen_bank(&self) -> usize
[src]
Auto Trait Implementations
impl<M, B, X, V> RefUnwindSafe for Scld<M, B, X, V> where
B: RefUnwindSafe,
M: RefUnwindSafe,
V: RefUnwindSafe,
X: RefUnwindSafe,
[src]
B: RefUnwindSafe,
M: RefUnwindSafe,
V: RefUnwindSafe,
X: RefUnwindSafe,
impl<M, B, X, V> Send for Scld<M, B, X, V> where
B: Send,
M: Send,
V: Send,
X: Send,
[src]
B: Send,
M: Send,
V: Send,
X: Send,
impl<M, B, X, V> Sync for Scld<M, B, X, V> where
B: Sync,
M: Sync,
V: Sync,
X: Sync,
[src]
B: Sync,
M: Sync,
V: Sync,
X: Sync,
impl<M, B, X, V> Unpin for Scld<M, B, X, V> where
B: Unpin,
M: Unpin,
V: Unpin,
X: Unpin,
[src]
B: Unpin,
M: Unpin,
V: Unpin,
X: Unpin,
impl<M, B, X, V> UnwindSafe for Scld<M, B, X, V> where
B: UnwindSafe,
M: UnwindSafe,
V: UnwindSafe,
X: UnwindSafe,
[src]
B: UnwindSafe,
M: UnwindSafe,
V: UnwindSafe,
X: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Conv for T
impl<T> Conv for T
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> FmtForward for T
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Self: UpperHex,
impl<U, I> FrameState for U where
U: InnerAccess<Inner = I>,
I: FrameState,
[src]
U: InnerAccess<Inner = I>,
I: FrameState,
pub fn current_frame(&self) -> u64
[src]
pub fn set_frame_counter(&mut self, fc: u64)
[src]
pub fn frame_tstate(&self) -> (u64, i32)
[src]
pub fn current_tstate(&self) -> i32
[src]
pub fn set_frame_tstate(&mut self, ts: i32)
[src]
pub fn is_frame_over(&self) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<S, T> IntoSample<S> for T where
S: FromSample<T>,
[src]
S: FromSample<T>,
pub fn into_sample(self) -> S
[src]
impl<T> LoadScr for T where
T: ScreenDataProvider,
[src]
T: ScreenDataProvider,
pub fn load_scr<R>(&mut self, src: R) -> Result<(), Error> where
R: Read + Seek,
[src]
R: Read + Seek,
pub fn save_scr<W>(&self, dst: W) -> Result<(), Error> where
W: Write,
[src]
W: Write,
impl<T> Pipe for T where
T: ?Sized,
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
impl<T> Pipe for T
impl<T> PipeAsRef for T
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> PipeRef for T
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
R: 'a,
impl<T> Tap for T
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
impl<T> Tap for T
pub fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
F: FnOnce(&Self) -> R,
pub fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
F: FnOnce(&Self) -> R,
pub fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
F: FnOnce(&mut Self) -> R,
pub fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
F: FnOnce(&mut Self) -> R,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> TryConv for T
impl<T> TryConv for T
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<B, U> UlaAudioFrame<B> for U where
B: Blep,
U: AudioFrame<B> + EarMicOutAudioFrame<B> + EarInAudioFrame<B> + AyAudioFrame<B>,
[src]
B: Blep,
U: AudioFrame<B> + EarMicOutAudioFrame<B> + EarInAudioFrame<B> + AyAudioFrame<B>,
impl<U> UlaCommon for U where
U: UlaControl + FrameState + ControlUnit + MemoryAccess + Video + KeyboardInterface + EarIn + for<'a> MicOut<'a>,
[src]
U: UlaControl + FrameState + ControlUnit + MemoryAccess + Video + KeyboardInterface + EarIn + for<'a> MicOut<'a>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,