pub enum Wrap<T32, T64> {
T32(T32),
T64(T64),
}
Expand description
Wraps 32-bit and 64-bit variants.
Variants
T32(T32)
T64(T64)
Implementations
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Pe32, Pe64>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Pe32, Pe64>
pub fn image(&self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
pub fn align(&self) -> Align
pub fn as_ref(&self) -> Wrap<&Pe32, &Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn dos_header(&self) -> &'a IMAGE_DOS_HEADER
pub fn dos_image(&self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
pub fn nt_headers(&self) -> Wrap<&'a IMAGE_NT_HEADERS32, &'a IMAGE_NT_HEADERS64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn file_header(&self) -> &'a IMAGE_FILE_HEADER
pub fn optional_header(
&self
) -> Wrap<&'a IMAGE_OPTIONAL_HEADER32, &'a IMAGE_OPTIONAL_HEADER64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn data_directory(&self) -> &'a [IMAGE_DATA_DIRECTORY]
pub fn section_headers(&self) -> &'a SectionHeaders
pub fn slice(&self, rva: u32, min_size: usize, align: usize) -> Result<&'a [u8]>
pub fn slice_bytes(&self, rva: u32) -> Result<&'a [u8]>
pub fn get_section_bytes(
&self,
section_header: &IMAGE_SECTION_HEADER
) -> Result<&'a [u8]>
pub fn derva<T>(&self, rva: u32) -> Result<&'a T>where
T: Pod,
pub fn derva_copy<T>(&self, rva: u32) -> Result<T>where
T: Copy + Pod,
pub fn derva_into<T>(&self, rva: u32, dest: &mut T) -> Result<()>where
T: ?Sized + Pod,
pub fn derva_slice<T>(&self, rva: u32, len: usize) -> Result<&'a [T]>where
T: Pod,
pub fn derva_slice_f<T, F>(&self, rva: u32, f: F) -> Result<&'a [T]>where
T: Pod,
F: FnMut(&'a T) -> bool,
pub fn derva_slice_s<T>(&self, rva: u32, sentinel: T) -> Result<&'a [T]>where
T: PartialEq + Pod,
pub fn derva_c_str(&self, rva: u32) -> Result<&'a CStr>
pub fn derva_string<T>(&self, rva: u32) -> Result<&'a T>where
T: FromBytes + ?Sized,
pub fn headers(&self) -> Wrap<Headers<Pe32>, Headers<Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn rich_structure(&self) -> Result<RichStructure<'a>>
pub fn exports(&self) -> Result<Wrap<Exports<'a, Pe32>, Exports<'a, Pe64>>>
pub fn imports(&self) -> Result<Wrap<Imports<'a, Pe32>, Imports<'a, Pe64>>>
pub fn iat(&self) -> Result<Wrap<IAT<'a, Pe32>, IAT<'a, Pe64>>>
pub fn base_relocs(&self) -> Result<BaseRelocs<'a>>
pub fn load_config(
&self
) -> Result<Wrap<LoadConfig<'a, Pe32>, LoadConfig<'a, Pe64>>>
pub fn tls(&self) -> Result<Wrap<Tls<'a, Pe32>, Tls<'a, Pe64>>>
pub fn security(&self) -> Result<Security<'a>>
pub fn exception(
&self
) -> Result<Wrap<Exception<'a, Pe32>, Exception<'a, Pe64>>>
pub fn debug(&self) -> Result<Wrap<Debug<'a, Pe32>, Debug<'a, Pe64>>>
pub fn resources(&self) -> Result<Resources<'a>>
pub fn scanner(&self) -> Wrap<Scanner<Pe32>, Scanner<Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Headers<Pe32>, Headers<Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Headers<Pe32>, Headers<Pe64>>
Describes the PE headers.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
pub fn image(&self) -> &'a [u8]ⓘNotable traits for &mut [u8]impl Write for &mut [u8]impl Read for &[u8]
Gets the PE headers as a byte slice.
sourcepub fn code_range(&self) -> Range<u32>
pub fn code_range(&self) -> Range<u32>
Gets the code range from the optional header.
sourcepub fn image_range(&self) -> Range<u32>
pub fn image_range(&self) -> Range<u32>
Gets the full image range excluding the PE headers.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Exports<'a, Pe32>, Exports<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Exports<'a, Pe32>, Exports<'a, Pe64>>
Export directory.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a IMAGE_EXPORT_DIRECTORY
pub fn image(&self) -> &'a IMAGE_EXPORT_DIRECTORY
Returns the underlying export directory image.
sourcepub fn ordinal_base(&self) -> u16
pub fn ordinal_base(&self) -> u16
Gets the ordinal base for the exported functions.
sourcepub fn name_indices(&self) -> Result<&'a [u16]>
pub fn name_indices(&self) -> Result<&'a [u16]>
Gets the name index table.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<By<'a, Pe32>, By<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<By<'a, Pe32>, By<'a, Pe64>>
Export directory symbol lookup.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a IMAGE_EXPORT_DIRECTORY
pub fn image(&self) -> &'a IMAGE_EXPORT_DIRECTORY
Returns the underlying export directory image.
sourcepub fn ordinal_base(&self) -> u16
pub fn ordinal_base(&self) -> u16
Gets the ordinal base for the exported functions.
sourcepub fn name_indices(&self) -> &'a [u16]
pub fn name_indices(&self) -> &'a [u16]
Gets the name index table.
sourcepub fn check_sorted(&self) -> Result<bool>
pub fn check_sorted(&self) -> Result<bool>
Validates and checks if the name table is sorted.
sourcepub fn name_linear<S: AsRef<[u8]> + ?Sized>(
&self,
name: &S
) -> Result<Export<'a>>
pub fn name_linear<S: AsRef<[u8]> + ?Sized>(
&self,
name: &S
) -> Result<Export<'a>>
Looks up an Export
by its name.
sourcepub fn name<S: AsRef<[u8]> + ?Sized>(&self, name: &S) -> Result<Export<'a>>
pub fn name<S: AsRef<[u8]> + ?Sized>(&self, name: &S) -> Result<Export<'a>>
Looks up an Export
by its name.
sourcepub fn import(&self, import: Import<'_>) -> Result<Export<'a>>
pub fn import(&self, import: Import<'_>) -> Result<Export<'a>>
Looks up an Export
by its import.
sourcepub fn hint_name<S: AsRef<[u8]> + ?Sized>(
&self,
hint: usize,
name: &S
) -> Result<Export<'a>>
pub fn hint_name<S: AsRef<[u8]> + ?Sized>(
&self,
hint: usize,
name: &S
) -> Result<Export<'a>>
Looks up an export by its hint and falls back to the name if the hint is incorrect.
sourcepub fn name_of_hint(&self, hint: usize) -> Result<&'a CStr>
pub fn name_of_hint(&self, hint: usize) -> Result<&'a CStr>
Looks up the name for a hint.
sourcepub fn name_lookup(&self, index: usize) -> Result<Import<'a>>
pub fn name_lookup(&self, index: usize) -> Result<Import<'a>>
Given an index in the functions array, gets the named export.
sourcepub fn iter<'s>(
&'s self
) -> impl 's + Clone + Iterator<Item = Result<Export<'a>>>
pub fn iter<'s>(
&'s self
) -> impl 's + Clone + Iterator<Item = Result<Export<'a>>>
Iterate over exported functions.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Pe32, Pe64>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Pe32, Pe64>
Convenient way to get an exported address.
sourcepub fn get_export_by_ordinal(&self, ordinal: u16) -> Result<Export<'a>>
pub fn get_export_by_ordinal(&self, ordinal: u16) -> Result<Export<'a>>
Convenient method to get an exported function by ordinal.
sourcepub fn get_export_by_import(&self, import: Import<'a>) -> Result<Export<'a>>
pub fn get_export_by_import(&self, import: Import<'a>) -> Result<Export<'a>>
Convenient method to get an exported function by import.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Imports<'a, Pe32>, Imports<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Imports<'a, Pe32>, Imports<'a, Pe64>>
Import directory.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a [IMAGE_IMPORT_DESCRIPTOR]
pub fn image(&self) -> &'a [IMAGE_IMPORT_DESCRIPTOR]
Returns the underlying import directory image array.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<IAT<'a, Pe32>, IAT<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<IAT<'a, Pe32>, IAT<'a, Pe64>>
Import Address Table.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> Wrap<&'a [u32], &'a [u64]>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn image(&self) -> Wrap<&'a [u32], &'a [u64]>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Returns the underlying iat array.
sourcepub fn iter(
&self
) -> Wrap<impl Clone + Iterator<Item = (&'a u32, Result<Import<'a>>)>, impl Clone + Iterator<Item = (&'a u64, Result<Import<'a>>)>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn iter(
&self
) -> Wrap<impl Clone + Iterator<Item = (&'a u32, Result<Import<'a>>)>, impl Clone + Iterator<Item = (&'a u64, Result<Import<'a>>)>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Iterate over the IAT.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Desc<'a, Pe32>, Desc<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Desc<'a, Pe32>, Desc<'a, Pe64>>
Import library descriptor.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a IMAGE_IMPORT_DESCRIPTOR
pub fn image(&self) -> &'a IMAGE_IMPORT_DESCRIPTOR
Returns the underlying import descriptor image.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<LoadConfig<'a, Pe32>, LoadConfig<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<LoadConfig<'a, Pe32>, LoadConfig<'a, Pe64>>
Load Config Directory.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(
&self
) -> Wrap<&'a IMAGE_LOAD_CONFIG_DIRECTORY32, &'a IMAGE_LOAD_CONFIG_DIRECTORY64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn image(
&self
) -> Wrap<&'a IMAGE_LOAD_CONFIG_DIRECTORY32, &'a IMAGE_LOAD_CONFIG_DIRECTORY64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Returns the underlying load config directory image.
Gets the default security cookie for the image.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Tls<'a, Pe32>, Tls<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Tls<'a, Pe32>, Tls<'a, Pe64>>
TLS Directory.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Debug<'a, Pe32>, Debug<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Debug<'a, Pe32>, Debug<'a, Pe64>>
Debug directory.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a [IMAGE_DEBUG_DIRECTORY]
pub fn image(&self) -> &'a [IMAGE_DEBUG_DIRECTORY]
Returns the underlying debug directories image.
sourcepub fn pdb_file_name(&self) -> Option<&'a CStr>
pub fn pdb_file_name(&self) -> Option<&'a CStr>
Gets the CodeView PDB file name.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Dir<'a, Pe32>, Dir<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Dir<'a, Pe32>, Dir<'a, Pe64>>
Debug directory entry.
sourcepub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn pe(&self) -> Wrap<Pe32, Pe64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Gets the PE instance.
sourcepub fn image(&self) -> &'a IMAGE_DEBUG_DIRECTORY
pub fn image(&self) -> &'a IMAGE_DEBUG_DIRECTORY
Gets the underlying debug directory image.
sourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Scanner<Pe32>, Scanner<Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Scanner<Pe32>, Scanner<Pe64>>
Pattern scanner.
sourcepub fn finds(&self, pat: &[Atom], range: Range<u32>, save: &mut [u32]) -> bool
pub fn finds(&self, pat: &[Atom], range: Range<u32>, save: &mut [u32]) -> bool
Finds the unique match for the pattern in the given range.
sourcepub fn finds_code(&self, pat: &[Atom], save: &mut [u32]) -> bool
pub fn finds_code(&self, pat: &[Atom], save: &mut [u32]) -> bool
Finds the unique code match for the pattern.
sourcepub fn matches<'pat>(
&self,
pat: &'pat [Atom],
range: Range<u32>
) -> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn matches<'pat>(
&self,
pat: &'pat [Atom],
range: Range<u32>
) -> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Returns an iterator over the matches of a pattern within the given range.
sourcepub fn matches_code<'pat>(
&self,
pat: &'pat [Atom]
) -> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
pub fn matches_code<'pat>(
&self,
pat: &'pat [Atom]
) -> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
Returns an iterator over the code matches of a pattern.
sourceimpl<'a, 'pat, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>
impl<'a, 'pat, Pe32: Pe<'a>, Pe64: Pe<'a>> Wrap<Matches<'pat, Pe32>, Matches<'pat, Pe64>>
Trait Implementations
sourceimpl<T32: Clone, T64: Clone> Clone for Wrap<T32, T64>
impl<T32: Clone, T64: Clone> Clone for Wrap<T32, T64>
sourcefn clone(&self) -> Wrap<T32, T64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
fn clone(&self) -> Wrap<T32, T64>ⓘNotable traits for Wrap<Iter32, Iter64>impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64> type Item = Wrap<Iter32::Item, Iter64::Item>;
1.0.0 · sourceconst fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> IntoIterator for Wrap<Imports<'a, Pe32>, Imports<'a, Pe64>>
impl<'a, Pe32: Pe<'a>, Pe64: Pe<'a>> IntoIterator for Wrap<Imports<'a, Pe32>, Imports<'a, Pe64>>
sourceimpl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64>
impl<Iter32: Iterator, Iter64: Iterator> Iterator for Wrap<Iter32, Iter64>
type Item = Wrap<<Iter32 as Iterator>::Item, <Iter64 as Iterator>::Item>
type Item = Wrap<<Iter32 as Iterator>::Item, <Iter64 as Iterator>::Item>
sourcefn next(&mut self) -> Option<Self::Item>
fn next(&mut self) -> Option<Self::Item>
sourcefn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
fn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
iter_next_chunk
)N
values. Read more1.0.0 · sourcefn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
1.0.0 · sourcefn count(self) -> usize
fn count(self) -> usize
1.0.0 · sourcefn last(self) -> Option<Self::Item>
fn last(self) -> Option<Self::Item>
sourcefn advance_by(&mut self, n: usize) -> Result<(), usize>
fn advance_by(&mut self, n: usize) -> Result<(), usize>
iter_advance_by
)n
elements. Read more1.0.0 · sourcefn nth(&mut self, n: usize) -> Option<Self::Item>
fn nth(&mut self, n: usize) -> Option<Self::Item>
n
th element of the iterator. Read more1.28.0 · sourcefn step_by(self, step: usize) -> StepBy<Self>
fn step_by(self, step: usize) -> StepBy<Self>
1.0.0 · sourcefn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where
U: IntoIterator<Item = Self::Item>,
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where
U: IntoIterator<Item = Self::Item>,
1.0.0 · sourcefn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
U: IntoIterator,
sourcefn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where
G: FnMut() -> Self::Item,
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where
G: FnMut() -> Self::Item,
iter_intersperse
)separator
between adjacent items of the original iterator. Read more1.0.0 · sourcefn map<B, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> B,
fn map<B, F>(self, f: F) -> Map<Self, F>where
F: FnMut(Self::Item) -> B,
1.21.0 · sourcefn for_each<F>(self, f: F)where
F: FnMut(Self::Item),
fn for_each<F>(self, f: F)where
F: FnMut(Self::Item),
1.0.0 · sourcefn filter<P>(self, predicate: P) -> Filter<Self, P>where
P: FnMut(&Self::Item) -> bool,
fn filter<P>(self, predicate: P) -> Filter<Self, P>where
P: FnMut(&Self::Item) -> bool,
1.0.0 · sourcefn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where
F: FnMut(Self::Item) -> Option<B>,
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>where
F: FnMut(Self::Item) -> Option<B>,
1.0.0 · sourcefn enumerate(self) -> Enumerate<Self>
fn enumerate(self) -> Enumerate<Self>
1.0.0 · sourcefn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where
P: FnMut(&Self::Item) -> bool,
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>where
P: FnMut(&Self::Item) -> bool,
1.0.0 · sourcefn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where
P: FnMut(&Self::Item) -> bool,
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>where
P: FnMut(&Self::Item) -> bool,
1.57.0 · sourcefn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where
P: FnMut(Self::Item) -> Option<B>,
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>where
P: FnMut(Self::Item) -> Option<B>,
1.0.0 · sourcefn skip(self, n: usize) -> Skip<Self>
fn skip(self, n: usize) -> Skip<Self>
n
elements. Read more1.0.0 · sourcefn take(self, n: usize) -> Take<Self>
fn take(self, n: usize) -> Take<Self>
n
elements, or fewer
if the underlying iterator ends sooner. Read more1.0.0 · sourcefn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where
F: FnMut(&mut St, Self::Item) -> Option<B>,
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>where
F: FnMut(&mut St, Self::Item) -> Option<B>,
1.0.0 · sourcefn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>where
U: IntoIterator,
F: FnMut(Self::Item) -> U,
1.0.0 · sourcefn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
fn inspect<F>(self, f: F) -> Inspect<Self, F>where
F: FnMut(&Self::Item),
1.0.0 · sourcefn by_ref(&mut self) -> &mut Self
fn by_ref(&mut self) -> &mut Self
1.0.0 · sourcefn collect<B>(self) -> Bwhere
B: FromIterator<Self::Item>,
fn collect<B>(self) -> Bwhere
B: FromIterator<Self::Item>,
sourcefn collect_into<E>(self, collection: &mut E) -> &mut Ewhere
E: Extend<Self::Item>,
fn collect_into<E>(self, collection: &mut E) -> &mut Ewhere
E: Extend<Self::Item>,
iter_collect_into
)1.0.0 · sourcefn partition<B, F>(self, f: F) -> (B, B)where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
fn partition<B, F>(self, f: F) -> (B, B)where
B: Default + Extend<Self::Item>,
F: FnMut(&Self::Item) -> bool,
sourcefn is_partitioned<P>(self, predicate: P) -> boolwhere
P: FnMut(Self::Item) -> bool,
fn is_partitioned<P>(self, predicate: P) -> boolwhere
P: FnMut(Self::Item) -> bool,
iter_is_partitioned
)true
precede all those that return false
. Read more1.27.0 · sourcefn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> Rwhere
F: FnMut(B, Self::Item) -> R,
R: Try<Output = B>,
1.27.0 · sourcefn try_for_each<F, R>(&mut self, f: F) -> Rwhere
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,
fn try_for_each<F, R>(&mut self, f: F) -> Rwhere
F: FnMut(Self::Item) -> R,
R: Try<Output = ()>,
1.0.0 · sourcefn fold<B, F>(self, init: B, f: F) -> Bwhere
F: FnMut(B, Self::Item) -> B,
fn fold<B, F>(self, init: B, f: F) -> Bwhere
F: FnMut(B, Self::Item) -> B,
1.51.0 · sourcefn reduce<F>(self, f: F) -> Option<Self::Item>where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
fn reduce<F>(self, f: F) -> Option<Self::Item>where
F: FnMut(Self::Item, Self::Item) -> Self::Item,
sourcefn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryTypewhere
F: FnMut(Self::Item, Self::Item) -> R,
R: Try<Output = Self::Item>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
iterator_try_reduce
)1.0.0 · sourcefn all<F>(&mut self, f: F) -> boolwhere
F: FnMut(Self::Item) -> bool,
fn all<F>(&mut self, f: F) -> boolwhere
F: FnMut(Self::Item) -> bool,
1.0.0 · sourcefn any<F>(&mut self, f: F) -> boolwhere
F: FnMut(Self::Item) -> bool,
fn any<F>(&mut self, f: F) -> boolwhere
F: FnMut(Self::Item) -> bool,
1.0.0 · sourcefn find<P>(&mut self, predicate: P) -> Option<Self::Item>where
P: FnMut(&Self::Item) -> bool,
fn find<P>(&mut self, predicate: P) -> Option<Self::Item>where
P: FnMut(&Self::Item) -> bool,
1.30.0 · sourcefn find_map<B, F>(&mut self, f: F) -> Option<B>where
F: FnMut(Self::Item) -> Option<B>,
fn find_map<B, F>(&mut self, f: F) -> Option<B>where
F: FnMut(Self::Item) -> Option<B>,
sourcefn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryTypewhere
F: FnMut(&Self::Item) -> R,
R: Try<Output = bool>,
<R as Try>::Residual: Residual<Option<Self::Item>>,
try_find
)1.0.0 · sourcefn position<P>(&mut self, predicate: P) -> Option<usize>where
P: FnMut(Self::Item) -> bool,
fn position<P>(&mut self, predicate: P) -> Option<usize>where
P: FnMut(Self::Item) -> bool,
1.6.0 · sourcefn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
F: FnMut(&Self::Item) -> B,
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
F: FnMut(&Self::Item) -> B,
1.15.0 · sourcefn max_by<F>(self, compare: F) -> Option<Self::Item>where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
fn max_by<F>(self, compare: F) -> Option<Self::Item>where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.6.0 · sourcefn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
F: FnMut(&Self::Item) -> B,
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>where
B: Ord,
F: FnMut(&Self::Item) -> B,
1.15.0 · sourcefn min_by<F>(self, compare: F) -> Option<Self::Item>where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
fn min_by<F>(self, compare: F) -> Option<Self::Item>where
F: FnMut(&Self::Item, &Self::Item) -> Ordering,
1.0.0 · sourcefn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>,
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)where
FromA: Default + Extend<A>,
FromB: Default + Extend<B>,
Self: Iterator<Item = (A, B)>,
1.36.0 · sourcefn copied<'a, T>(self) -> Copied<Self>where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
fn copied<'a, T>(self) -> Copied<Self>where
T: 'a + Copy,
Self: Iterator<Item = &'a T>,
1.0.0 · sourcefn cloned<'a, T>(self) -> Cloned<Self>where
T: 'a + Clone,
Self: Iterator<Item = &'a T>,
fn cloned<'a, T>(self) -> Cloned<Self>where
T: 'a + Clone,
Self: Iterator<Item = &'a T>,
sourcefn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
iter_array_chunks
)N
elements of the iterator at a time. Read more1.11.0 · sourcefn sum<S>(self) -> Swhere
S: Sum<Self::Item>,
fn sum<S>(self) -> Swhere
S: Sum<Self::Item>,
1.11.0 · sourcefn product<P>(self) -> Pwhere
P: Product<Self::Item>,
fn product<P>(self) -> Pwhere
P: Product<Self::Item>,
sourcefn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
fn cmp_by<I, F>(self, other: I, cmp: F) -> Orderingwhere
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,
iter_order_by
)Iterator
with those
of another with respect to the specified comparison function. Read more1.5.0 · sourcefn partial_cmp<I>(self, other: I) -> Option<Ordering>where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn partial_cmp<I>(self, other: I) -> Option<Ordering>where
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
sourcefn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
iter_order_by
)Iterator
with those
of another with respect to the specified comparison function. Read more1.5.0 · sourcefn eq<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
fn eq<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
sourcefn eq_by<I, F>(self, other: I, eq: F) -> boolwhere
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
fn eq_by<I, F>(self, other: I, eq: F) -> boolwhere
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,
iter_order_by
)1.5.0 · sourcefn ne<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
fn ne<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialEq<<I as IntoIterator>::Item>,
1.5.0 · sourcefn lt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn lt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Iterator
are lexicographically
less than those of another. Read more1.5.0 · sourcefn le<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn le<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Iterator
are lexicographically
less or equal to those of another. Read more1.5.0 · sourcefn gt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn gt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Iterator
are lexicographically
greater than those of another. Read more1.5.0 · sourcefn ge<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
fn ge<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Iterator
are lexicographically
greater than or equal to those of another. Read moresourcefn is_sorted_by<F>(self, compare: F) -> boolwhere
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
fn is_sorted_by<F>(self, compare: F) -> boolwhere
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
is_sorted
)sourcefn is_sorted_by_key<F, K>(self, f: F) -> boolwhere
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
is_sorted
)