Struct smbioslib::Header [−][src]
pub struct Header(_);
SMBIOS Header
The header part/section of a structure
Implementations
impl Header
[src]
impl Header
[src]pub const SIZE: usize
[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]
pub const STRUCT_TYPE_OFFSET: usize
[src]StructType offset (offset 0 and 1 bytes)
pub const LENGTH_OFFSET: usize
[src]
pub const LENGTH_OFFSET: usize
[src]Length offset (offset 1 and 1 bytes)
pub const HANDLE_OFFSET: usize
[src]
pub const HANDLE_OFFSET: usize
[src]Handle offset (offset 2 and 2 bytes)
pub fn struct_type(&self) -> u8
[src]
pub fn struct_type(&self) -> u8
[src]The type of SMBIOS structure
Methods from Deref<Target = [u8; 4]>
pub fn as_slice(&self) -> &[T]ⓘ
[src]
🔬 This is a nightly-only experimental API. (array_methods
)
pub fn as_slice(&self) -> &[T]ⓘ
[src]🔬 This is a nightly-only experimental API. (
array_methods
)Returns a slice containing the entire array. Equivalent to &s[..]
.
pub fn each_ref(&self) -> [&T; N]
[src]
🔬 This is a nightly-only experimental API. (array_methods
)
pub fn each_ref(&self) -> [&T; N]
[src]🔬 This is a nightly-only experimental API. (
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);