Skip to main content

FieldDefinition

Struct FieldDefinition 

Source
pub struct FieldDefinition {
    pub field_def_num: u8,
    pub size: u8,
    pub base_type: BaseType,
    pub base_type_byte: u8,
}
Expand description

One field’s wire-level shape inside a Definition message.

Fields§

§field_def_num: u8

The Profile-level field identifier.

§size: u8

Total byte width on the wire. May exceed the BaseType element size when the field is an array (e.g. size = 4 with BaseType::UInt16 means a length-2 array of u16).

§base_type: BaseType

Decoded base type (after masking off the endian flag).

§base_type_byte: u8

Raw base-type byte preserved verbatim — useful when round-tripping in the encoder (M8) and for diagnostics.

Implementations§

Source§

impl FieldDefinition

Source

pub fn element_count(&self) -> usize

Number of array elements implied by size and the base-type stride. Returns 0 when size is not a multiple of the element size (malformed definition); callers may treat this as an error or skip the field.

Trait Implementations§

Source§

impl Clone for FieldDefinition

Source§

fn clone(&self) -> FieldDefinition

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FieldDefinition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for FieldDefinition

Source§

fn eq(&self, other: &FieldDefinition) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for FieldDefinition

Source§

impl Eq for FieldDefinition

Source§

impl StructuralPartialEq for FieldDefinition

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.