pub struct MessageList { /* private fields */ }Expand description
Encapsulates the messages array and count for a DBC
Uses Vec<Message> for dynamic sizing.
Implementations§
Source§impl MessageList
impl MessageList
Sourcepub fn iter(&self) -> impl Iterator<Item = &Message> + '_
pub fn iter(&self) -> impl Iterator<Item = &Message> + '_
Get an iterator over the messages
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM\n\nBO_ 256 Engine : 8 ECM")?;
let mut iter = dbc.messages().iter();
let message = iter.next().unwrap();
assert_eq!(message.name(), "Engine");
assert_eq!(message.id(), 256);
assert!(iter.next().is_none());Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the number of messages
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM\n\nBO_ 256 Engine : 8 ECM")?;
assert_eq!(dbc.messages().len(), 1);Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if there are no messages
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM")?;
assert!(dbc.messages().is_empty());Sourcepub fn at(&self, index: usize) -> Option<&Message>
pub fn at(&self, index: usize) -> Option<&Message>
Get a message by index, or None if index is out of bounds
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM\n\nBO_ 256 Engine : 8 ECM")?;
if let Some(message) = dbc.messages().at(0) {
assert_eq!(message.name(), "Engine");
}Sourcepub fn find(&self, name: &str) -> Option<&Message>
pub fn find(&self, name: &str) -> Option<&Message>
Find a message by name, or None if not found
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM\n\nBO_ 256 Engine : 8 ECM")?;
if let Some(message) = dbc.messages().find("Engine") {
assert_eq!(message.name(), "Engine");
assert_eq!(message.id(), 256);
}Sourcepub fn find_by_id(&self, id: u32) -> Option<&Message>
pub fn find_by_id(&self, id: u32) -> Option<&Message>
Find a message by CAN ID, or None if not found
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse("VERSION \"1.0\"\n\nBU_: ECM\n\nBO_ 256 Engine : 8 ECM")?;
if let Some(message) = dbc.messages().find_by_id(256) {
assert_eq!(message.name(), "Engine");
assert_eq!(message.id(), 256);
}Trait Implementations§
Source§impl Clone for MessageList
impl Clone for MessageList
Source§fn clone(&self) -> MessageList
fn clone(&self) -> MessageList
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MessageList
impl Debug for MessageList
Source§impl Hash for MessageList
impl Hash for MessageList
Source§impl PartialEq for MessageList
impl PartialEq for MessageList
impl Eq for MessageList
impl StructuralPartialEq for MessageList
Auto Trait Implementations§
impl Freeze for MessageList
impl RefUnwindSafe for MessageList
impl Send for MessageList
impl Sync for MessageList
impl Unpin for MessageList
impl UnwindSafe for MessageList
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