Struct write_into::SizedSequence
source · [−]pub struct SizedSequence<T, S, F>(pub F, pub T)
where
T: IntoIterator,
T::Item: WriteInto,
T::IntoIter: ExactSizeIterator,
S: WriteInto,
F: FnOnce(usize) -> S;
Expand description
Used to write values from IntoIterator
with known size.
Example
use write_into::{BigEndian, SizedSequence, write_into};
let mut buffer = Vec::new();
let written = write_into(&mut buffer, SizedSequence(|size| BigEndian(size as u16), &[
BigEndian(0xAABBu16),
BigEndian(0xCCDDu16),
])).unwrap();
assert_eq!(written, 2);
assert_eq!(&buffer, &[0x00, 0x02, 0xAA, 0xBB, 0xCC, 0xDD]);
Tuple Fields
0: F
1: T
Trait Implementations
sourceimpl<T, S, F> WriteInto for SizedSequence<T, S, F> where
T: IntoIterator,
T::Item: WriteInto,
T::IntoIter: ExactSizeIterator,
S: WriteInto,
F: FnOnce(usize) -> S,
impl<T, S, F> WriteInto for SizedSequence<T, S, F> where
T: IntoIterator,
T::Item: WriteInto,
T::IntoIter: ExactSizeIterator,
S: WriteInto,
F: FnOnce(usize) -> S,
Returns how many items was written.
type Output = usize
type Output = usize
Result of WriteInto::write_into
function (e.g. ()
or usize
).
sourcefn write_into(self, sink: &mut impl Write) -> Result<Self::Output>
fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>
Writes value into I/O sink.
sourceimpl<T, S, F> WriteInto for &SizedSequence<T, S, F> where
T: Copy + IntoIterator,
T::Item: WriteInto,
T::IntoIter: ExactSizeIterator,
S: WriteInto,
F: Copy + FnOnce(usize) -> S,
impl<T, S, F> WriteInto for &SizedSequence<T, S, F> where
T: Copy + IntoIterator,
T::Item: WriteInto,
T::IntoIter: ExactSizeIterator,
S: WriteInto,
F: Copy + FnOnce(usize) -> S,
Returns how many items was written.
type Output = usize
type Output = usize
Result of WriteInto::write_into
function (e.g. ()
or usize
).
sourcefn write_into(self, sink: &mut impl Write) -> Result<Self::Output>
fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>
Writes value into I/O sink.
Auto Trait Implementations
impl<T, S, F> RefUnwindSafe for SizedSequence<T, S, F> where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, S, F> Send for SizedSequence<T, S, F> where
F: Send,
T: Send,
impl<T, S, F> Sync for SizedSequence<T, S, F> where
F: Sync,
T: Sync,
impl<T, S, F> Unpin for SizedSequence<T, S, F> where
F: Unpin,
T: Unpin,
impl<T, S, F> UnwindSafe for SizedSequence<T, S, F> where
F: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more