pub struct StringRecordHeader(/* private fields */);Expand description
Header word for an FXT String record (RecordType = 2).
Implementations§
Source§impl StringRecordHeader
impl StringRecordHeader
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const STRING_LEN_MASK: u64
pub const STRING_LEN_MASK: u64
Unshifted bitmask of string_len.
Sourcepub const STRING_LEN_SHIFT: usize = 32
pub const STRING_LEN_SHIFT: usize = 32
Bit shift (i.e., the low bit) of string_len.
Sourcepub const STRING_INDEX_MASK: u64
pub const STRING_INDEX_MASK: u64
Unshifted bitmask of string_index.
Sourcepub const STRING_INDEX_SHIFT: usize = 16
pub const STRING_INDEX_SHIFT: usize = 16
Bit shift (i.e., the low bit) of string_index.
Sourcepub const RECORD_SIZE_MASK: u64
pub const RECORD_SIZE_MASK: u64
Unshifted bitmask of record_size.
Sourcepub const RECORD_SIZE_SHIFT: usize = 4
pub const RECORD_SIZE_SHIFT: usize = 4
Bit shift (i.e., the low bit) of record_size.
Sourcepub const RECORD_TYPE_MASK: u64
pub const RECORD_TYPE_MASK: u64
Unshifted bitmask of record_type.
Sourcepub const RECORD_TYPE_SHIFT: usize = 0
pub const RECORD_TYPE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of record_type.
Sourcepub const RECORD_TYPE_DEFAULT: u64
pub const RECORD_TYPE_DEFAULT: u64
Pre-shifted default value of the record_type field.
Sourcepub const FIELDS: [FieldMetadata<u64>; 4]
pub const FIELDS: [FieldMetadata<u64>; 4]
Metadata of all named fields in the layout.
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u64
Sourcepub const fn string_len(&self) -> u16
pub const fn string_len(&self) -> u16
The value of StringRecordHeader[46:32].
Sourcepub const fn set_string_len(&mut self, value: u16) -> &mut Self
pub const fn set_string_len(&mut self, value: u16) -> &mut Self
Sets the value of StringRecordHeader[46:32].
Sourcepub const fn string_index(&self) -> u16
pub const fn string_index(&self) -> u16
The value of StringRecordHeader[30:16].
Sourcepub const fn set_string_index(&mut self, value: u16) -> &mut Self
pub const fn set_string_index(&mut self, value: u16) -> &mut Self
Sets the value of StringRecordHeader[30:16].
Sourcepub const fn record_size(&self) -> u16
pub const fn record_size(&self) -> u16
The value of StringRecordHeader[15:4].
Sourcepub const fn set_record_size(&mut self, value: u16) -> &mut Self
pub const fn set_record_size(&mut self, value: u16) -> &mut Self
Sets the value of StringRecordHeader[15:4].
Sourcepub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
pub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
The value of StringRecordHeader[3:0].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_record_type to recover from invalid bit patterns.
Sourcepub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
pub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
Fallible variant of Self::record_type.
Sourcepub fn set_record_type(&mut self, value: RecordType) -> &mut Self
pub fn set_record_type(&mut self, value: RecordType) -> &mut Self
Sets the value of StringRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for StringRecordHeader
impl Binary for StringRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl Clone for StringRecordHeader
impl Clone for StringRecordHeader
Source§fn clone(&self) -> StringRecordHeader
fn clone(&self) -> StringRecordHeader
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for StringRecordHeader
Source§impl Debug for StringRecordHeader
impl Debug for StringRecordHeader
Source§impl Default for StringRecordHeader
impl Default for StringRecordHeader
Source§fn default() -> Self
fn default() -> Self
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.
impl Eq for StringRecordHeader
Source§impl From<StringRecordHeader> for u64
impl From<StringRecordHeader> for u64
Source§fn from(value: StringRecordHeader) -> Self
fn from(value: StringRecordHeader) -> Self
Source§impl From<u64> for StringRecordHeader
impl From<u64> for StringRecordHeader
Source§impl IntoIterator for StringRecordHeader
impl IntoIterator for StringRecordHeader
Source§impl<'a> IntoIterator for &'a StringRecordHeader
impl<'a> IntoIterator for &'a StringRecordHeader
Source§impl LowerHex for StringRecordHeader
impl LowerHex for StringRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl Octal for StringRecordHeader
impl Octal for StringRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Source§impl PartialEq for StringRecordHeader
impl PartialEq for StringRecordHeader
impl StructuralPartialEq for StringRecordHeader
Source§impl UpperHex for StringRecordHeader
impl UpperHex for StringRecordHeader
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
RecordType: Debug,
Auto Trait Implementations§
impl Freeze for StringRecordHeader
impl RefUnwindSafe for StringRecordHeader
impl Send for StringRecordHeader
impl Sync for StringRecordHeader
impl Unpin for StringRecordHeader
impl UnsafeUnpin for StringRecordHeader
impl UnwindSafe for StringRecordHeader
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)