Struct smbioslib::Header [−][src]
SMBIOS Header
The header part/section of a structure
Implementations
impl Header
[src]
pub const SIZE: usize
[src]
Total size of a Header (4)
A header has a byte for the struct_type at offset 0, a byte for the length at offset 1, and a word for the handle at offset 2 for a total of 4 bytes.
pub const STRUCT_TYPE_OFFSET: usize
[src]
StructType offset (offset 0 and 1 bytes)
pub const LENGTH_OFFSET: usize
[src]
Length offset (offset 1 and 1 bytes)
pub const HANDLE_OFFSET: usize
[src]
Handle offset (offset 2 and 2 bytes)
pub fn new(data: [u8; 4]) -> Self
[src]
Creates a new Header struct
pub fn struct_type(&self) -> u8
[src]
The type of SMBIOS structure
pub fn length(&self) -> u8
[src]
The length of the structure not including the strings part/section
pub fn handle(&self) -> Handle
[src]
The handle of this structure instance
pub fn iter(&self) -> Iter<'_, u8>
[src]
Byte iterator of the header
Methods from Deref<Target = [u8; 4]>
pub fn as_slice(&self) -> &[T]ⓘ
[src]
array_methods
)Returns a slice containing the entire array. Equivalent to &s[..]
.
pub fn each_ref(&self) -> [&T; N]
[src]
array_methods
)Borrows each element and returns an array of references with the same
size as self
.
Example
#![feature(array_methods)] let floats = [3.1, 2.7, -1.0]; let float_refs: [&f64; 3] = floats.each_ref(); assert_eq!(float_refs, [&3.1, &2.7, &-1.0]);
This method is particularly useful if combined with other methods, like
map
. This way, you can avoid moving the original
array if its elements are not Copy
.
#![feature(array_methods, array_map)] let strings = ["Ferris".to_string(), "♥".to_string(), "Rust".to_string()]; let is_ascii = strings.each_ref().map(|s| s.is_ascii()); assert_eq!(is_ascii, [true, false, true]); // We can still access the original array: it has not been moved. assert_eq!(strings.len(), 3);
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut Tⓘ
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,