Struct mzdata::io::mzml::MzMLReaderType
source · pub struct MzMLReaderType<R: Read, C: CentroidPeakAdapting = CentroidPeak, D: DeconvolutedPeakAdapting = DeconvolutedPeak> {
pub state: MzMLParserState,
pub spectrum_index: OffsetIndex,
pub chromatogram_index: Box<OffsetIndex>,
pub reference_param_groups: HashMap<String, Vec<Param>>,
pub detail_level: DetailLevel,
pub run: MassSpectrometryRun,
/* private fields */
}
Expand description
An mzML parser that supports iteration and random access. The parser produces
Spectrum
instances, which may be converted to RawSpectrum
or CentroidSpectrum
as is appropriate to the data.
When the readable stream the parser is wrapped around supports io::Seek
,
additional random access operations are available.
Fields§
§state: MzMLParserState
The state the parser was in last.
spectrum_index: OffsetIndex
A spectrum ID to byte offset for fast random access
chromatogram_index: Box<OffsetIndex>
§reference_param_groups: HashMap<String, Vec<Param>>
A cache of repeated paramters
detail_level: DetailLevel
§run: MassSpectrometryRun
Implementations§
source§impl<'a, 'b: 'a, 'inner, 'outer: 'inner + 'event, 'event: 'inner, R: Read, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
impl<'a, 'b: 'a, 'inner, 'outer: 'inner + 'event, 'event: 'inner, R: Read, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
sourcepub fn new(file: R) -> MzMLReaderType<R, C, D> ⓘ
pub fn new(file: R) -> MzMLReaderType<R, C, D> ⓘ
Create a new MzMLReaderType
instance, wrapping the io::Read
handle
provided with an io::BufReader
and parses the metadata section of the file.
pub fn with_buffer_capacity_and_detail_level( file: R, capacity: usize, detail_level: DetailLevel ) -> MzMLReaderType<R, C, D> ⓘ
sourcepub fn read_into(
&mut self,
spectrum: &mut MultiLayerSpectrum<C, D>
) -> Result<usize, MzMLParserError>
pub fn read_into( &mut self, spectrum: &mut MultiLayerSpectrum<C, D> ) -> Result<usize, MzMLParserError>
Populate a new Spectrum
in-place on the next available spectrum data.
This allocates memory to build the spectrum’s attributes but then moves it
into spectrum
rather than copying it.
sourcepub fn read_next(&mut self) -> Option<MultiLayerSpectrum<C, D>>
pub fn read_next(&mut self) -> Option<MultiLayerSpectrum<C, D>>
Read the next spectrum directly. Used to implement iteration.
source§impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
When the underlying stream supports random access, this type can read the index at the end of
an indexedmzML
document and use the offset map to jump to immediately jump to a specific spectrum
pub fn check_stream(&mut self, next_tag: &str) -> Result<bool, MzMLParserError>
pub fn get_chromatogram_by_id(&mut self, id: &str) -> Option<Chromatogram>
pub fn get_chromatogram_by_index( &mut self, index: usize ) -> Option<Chromatogram>
pub fn iter_chromatograms(&mut self) -> ChromatogramIter<'_, R, C, D>
source§impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MzMLReaderType<R, C, D>
sourcepub fn new_indexed(file: R) -> MzMLReaderType<R, C, D> ⓘ
pub fn new_indexed(file: R) -> MzMLReaderType<R, C, D> ⓘ
Construct a new MzMLReaderType and build an offset index
using Self::build_index
pub fn with_buffer_capacity_and_detail_level_indexed( file: R, capacity: usize, detail_level: DetailLevel ) -> MzMLReaderType<R, C, D> ⓘ
pub fn seek(&mut self, pos: SeekFrom) -> Result<u64>
pub fn stream_position(&mut self) -> Result<u64, Error>
sourcepub fn read_index_from_end(&mut self) -> Result<u64, MzMLIndexingError>
pub fn read_index_from_end(&mut self) -> Result<u64, MzMLIndexingError>
Read the offset index at the end of an <indexedmzML>
document,
though this index may be malformed in some older files.
sourcepub fn build_index(&mut self) -> u64
pub fn build_index(&mut self) -> u64
Builds an offset index to each <spectrum>
XML element
by doing a fast pre-scan of the XML file.
Trait Implementations§
source§impl<R: Read, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> Iterator for MzMLReaderType<R, C, D>
impl<R: Read, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> Iterator for MzMLReaderType<R, C, D>
MzMLReaderType
instances are Iterator
s over Spectrum
§type Item = MultiLayerSpectrum<C, D>
type Item = MultiLayerSpectrum<C, D>
source§fn next(&mut self) -> Option<Self::Item>
fn next(&mut self) -> Option<Self::Item>
source§fn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
fn next_chunk<const N: usize>(
&mut self
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
iter_next_chunk
)N
values. Read more1.0.0 · source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
1.0.0 · source§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
1.0.0 · source§fn last(self) -> Option<Self::Item>where
Self: Sized,
fn last(self) -> Option<Self::Item>where
Self: Sized,
source§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by
)n
elements. Read more1.0.0 · source§fn 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 · source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
1.0.0 · source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
1.0.0 · source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
source§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
iter_intersperse
)separator
between adjacent items of the original iterator. Read more1.0.0 · source§fn map<B, F>(self, f: F) -> Map<Self, F>
fn map<B, F>(self, f: F) -> Map<Self, F>
1.0.0 · source§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
1.0.0 · source§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
1.0.0 · source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
1.0.0 · source§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
1.0.0 · source§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
1.57.0 · source§fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
1.0.0 · source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
n
elements. Read more1.0.0 · source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
n
elements, or fewer
if the underlying iterator ends sooner. Read more1.0.0 · source§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
source§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
iter_map_windows
)f
for each contiguous window of size N
over
self
and returns an iterator over the outputs of f
. Like slice::windows()
,
the windows during mapping overlap as well. Read more1.0.0 · source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
source§fn collect_into<E>(self, collection: &mut E) -> &mut E
fn collect_into<E>(self, collection: &mut E) -> &mut E
iter_collect_into
)1.0.0 · source§fn partition<B, F>(self, f: F) -> (B, B)
fn partition<B, F>(self, f: F) -> (B, B)
source§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
iter_is_partitioned
)true
precede all those that return false
. Read more1.27.0 · source§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
1.27.0 · source§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
1.0.0 · source§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
1.51.0 · source§fn reduce<F>(self, f: F) -> Option<Self::Item>
fn reduce<F>(self, f: F) -> Option<Self::Item>
source§fn try_reduce<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
fn try_reduce<F, R>( &mut self, f: F ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
iterator_try_reduce
)1.0.0 · source§fn all<F>(&mut self, f: F) -> bool
fn all<F>(&mut self, f: F) -> bool
1.0.0 · source§fn any<F>(&mut self, f: F) -> bool
fn any<F>(&mut self, f: F) -> bool
1.0.0 · source§fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
1.30.0 · source§fn find_map<B, F>(&mut self, f: F) -> Option<B>
fn find_map<B, F>(&mut self, f: F) -> Option<B>
source§fn try_find<F, R>(
&mut self,
f: F
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
fn try_find<F, R>( &mut self, f: F ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
try_find
)1.0.0 · source§fn position<P>(&mut self, predicate: P) -> Option<usize>
fn position<P>(&mut self, predicate: P) -> Option<usize>
1.6.0 · source§fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 · source§fn max_by<F>(self, compare: F) -> Option<Self::Item>
fn max_by<F>(self, compare: F) -> Option<Self::Item>
1.6.0 · source§fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 · source§fn min_by<F>(self, compare: F) -> Option<Self::Item>
fn min_by<F>(self, compare: F) -> Option<Self::Item>
1.0.0 · source§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
1.36.0 · source§fn copied<'a, T>(self) -> Copied<Self>
fn copied<'a, T>(self) -> Copied<Self>
source§fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where
Self: Sized,
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where
Self: Sized,
iter_array_chunks
)N
elements of the iterator at a time. Read more1.11.0 · source§fn product<P>(self) -> P
fn product<P>(self) -> P
source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
iter_order_by
)Iterator
with those
of another with respect to the specified comparison function. Read more1.5.0 · source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
PartialOrd
elements of
this Iterator
with those of another. The comparison works like short-circuit
evaluation, returning a result without comparing the remaining elements.
As soon as an order can be determined, the evaluation stops and a result is returned. Read moresource§fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
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
Self: Sized,
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 moresource§fn eq_by<I, F>(self, other: I, eq: F) -> bool
fn eq_by<I, F>(self, other: I, eq: F) -> bool
iter_order_by
)1.5.0 · source§fn lt<I>(self, other: I) -> bool
fn lt<I>(self, other: I) -> bool
Iterator
are lexicographically
less than those of another. Read more1.5.0 · source§fn le<I>(self, other: I) -> bool
fn le<I>(self, other: I) -> bool
Iterator
are lexicographically
less or equal to those of another. Read more1.5.0 · source§fn gt<I>(self, other: I) -> bool
fn gt<I>(self, other: I) -> bool
Iterator
are lexicographically
greater than those of another. Read more1.5.0 · source§fn ge<I>(self, other: I) -> bool
fn ge<I>(self, other: I) -> bool
Iterator
are lexicographically
greater than or equal to those of another. Read moresource§fn is_sorted_by<F>(self, compare: F) -> bool
fn is_sorted_by<F>(self, compare: F) -> bool
is_sorted
)source§fn is_sorted_by_key<F, K>(self, f: F) -> bool
fn is_sorted_by_key<F, K>(self, f: F) -> bool
is_sorted
)source§impl<R: Read, C: CentroidPeakAdapting, D: DeconvolutedPeakAdapting> MSDataFileMetadata for MzMLReaderType<R, C, D>
impl<R: Read, C: CentroidPeakAdapting, D: DeconvolutedPeakAdapting> MSDataFileMetadata for MzMLReaderType<R, C, D>
source§fn data_processings(&self) -> &Vec<DataProcessing>
fn data_processings(&self) -> &Vec<DataProcessing>
DataProcessing
workflows applied to spectra in
this data file.source§fn instrument_configurations(&self) -> &HashMap<u32, InstrumentConfiguration>
fn instrument_configurations(&self) -> &HashMap<u32, InstrumentConfiguration>
InstrumentConfiguration
modes that spectra
were acquired under.source§fn file_description(&self) -> &FileDescription
fn file_description(&self) -> &FileDescription
source§fn softwares(&self) -> &Vec<Software>
fn softwares(&self) -> &Vec<Software>
Software
applied to the data file to apply different
DataProcessing
methods.source§fn data_processings_mut(&mut self) -> &mut Vec<DataProcessing>
fn data_processings_mut(&mut self) -> &mut Vec<DataProcessing>
DataProcessing
list for this data filesource§fn instrument_configurations_mut(
&mut self
) -> &mut HashMap<u32, InstrumentConfiguration>
fn instrument_configurations_mut( &mut self ) -> &mut HashMap<u32, InstrumentConfiguration>
InstrumentConfiguration
mapping for this data filesource§fn file_description_mut(&mut self) -> &mut FileDescription
fn file_description_mut(&mut self) -> &mut FileDescription
FileDescription
description of the contents and the
sources for this mass spectrometry data file.source§fn softwares_mut(&mut self) -> &mut Vec<Software>
fn softwares_mut(&mut self) -> &mut Vec<Software>
Software
of this data file.source§fn spectrum_count_hint(&self) -> Option<u64>
fn spectrum_count_hint(&self) -> Option<u64>
source§fn run_description(&self) -> Option<&MassSpectrometryRun>
fn run_description(&self) -> Option<&MassSpectrometryRun>
MassSpectrometryRun
metadata record if it is availablesource§fn run_description_mut(&mut self) -> Option<&mut MassSpectrometryRun>
fn run_description_mut(&mut self) -> Option<&mut MassSpectrometryRun>
MassSpectrometryRun
metadata record if it is availablesource§fn copy_metadata_from(&mut self, source: &impl MSDataFileMetadata)
fn copy_metadata_from(&mut self, source: &impl MSDataFileMetadata)
MSDataFileMetadata
implementation into
this one.source§fn source_file_name(&self) -> Option<&str>
fn source_file_name(&self) -> Option<&str>
source§impl<C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MZFileReader<C, D> for MzMLReaderType<File, C, D>
impl<C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> MZFileReader<C, D> for MzMLReaderType<File, C, D>
source§fn open_file(source: File) -> Result<Self>
fn open_file(source: File) -> Result<Self>
source§fn construct_index_from_stream(&mut self) -> u64
fn construct_index_from_stream(&mut self) -> u64
source§fn read_index(&mut self, reader: Box<dyn Read>) -> Result<&Self, Error>
fn read_index(&mut self, reader: Box<dyn Read>) -> Result<&Self, Error>
fn write_index(&self, writer: Box<dyn Write>) -> Result<&Self, Error>
source§fn open_path<P>(path: P) -> Result<Self>
fn open_path<P>(path: P) -> Result<Self>
source§impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> RandomAccessSpectrumIterator<C, D> for MzMLReaderType<R, C, D>
impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> RandomAccessSpectrumIterator<C, D> for MzMLReaderType<R, C, D>
The iterator can also be updated to move to a different location in the stream efficiently.
source§fn start_from_id(&mut self, id: &str) -> Result<&mut Self, SpectrumAccessError>
fn start_from_id(&mut self, id: &str) -> Result<&mut Self, SpectrumAccessError>
id
source§fn start_from_index(
&mut self,
index: usize
) -> Result<&mut Self, SpectrumAccessError>
fn start_from_index( &mut self, index: usize ) -> Result<&mut Self, SpectrumAccessError>
index
source§fn start_from_time(
&mut self,
time: f64
) -> Result<&mut Self, SpectrumAccessError>
fn start_from_time( &mut self, time: f64 ) -> Result<&mut Self, SpectrumAccessError>
time
source§impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> SpectrumSource<C, D> for MzMLReaderType<R, C, D>
impl<R: SeekRead, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> SpectrumSource<C, D> for MzMLReaderType<R, C, D>
They can also be used to fetch specific spectra by ID, index, or start
time when the underlying file stream supports io::Seek
.
source§fn get_spectrum_by_id(&mut self, id: &str) -> Option<MultiLayerSpectrum<C, D>>
fn get_spectrum_by_id(&mut self, id: &str) -> Option<MultiLayerSpectrum<C, D>>
Retrieve a spectrum by it’s native ID
source§fn get_spectrum_by_index(
&mut self,
index: usize
) -> Option<MultiLayerSpectrum<C, D>>
fn get_spectrum_by_index( &mut self, index: usize ) -> Option<MultiLayerSpectrum<C, D>>
Retrieve a spectrum by it’s integer index
source§fn get_index(&self) -> &OffsetIndex
fn get_index(&self) -> &OffsetIndex
source§fn set_index(&mut self, index: OffsetIndex)
fn set_index(&mut self, index: OffsetIndex)
source§fn get_spectrum_by_time(&mut self, time: f64) -> Option<S>
fn get_spectrum_by_time(&mut self, time: f64) -> Option<S>
fn is_empty(&self) -> bool
source§fn _offset_of_index(&self, index: usize) -> Option<u64>
fn _offset_of_index(&self, index: usize) -> Option<u64>
source§fn _offset_of_time(&mut self, time: f64) -> Option<u64>
fn _offset_of_time(&mut self, time: f64) -> Option<u64>
source§fn iter(&mut self) -> SpectrumIterator<'_, C, D, S, Self> ⓘwhere
Self: Sized,
fn iter(&mut self) -> SpectrumIterator<'_, C, D, S, Self> ⓘwhere
Self: Sized,
source§fn groups(
&mut self
) -> SpectrumGroupingIterator<SpectrumIterator<'_, C, D, S, Self>, C, D, S> ⓘwhere
Self: Sized,
fn groups(
&mut self
) -> SpectrumGroupingIterator<SpectrumIterator<'_, C, D, S, Self>, C, D, S> ⓘwhere
Self: Sized,
SpectrumIterator
over self
and use that state to drive a SpectrumGroupIterator
source§fn into_groups(self) -> SpectrumGroupingIterator<Self, C, D, S> ⓘwhere
Self: Sized,
fn into_groups(self) -> SpectrumGroupingIterator<Self, C, D, S> ⓘwhere
Self: Sized,
Auto Trait Implementations§
impl<R, C, D> Freeze for MzMLReaderType<R, C, D>where
R: Freeze,
impl<R, C = CentroidPeak, D = DeconvolutedPeak> !RefUnwindSafe for MzMLReaderType<R, C, D>
impl<R, C, D> Send for MzMLReaderType<R, C, D>
impl<R, C, D> Sync for MzMLReaderType<R, C, D>
impl<R, C, D> Unpin for MzMLReaderType<R, C, D>
impl<R, C = CentroidPeak, D = DeconvolutedPeak> !UnwindSafe for MzMLReaderType<R, C, D>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<I> IntoIterator for Iwhere
I: Iterator,
impl<I> IntoIterator for Iwhere
I: Iterator,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.