[−][src]Struct spectrusty::chip::plus::UlaPlus
Implementations
impl<'a, U> UlaPlus<U> where
U: UlaPlusInner<'a>,
[src]
U: UlaPlusInner<'a>,
pub fn can_read_scld_mode(&mut self) -> bool
[src]
Returns true
if reading the 0xFF
port returns the previous write or false
if bus data is being read.
pub fn enable_reading_scld_mode(&mut self, enable_reading: bool)
[src]
Determines if reading the 0xFF
port returns the previous write or bus data.
pub fn is_ulaplus_enabled(&self) -> bool
[src]
Returns true
if ULAplus modes and ports are enabled or false
otherwise.
pub fn enable_ulaplus_modes(&mut self, enable: bool)
[src]
Controls the ULAplus ports and graphics availability.
When disabled, ULAplus ports become available to the underlying devices and the screen and color modes are being reset to the default. However, palette entries are left unmodified. The last register port value written is also left unmodified.
When enabled, ULAplus ports become responsive again but the screen mode is not restored unless it has
been previously written to 0xFF
port. In this instance the screen mode gets restored from the last
value written to 0xFF
port. The color mode is always being restored.
pub fn render_mode(&self) -> RenderMode
[src]
Returns the current rendering mode.
pub fn source_mode(&self) -> SourceMode
[src]
Returns the current source mode.
pub fn ulaplus_palette(&self) -> &UlaPlusPalette
[src]
Returns the current palette view.
pub fn ulaplus_palette_mut(&mut self) -> &mut UlaPlusPalette
[src]
Returns the mutable reference to the current palette.
Trait Implementations
impl<A, U> AudioFrame<A> for UlaPlus<U> where
A: Blep,
U: Video + AudioFrame<A>,
[src]
A: Blep,
U: Video + 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, U> AyAudioFrame<A> for UlaPlus<U> where
A: Blep,
U: Video + AyAudioFrame<A>,
[src]
A: Blep,
U: Video + AyAudioFrame<A>,
pub fn render_ay_audio_frame<V: AmpLevels<A::SampleDelta>>(
&mut self,
blep: &mut A,
chans: [usize; 3]
)
[src]
&mut self,
blep: &mut A,
chans: [usize; 3]
)
impl<U: Clone + Video> Clone for UlaPlus<U> where
U::VideoFrame: Clone,
U::VideoFrame: Clone,
[src]
U::VideoFrame: Clone,
U::VideoFrame: Clone,
impl<U, B, X> ControlUnit for UlaPlus<U> where
U: for<'a> UlaPlusInner<'a> + ControlUnit<BusDevice = B> + UlaControlExt + MemoryAccess<MemoryExt = X> + Memory<Timestamp = VideoTs> + Io<Timestamp = VideoTs, WrIoBreak = (), RetiBreak = ()>,
B: BusDevice,
B::Timestamp: From<VFrameTs<U::VideoFrame>>,
X: MemoryExtension,
[src]
U: for<'a> UlaPlusInner<'a> + ControlUnit<BusDevice = B> + UlaControlExt + MemoryAccess<MemoryExt = X> + Memory<Timestamp = VideoTs> + Io<Timestamp = VideoTs, WrIoBreak = (), RetiBreak = ()>,
B: BusDevice,
B::Timestamp: From<VFrameTs<U::VideoFrame>>,
X: MemoryExtension,
type BusDevice = U::BusDevice
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<U> Debug for UlaPlus<U> where
U: Debug + Video,
[src]
U: Debug + Video,
impl<U> Default for UlaPlus<U> where
U: Video + Default,
[src]
U: Video + Default,
impl<'de, U: Video> Deserialize<'de> for UlaPlus<U> where
U: Deserialize<'de>,
[src]
U: Deserialize<'de>,
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl<U> EarIn for UlaPlus<U> where
U: Video + EarIn,
[src]
U: Video + EarIn,
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, U> EarInAudioFrame<A> for UlaPlus<U> where
A: Blep,
U: Video + EarInAudioFrame<A>,
[src]
A: Blep,
U: Video + EarInAudioFrame<A>,
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, U> EarMicOutAudioFrame<A> for UlaPlus<U> where
A: Blep,
U: Video + EarMicOutAudioFrame<A>,
[src]
A: Blep,
U: Video + EarMicOutAudioFrame<A>,
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<U: HostConfig + Video> HostConfig for UlaPlus<U>
[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<U> InnerAccess for UlaPlus<U> where
U: Video,
[src]
U: Video,
type Inner = U
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<'a, U> Io for UlaPlus<U> where
U: UlaPlusInner<'a> + Io<Timestamp = VideoTs, WrIoBreak = (), RetiBreak = ()>,
[src]
U: UlaPlusInner<'a> + Io<Timestamp = VideoTs, WrIoBreak = (), RetiBreak = ()>,
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<U> KeyboardInterface for UlaPlus<U> where
U: Video + KeyboardInterface,
[src]
U: Video + KeyboardInterface,
pub fn get_key_state(&self) -> ZXKeyboardMap
[src]
pub fn set_key_state(&mut self, keymap: ZXKeyboardMap)
[src]
impl<'a, U> Memory for UlaPlus<U> where
U: UlaPlusInner<'a> + Memory<Timestamp = VideoTs>,
[src]
U: UlaPlusInner<'a> + Memory<Timestamp = VideoTs>,
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<U> MemoryAccess for UlaPlus<U> where
U: Video + MemoryAccess,
[src]
U: Video + MemoryAccess,
type Memory = U::Memory
type MemoryExt = U::MemoryExt
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, U: 'a> MicOut<'a> for UlaPlus<U> where
U: Video + MicOut<'a>,
[src]
U: Video + MicOut<'a>,
type PulseIter = <U as MicOut<'a>>::PulseIter
pub fn mic_out_pulse_iter(&'a self) -> Self::PulseIter
[src]
impl<'a, U> ScreenDataProvider for UlaPlus<U> where
U: UlaPlusInner<'a>,
Self: Video,
[src]
U: UlaPlusInner<'a>,
Self: Video,
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<U: Video> Serialize for UlaPlus<U> where
U: Serialize,
[src]
U: Serialize,
pub fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'a, U> UlaControl for UlaPlus<U> where
U: UlaControl + UlaPlusInner<'a>,
[src]
U: UlaControl + UlaPlusInner<'a>,
pub fn has_late_timings(&self) -> bool
[src]
pub fn set_late_timings(&mut self, late_timings: 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 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 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<U> UlaControlExt for UlaPlus<U> where
U: for<'a> UlaPlusInner<'a> + ControlUnit + UlaControlExt,
[src]
U: for<'a> UlaPlusInner<'a> + ControlUnit + UlaControlExt,
pub fn prepare_next_frame<C: MemoryContention>(
&mut self,
vtsc: VFrameTsCounter<U::VideoFrame, C>
) -> VFrameTsCounter<U::VideoFrame, C>
[src]
&mut self,
vtsc: VFrameTsCounter<U::VideoFrame, C>
) -> VFrameTsCounter<U::VideoFrame, C>
pub fn ensure_next_frame_vtsc(
&mut self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
[src]
&mut self
) -> VFrameTsCounter<Self::VideoFrame, Self::Contention>
impl<U> Video for UlaPlus<U> where
U: for<'a> UlaPlusInner<'a>,
[src]
U: for<'a> UlaPlusInner<'a>,
pub const PIXEL_DENSITY: u32
[src]
type VideoFrame = U::VideoFrame
The type implementing VideoFrame, that is being used by the chipset emulator.
type Contention = U::Contention
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<'b, B: PixelBuffer<'b>, P: Palette<Pixel = B::Pixel>>(
&mut self,
buffer: &'b mut [u8],
pitch: usize,
border_size: BorderSize
)
[src]
&mut self,
buffer: &'b mut [u8],
pitch: usize,
border_size: BorderSize
)
pub fn current_video_ts(&self) -> VideoTs
[src]
pub fn visible_screen_bank(&self) -> usize
[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]
Auto Trait Implementations
impl<U> RefUnwindSafe for UlaPlus<U> where
U: RefUnwindSafe,
<U as Video>::VideoFrame: RefUnwindSafe,
[src]
U: RefUnwindSafe,
<U as Video>::VideoFrame: RefUnwindSafe,
impl<U> Send for UlaPlus<U> where
U: Send,
<U as Video>::VideoFrame: Send,
[src]
U: Send,
<U as Video>::VideoFrame: Send,
impl<U> Sync for UlaPlus<U> where
U: Sync,
<U as Video>::VideoFrame: Sync,
[src]
U: Sync,
<U as Video>::VideoFrame: Sync,
impl<U> Unpin for UlaPlus<U> where
U: Unpin,
[src]
U: Unpin,
impl<U> UnwindSafe for UlaPlus<U> where
U: UnwindSafe,
<U as Video>::VideoFrame: UnwindSafe,
[src]
U: UnwindSafe,
<U as Video>::VideoFrame: 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>,