Struct kiwi_schema::Def [−][src]
pub struct Def { pub name: String, pub index: i32, pub kind: DefKind, pub fields: Vec<Field>, pub field_value_to_index: HashMap<u32, usize>, pub field_name_to_index: HashMap<String, usize>, }
Represents a single definition in a Schema. Kiwi enums, structs, and messages are all represented using this object.
Fields
name: String
The name of this field from the textual Kiwi schema.
index: i32
The index of this Def in the defs
field of the parent
Schema. This is used as the type
identifier for any fields with this type.
kind: DefKind
fields: Vec<Field>
All fields in this definition. The order matters for struct definitions.
field_value_to_index: HashMap<u32, usize>
Maps the value
and name
members of each Field in
the fields
array to its index in that array. This is helpful when
decoding and encoding a field to be able to quickly get to the field
metadata.
field_name_to_index: HashMap<String, usize>
Methods
impl Def
[src]
impl Def
pub fn new(name: String, kind: DefKind, fields: Vec<Field>) -> Def
[src]
pub fn new(name: String, kind: DefKind, fields: Vec<Field>) -> Def
pub fn field(&self, name: &str) -> Option<&Field>
[src]
pub fn field(&self, name: &str) -> Option<&Field>
Returns the Field with the provided name if one exists.
Trait Implementations
impl Debug for Def
[src]
impl Debug for Def
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl PartialEq for Def
[src]
impl PartialEq for Def