pub struct ZTArray<'a, T> { /* private fields */ }Expand description
Inflated version of a zero-terminated array with zero-copy iterator access.
Implementations§
Trait Implementations§
Source§impl<'a, T> DataType for ZTArray<'a, T>where
T: DataType,
<T as DataType>::BuilderForEncode: 'a,
<T as DataType>::BuilderForStruct<'a>: 'a,
impl<'a, T> DataType for ZTArray<'a, T>where
T: DataType,
<T as DataType>::BuilderForEncode: 'a,
<T as DataType>::BuilderForStruct<'a>: 'a,
const META: StructFieldMeta
Source§type BuilderForEncode = &'a [<T as DataType>::BuilderForEncode]
type BuilderForEncode = &'a [<T as DataType>::BuilderForEncode]
Always a reference
type BuilderForStruct<'unused> = &'a [<T as DataType>::BuilderForStruct<'a>]
type DecodeLifetime<'__next_lifetime> = ZTArray<'__next_lifetime, <T as DataType>::DecodeLifetime<'__next_lifetime>>
fn decode<'__next_lifetime>( buf: &mut &'__next_lifetime [u8], ) -> Result<<ZTArray<'a, T> as DataType>::DecodeLifetime<'__next_lifetime>, ParseError>
fn encode<'__buffer_lifetime, '__value_lifetime>( buf: &mut BufWriter<'__buffer_lifetime>, value: &'__value_lifetime <ZTArray<'a, T> as DataType>::BuilderForEncode, )
fn encode_usize<'a>(buf: &mut BufWriter<'a>, value: usize)
fn decode_usize(buf: &mut &[u8]) -> Result<usize, ParseError>
Source§impl<'a, T> IntoIterator for &ZTArray<'a, T>where
T: DataType,
impl<'a, T> IntoIterator for &ZTArray<'a, T>where
T: DataType,
Source§type Item = <T as DataType>::DecodeLifetime<'a>
type Item = <T as DataType>::DecodeLifetime<'a>
The type of the elements being iterated over.
Source§type IntoIter = ZTArrayIter<'a, T>
type IntoIter = ZTArrayIter<'a, T>
Which kind of iterator are we turning this into?
Source§impl<'a, T> IntoIterator for ZTArray<'a, T>where
T: DataType,
impl<'a, T> IntoIterator for ZTArray<'a, T>where
T: DataType,
Source§type Item = <T as DataType>::DecodeLifetime<'a>
type Item = <T as DataType>::DecodeLifetime<'a>
The type of the elements being iterated over.
Source§type IntoIter = ZTArrayIter<'a, T>
type IntoIter = ZTArrayIter<'a, T>
Which kind of iterator are we turning this into?
impl<'a, T> Copy for ZTArray<'a, T>where
T: Copy,
Auto Trait Implementations§
impl<'a, T> Freeze for ZTArray<'a, T>
impl<'a, T> RefUnwindSafe for ZTArray<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for ZTArray<'a, T>where
T: Send,
impl<'a, T> Sync for ZTArray<'a, T>where
T: Sync,
impl<'a, T> Unpin for ZTArray<'a, T>where
T: Unpin,
impl<'a, T> UnwindSafe for ZTArray<'a, T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more