/// A `Vec<u8>` with endianity metadata. /// /// This implements the `Writer` trait, which is used for all writing of DWARF sections. #[derive(Debug, Clone)] pubstruct EndianVec<Endian> where
Endian: Endianity,
{
vec: Vec<u8>,
endian: Endian,
}
impl<Endian> EndianVec<Endian> where
Endian: Endianity,
{ /// Construct an empty `EndianVec` with the given endianity. pubfn new(endian: Endian) -> EndianVec<Endian> {
EndianVec {
vec: Vec::new(),
endian,
}
}
/// Return a reference to the raw slice. pubfn slice(&self) -> &[u8] {
&self.vec
}
/// Convert into a `Vec<u8>`. pubfn into_vec(self) -> Vec<u8> { self.vec
}
/// Take any written data out of the `EndianVec`, leaving an empty `Vec` in its place. pubfn take(&mutself) -> Vec<u8> { letmut vec = Vec::new();
mem::swap(&mutself.vec, &mut vec);
vec
}
}
impl<Endian> Writer for EndianVec<Endian> where
Endian: Endianity,
{ type Endian = Endian;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.