pub struct Group {
pub description: String,
pub fields: IndexMap<String, FieldDefinition>,
pub bits: u32,
pub bit_order: BitOrder,
pub skip_if_not: Vec<Condition>,
pub skip_frequency_analysis: bool,
/* private fields */
}
Expand description
Group of related fields or components
Represents a logical grouping of fields in the bit-packed structure. Groups can contain both individual fields and nested sub-groups.
§Fields
_type
: Must be “group” (validated during parsing)description
: Optional description of the group’s purposefields
: Map of field names to their definitions (fields or sub-groups)
§Examples
root:
type: group
description: Main structure
fields:
header:
type: group
fields:
mode: 2
partition: 4
colors:
type: group
fields:
r:
type: group
fields:
R0: 5
R1: 5
Fields§
§description: String
§fields: IndexMap<String, FieldDefinition>
§bits: u32
Total bits calculated from children fields/groups
bit_order: BitOrder
The bit order of this group. Inherited by all the children unless explicitly overwritten.
skip_if_not: Vec<Condition>
§skip_frequency_analysis: bool
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Group
impl<'de> Deserialize<'de> for Group
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Group
impl RefUnwindSafe for Group
impl Send for Group
impl Sync for Group
impl Unpin for Group
impl UnwindSafe for Group
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more