Struct memflow_win32::win32::kernel::Win32Kernel
source · [−]pub struct Win32Kernel<T, V> {
pub virt_mem: VirtualDma<T, V, Win32VirtualTranslate>,
pub offsets: Win32Offsets,
pub kernel_info: Win32KernelInfo,
pub sysproc_dtb: Address,
pub kernel_modules: Option<Win32ModuleListInfo>,
}
Fields
virt_mem: VirtualDma<T, V, Win32VirtualTranslate>
offsets: Win32Offsets
kernel_info: Win32KernelInfo
sysproc_dtb: Address
kernel_modules: Option<Win32ModuleListInfo>
Implementations
sourceimpl<T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> Win32Kernel<T, V>
impl<T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> Win32Kernel<T, V>
pub fn new(
phys_mem: T,
vat: V,
offsets: Win32Offsets,
kernel_info: Win32KernelInfo
) -> Self
pub fn kernel_modules(&mut self) -> Result<Win32ModuleListInfo>
sourcepub fn into_inner(self) -> (T, V)
pub fn into_inner(self) -> (T, V)
Consumes this kernel and return the underlying owned memory and vat objects
pub fn kernel_process_info(&mut self) -> Result<Win32ProcessInfo>
pub fn process_info_from_base_info(
&mut self,
base_info: ProcessInfo
) -> Result<Win32ProcessInfo>
sourceimpl<T: PhysicalMemory> Win32Kernel<T, DirectTranslate>
impl<T: PhysicalMemory> Win32Kernel<T, DirectTranslate>
pub fn builder(connector: T) -> Win32KernelBuilder<T, T, DirectTranslate>
Trait Implementations
sourceimpl<T: PhysicalMemory, V: VirtualTranslate2> AsMut<T> for Win32Kernel<T, V>
impl<T: PhysicalMemory, V: VirtualTranslate2> AsMut<T> for Win32Kernel<T, V>
sourceimpl<T: PhysicalMemory, V: VirtualTranslate2> AsMut<VirtualDma<T, V, Win32VirtualTranslate>> for Win32Kernel<T, V>
impl<T: PhysicalMemory, V: VirtualTranslate2> AsMut<VirtualDma<T, V, Win32VirtualTranslate>> for Win32Kernel<T, V>
sourcefn as_mut(&mut self) -> &mut VirtualDma<T, V, Win32VirtualTranslate>
fn as_mut(&mut self) -> &mut VirtualDma<T, V, Win32VirtualTranslate>
Performs the conversion.
sourceimpl<T: Clone, V: Clone> Clone for Win32Kernel<T, V>
impl<T: Clone, V: Clone> Clone for Win32Kernel<T, V>
sourcefn clone(&self) -> Win32Kernel<T, V>
fn clone(&self) -> Win32Kernel<T, V>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T: PhysicalMemory, V: VirtualTranslate2> Debug for Win32Kernel<T, V>
impl<T: PhysicalMemory, V: VirtualTranslate2> Debug for Win32Kernel<T, V>
sourceimpl<T: PhysicalMemory, V: VirtualTranslate2> MemoryView for Win32Kernel<T, V>
impl<T: PhysicalMemory, V: VirtualTranslate2> MemoryView for Win32Kernel<T, V>
fn read_raw_iter<'a>(
&mut self,
data: CIterator<'_, ReadData<'a>>,
out_fail: &mut ReadFailCallback<'_, 'a>
) -> Result<()>
fn write_raw_iter<'a>(
&mut self,
data: CIterator<'_, WriteData<'a>>,
out_fail: &mut WriteFailCallback<'_, 'a>
) -> Result<()>
fn metadata(&self) -> MemoryViewMetadata
fn read_raw_list(
&mut self,
data: &mut [MemData<Address, CSliceMut<'_, u8>>]
) -> Result<(), PartialError<()>>
fn read_raw_into(
&mut self,
addr: Address,
out: &mut [u8]
) -> Result<(), PartialError<()>>
fn read_raw(
&mut self,
addr: Address,
len: usize
) -> Result<Vec<u8, Global>, PartialError<Vec<u8, Global>>>
fn read_into<T>(
&mut self,
addr: Address,
out: &mut T
) -> Result<(), PartialError<()>> where
T: Pod + ?Sized,
fn read<T>(&mut self, addr: Address) -> Result<T, PartialError<T>> where
T: Pod,
fn read_addr32(
&mut self,
addr: Address
) -> Result<Address, PartialError<Address>>
fn read_addr64(
&mut self,
addr: Address
) -> Result<Address, PartialError<Address>>
fn read_addr_arch(
&mut self,
arch: &'static (dyn Architecture + 'static),
addr: Address
) -> Result<Address, PartialError<Address>>
fn read_ptr_into<U, T>(
&mut self,
ptr: Pointer<U, T>,
out: &mut T
) -> Result<(), PartialError<()>> where
U: PrimitiveAddress,
T: Pod + ?Sized,
fn read_ptr<U, T>(&mut self, ptr: Pointer<U, T>) -> Result<T, PartialError<T>> where
U: PrimitiveAddress,
T: Pod,
fn write_raw_list(
&mut self,
data: &[MemData<Address, CSliceRef<'_, u8>>]
) -> Result<(), PartialError<()>>
fn write_raw(
&mut self,
addr: Address,
data: &[u8]
) -> Result<(), PartialError<()>>
fn write<T>(&mut self, addr: Address, data: &T) -> Result<(), PartialError<()>> where
T: Pod + ?Sized,
fn write_ptr<U, T>(
&mut self,
ptr: Pointer<U, T>,
data: &T
) -> Result<(), PartialError<()>> where
U: PrimitiveAddress,
T: Pod + ?Sized,
sourcefn read_char_array(
&mut self,
addr: Address,
len: usize
) -> Result<String, PartialError<String>>
fn read_char_array(
&mut self,
addr: Address,
len: usize
) -> Result<String, PartialError<String>>
Reads a fixed length string from the target. Read more
sourcefn read_char_string_n(
&mut self,
addr: Address,
n: usize
) -> Result<String, PartialError<String>>
fn read_char_string_n(
&mut self,
addr: Address,
n: usize
) -> Result<String, PartialError<String>>
Reads a variable length string with a length of up to specified amount from the target. Read more
sourcefn read_char_string(
&mut self,
addr: Address
) -> Result<String, PartialError<String>>
fn read_char_string(
&mut self,
addr: Address
) -> Result<String, PartialError<String>>
Reads a variable length string with up to 4kb length from the target. Read more
fn cursor(&mut self) -> MemoryCursor<Fwd<&mut Self>>
fn into_cursor(self) -> MemoryCursor<Self>
fn cursor_at(&mut self, address: Address) -> MemoryCursor<Fwd<&mut Self>>
fn into_cursor_at(self, address: Address) -> MemoryCursor<Self>
fn batcher(&mut self) -> MemoryViewBatcher<'_, Self>
fn into_overlay_arch(
self,
arch: &'static (dyn Architecture + 'static)
) -> ArchOverlayView<Self>
fn overlay_arch(
&mut self,
arch: &'static (dyn Architecture + 'static)
) -> ArchOverlayView<Fwd<&mut Self>>
fn into_overlay_arch_parts(
self,
arch_bits: u8,
little_endian: bool
) -> ArchOverlayView<Self>
fn overlay_arch_parts(
&mut self,
arch_bits: u8,
little_endian: bool
) -> ArchOverlayView<Fwd<&mut Self>>
fn into_remap_view(self, mem_map: MemoryMap<(Address, u64)>) -> RemapView<Self>
fn remap_view(
&mut self,
mem_map: MemoryMap<(Address, u64)>
) -> RemapView<Fwd<&mut Self>>
sourceimpl<'a, T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> OsInner<'a> for Win32Kernel<T, V>
impl<'a, T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> OsInner<'a> for Win32Kernel<T, V>
sourcefn process_address_list_callback(
&mut self,
callback: AddressCallback<'_>
) -> Result<()>
fn process_address_list_callback(
&mut self,
callback: AddressCallback<'_>
) -> Result<()>
Walks a process list and calls a callback for each process structure address
The callback is fully opaque. We need this style so that C FFI can work seamlessly.
sourcefn process_info_by_address(&mut self, address: Address) -> Result<ProcessInfo>
fn process_info_by_address(&mut self, address: Address) -> Result<ProcessInfo>
Find process information by its internal address
sourcefn process_by_info(&'a mut self, info: ProcessInfo) -> Result<Self::ProcessType>
fn process_by_info(&'a mut self, info: ProcessInfo) -> Result<Self::ProcessType>
Creates a process by its internal address
It will share the underlying memory resources
sourcefn into_process_by_info(
self,
info: ProcessInfo
) -> Result<Self::IntoProcessType>
fn into_process_by_info(
self,
info: ProcessInfo
) -> Result<Self::IntoProcessType>
Creates a process by its internal address
It will consume the kernel and not affect memory usage
If no process with the specified address can be found this function will return an Error.
This function can be useful for quickly accessing a process.
sourcefn module_address_list_callback(
&mut self,
callback: AddressCallback<'_>
) -> Result<()>
fn module_address_list_callback(
&mut self,
callback: AddressCallback<'_>
) -> Result<()>
Walks the kernel module list and calls the provided callback for each module structure address
Arguments
callback
- where to pass each matching module to. This is an opaque callback.
sourcefn module_by_address(&mut self, address: Address) -> Result<ModuleInfo>
fn module_by_address(&mut self, address: Address) -> Result<ModuleInfo>
Retrieves a module by its structure address
Arguments
address
- address where module’s information resides in
type ProcessType = Win32Process<VirtualDma<Fwd<&'a mut T>, Fwd<&'a mut V>, Win32VirtualTranslate>>
type IntoProcessType = Win32Process<VirtualDma<T, V, Win32VirtualTranslate>>
sourcefn process_address_list(&mut self) -> Result<Vec<Address, Global>, Error>
fn process_address_list(&mut self) -> Result<Vec<Address, Global>, Error>
Retrieves a process address list Read more
sourcefn process_info_list_callback(
&mut self,
callback: OpaqueCallback<'_, ProcessInfo>
) -> Result<(), Error>
fn process_info_list_callback(
&mut self,
callback: OpaqueCallback<'_, ProcessInfo>
) -> Result<(), Error>
Walks a process list and calls a callback for each process Read more
sourcefn process_info_list(&mut self) -> Result<Vec<ProcessInfo, Global>, Error>
fn process_info_list(&mut self) -> Result<Vec<ProcessInfo, Global>, Error>
Retrieves a process list
sourcefn process_info_by_name(&mut self, name: &str) -> Result<ProcessInfo, Error>
fn process_info_by_name(&mut self, name: &str) -> Result<ProcessInfo, Error>
Find process information by its name Read more
sourcefn process_info_by_pid(&mut self, pid: u32) -> Result<ProcessInfo, Error>
fn process_info_by_pid(&mut self, pid: u32) -> Result<ProcessInfo, Error>
Find process information by its ID
sourcefn process_by_address(
&'a mut self,
addr: Address
) -> Result<Self::ProcessType, Error>
fn process_by_address(
&'a mut self,
addr: Address
) -> Result<Self::ProcessType, Error>
Creates a process by its internal address, borrowing the OS Read more
sourcefn process_by_name(&'a mut self, name: &str) -> Result<Self::ProcessType, Error>
fn process_by_name(&'a mut self, name: &str) -> Result<Self::ProcessType, Error>
Creates a process by its name, borrowing the OS Read more
sourcefn process_by_pid(&'a mut self, pid: u32) -> Result<Self::ProcessType, Error>
fn process_by_pid(&'a mut self, pid: u32) -> Result<Self::ProcessType, Error>
Creates a process by its ID, borrowing the OS Read more
sourcefn into_process_by_address(
self,
addr: Address
) -> Result<Self::IntoProcessType, Error>
fn into_process_by_address(
self,
addr: Address
) -> Result<Self::IntoProcessType, Error>
Creates a process by its internal address, consuming the OS Read more
sourcefn into_process_by_name(
self,
name: &str
) -> Result<Self::IntoProcessType, Error>
fn into_process_by_name(
self,
name: &str
) -> Result<Self::IntoProcessType, Error>
Creates a process by its name, consuming the OS Read more
sourcefn into_process_by_pid(self, pid: u32) -> Result<Self::IntoProcessType, Error>
fn into_process_by_pid(self, pid: u32) -> Result<Self::IntoProcessType, Error>
Creates a process by its ID, consuming the OS Read more
sourcefn module_list_callback(
&mut self,
callback: OpaqueCallback<'_, ModuleInfo>
) -> Result<(), Error>
fn module_list_callback(
&mut self,
callback: OpaqueCallback<'_, ModuleInfo>
) -> Result<(), Error>
Walks the OS module list and calls the provided callback for each module Read more
sourcefn module_list(&mut self) -> Result<Vec<ModuleInfo, Global>, Error>
fn module_list(&mut self) -> Result<Vec<ModuleInfo, Global>, Error>
Retrieves a module list for the OS
sourcefn module_by_name(&mut self, name: &str) -> Result<ModuleInfo, Error>
fn module_by_name(&mut self, name: &str) -> Result<ModuleInfo, Error>
Finds a OS module by its name Read more
sourceimpl<'a, T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> OsKeyboardInner<'a> for Win32Kernel<T, V>
impl<'a, T: 'static + PhysicalMemory + Clone, V: 'static + VirtualTranslate2 + Clone> OsKeyboardInner<'a> for Win32Kernel<T, V>
type KeyboardType = Win32Keyboard<VirtualDma<Fwd<&'a mut T>, Fwd<&'a mut V>, Win32VirtualTranslate>>
type IntoKeyboardType = Win32Keyboard<VirtualDma<T, V, Win32VirtualTranslate>>
fn keyboard(&'a mut self) -> Result<Self::KeyboardType>
fn into_keyboard(self) -> Result<Self::IntoKeyboardType>
sourceimpl<T: PhysicalMemory, V: VirtualTranslate2> PhysicalMemory for Win32Kernel<T, V>
impl<T: PhysicalMemory, V: VirtualTranslate2> PhysicalMemory for Win32Kernel<T, V>
fn phys_read_raw_iter<'a>(
&mut self,
data: CIterator<'_, PhysicalReadData<'a>>,
out_fail: &mut ReadFailCallback<'_, 'a>
) -> Result<()>
fn phys_write_raw_iter<'a>(
&mut self,
data: CIterator<'_, PhysicalWriteData<'a>>,
out_fail: &mut WriteFailCallback<'_, 'a>
) -> Result<()>
sourcefn metadata(&self) -> PhysicalMemoryMetadata
fn metadata(&self) -> PhysicalMemoryMetadata
Retrieve metadata about the physical memory Read more
sourcefn set_mem_map(&mut self, mem_map: &[PhysicalMemoryMapping])
fn set_mem_map(&mut self, mem_map: &[PhysicalMemoryMapping])
Sets the memory mapping for the physical memory Read more
fn phys_read_into<T>(
&mut self,
addr: PhysicalAddress,
out: &mut T
) -> Result<(), Error> where
T: Pod + ?Sized,
fn phys_write<T>(
&mut self,
addr: PhysicalAddress,
data: &T
) -> Result<(), Error> where
T: Pod + ?Sized,
fn into_phys_view(self) -> PhysicalMemoryView<Self>
fn phys_view(&mut self) -> PhysicalMemoryView<Fwd<&mut Self>>
Auto Trait Implementations
impl<T, V> !RefUnwindSafe for Win32Kernel<T, V>
impl<T, V> Send for Win32Kernel<T, V> where
T: Send,
V: Send,
impl<T, V> !Sync for Win32Kernel<T, V>
impl<T, V> Unpin for Win32Kernel<T, V> where
T: Unpin,
V: Unpin,
impl<T, V> !UnwindSafe for Win32Kernel<T, V>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<'a, T> BorrowOwned<'a> for T where
T: 'a + Clone,
impl<'a, T> BorrowOwned<'a> for T where
T: 'a + Clone,
type ROwned = T
type ROwned = T
The owned type, stored in RCow::Owned
pub fn r_borrow(
this: &'a <T as BorrowOwned<'a>>::ROwned
) -> <T as BorrowOwned<'a>>::RBorrowed
pub fn r_to_owned(
this: <T as BorrowOwned<'a>>::RBorrowed
) -> <T as BorrowOwned<'a>>::ROwned
pub fn deref_borrowed(this: &<T as BorrowOwned<'a>>::RBorrowed) -> &T
pub fn deref_owned(this: &<T as BorrowOwned<'a>>::ROwned) -> &T
pub fn from_cow_borrow(this: &'a T) -> <T as BorrowOwned<'a>>::RBorrowed
pub fn from_cow_owned(
this: <T as ToOwned>::Owned
) -> <T as BorrowOwned<'a>>::ROwned
pub fn into_cow_borrow(this: <T as BorrowOwned<'a>>::RBorrowed) -> &'a T
pub fn into_cow_owned(
this: <T as BorrowOwned<'a>>::ROwned
) -> <T as ToOwned>::Owned
impl<T> GetWithMetadata for T
impl<T> GetWithMetadata for T
type ForSelf = WithMetadata_<T, T>
type ForSelf = WithMetadata_<T, T>
This is always WithMetadata_<Self, Self>
impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
pub fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
pub fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
Gets a reference to a field, determined by offset
. Read more
pub fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
pub fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
Gets a muatble reference to a field, determined by offset
. Read more
pub fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
pub fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
Gets a const pointer to a field,
the field is determined by offset
. Read more
pub fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
pub fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
Gets a mutable pointer to a field, determined by offset
. Read more
impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
pub fn f_replace<F>(
&mut self,
offset: FieldOffset<S, F, Aligned>,
value: F
) -> F
pub fn f_replace<F>(
&mut self,
offset: FieldOffset<S, F, Aligned>,
value: F
) -> F
Replaces a field (determined by offset
) with value
,
returning the previous value of the field. Read more
pub fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Aligned>, right: &mut S)
pub fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Aligned>, right: &mut S)
Swaps a field (determined by offset
) with the same field in right
. Read more
pub fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> F where
F: Copy,
pub fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> F where
F: Copy,
Gets a copy of a field (determined by offset
).
The field is determined by offset
. Read more
impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
pub fn f_replace<F>(
&mut self,
offset: FieldOffset<S, F, Unaligned>,
value: F
) -> F
pub fn f_replace<F>(
&mut self,
offset: FieldOffset<S, F, Unaligned>,
value: F
) -> F
Replaces a field (determined by offset
) with value
,
returning the previous value of the field. Read more
pub fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, right: &mut S)
pub fn f_swap<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, right: &mut S)
Swaps a field (determined by offset
) with the same field in right
. Read more
pub fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> F where
F: Copy,
pub fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> F where
F: Copy,
Gets a copy of a field (determined by offset
).
The field is determined by offset
. Read more
impl<T> SelfOps for T where
T: ?Sized,
impl<T> SelfOps for T where
T: ?Sized,
fn eq_id(&self, other: &Self) -> bool
fn eq_id(&self, other: &Self) -> bool
Compares the address of self
with the address of other
. Read more
fn piped<F, U>(self, f: F) -> U where
F: FnOnce(Self) -> U,
fn piped<F, U>(self, f: F) -> U where
F: FnOnce(Self) -> U,
Emulates the pipeline operator, allowing method syntax in more places. Read more
fn piped_ref<'a, F, U>(&'a self, f: F) -> U where
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> U where
F: FnOnce(&'a Self) -> U,
The same as piped
except that the function takes &Self
Useful for functions that take &Self
instead of Self
. Read more
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U where
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> U where
F: FnOnce(&'a mut Self) -> U,
The same as piped
, except that the function takes &mut Self
.
Useful for functions that take &mut Self
instead of Self
. Read more
fn mutated<F>(self, f: F) -> Self where
F: FnOnce(&mut Self),
fn mutated<F>(self, f: F) -> Self where
F: FnOnce(&mut Self),
Mutates self using a closure taking self by mutable reference, passing it along the method chain. Read more
fn observe<F>(self, f: F) -> Self where
F: FnOnce(&Self),
fn observe<F>(self, f: F) -> Self where
F: FnOnce(&Self),
Observes the value of self, passing it along unmodified. Useful in long method chains. Read more
fn into_<T>(self) -> T where
Self: Into<T>,
fn into_<T>(self) -> T where
Self: Into<T>,
Performs a conversion with Into
.
using the turbofish .into_::<_>()
syntax. Read more
fn as_ref_<T>(&self) -> &T where
Self: AsRef<T>,
T: ?Sized,
fn as_ref_<T>(&self) -> &T where
Self: AsRef<T>,
T: ?Sized,
Performs a reference to reference conversion with AsRef
,
using the turbofish .as_ref_::<_>()
syntax. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<This> TransmuteElement for This where
This: ?Sized,
impl<This> TransmuteElement for This where
This: ?Sized,
unsafe fn transmute_element<T>(self) -> Self::TransmutedPtr where
Self: CanTransmuteElement<T>,
unsafe fn transmute_element<T>(self) -> Self::TransmutedPtr where
Self: CanTransmuteElement<T>,
Transmutes the element type of this pointer.. Read more
impl<T> TypeIdentity for T where
T: ?Sized,
impl<T> TypeIdentity for T where
T: ?Sized,
type Type = T
type Type = T
This is always Self
.
fn into_type(self) -> Self::Type where
Self::Type: Sized,
fn into_type(self) -> Self::Type where
Self::Type: Sized,
Converts a value back to the original type.
fn as_type(&self) -> &Self::Type
fn as_type(&self) -> &Self::Type
Converts a reference back to the original type.
fn as_type_mut(&mut self) -> &mut Self::Type
fn as_type_mut(&mut self) -> &mut Self::Type
Converts a mutable reference back to the original type.
fn into_type_box(self: Box<Self, Global>) -> Box<Self::Type, Global>
fn into_type_box(self: Box<Self, Global>) -> Box<Self::Type, Global>
Converts a box back to the original type.
fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>
fn into_type_arc(this: Arc<Self>) -> Arc<Self::Type>
Converts an Arc back to the original type. Read more
fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>
fn into_type_rc(this: Rc<Self>) -> Rc<Self::Type>
Converts an Rc back to the original type. Read more
fn from_type(this: Self::Type) -> Self where
Self::Type: Sized,
fn from_type(this: Self::Type) -> Self where
Self::Type: Sized,
Converts a value back to the original type.
fn from_type_ref(this: &Self::Type) -> &Self
fn from_type_ref(this: &Self::Type) -> &Self
Converts a reference back to the original type.
fn from_type_mut(this: &mut Self::Type) -> &mut Self
fn from_type_mut(this: &mut Self::Type) -> &mut Self
Converts a mutable reference back to the original type.
fn from_type_box(this: Box<Self::Type, Global>) -> Box<Self, Global>
fn from_type_box(this: Box<Self::Type, Global>) -> Box<Self, Global>
Converts a box back to the original type.
fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>
fn from_type_arc(this: Arc<Self::Type>) -> Arc<Self>
Converts an Arc back to the original type.
fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>
fn from_type_rc(this: Rc<Self::Type>) -> Rc<Self>
Converts an Rc back to the original type.