pub struct Version { /* private fields */ }Expand description
Represents a version string from a DBC file.
The VERSION statement in a DBC file specifies the database version.
This struct stores the version string as a borrowed reference.
§Examples
use dbc_rs::Dbc;
let dbc_content = r#"VERSION "1.0"
BU_: ECM
BO_ 256 Engine : 8 ECM
SG_ RPM : 0|16@1+ (0.25,0) [0|8000] "rpm"
"#;
let dbc = Dbc::parse(dbc_content)?;
if let Some(version) = dbc.version() {
// Access the raw string
assert_eq!(version.as_str(), "1.0");
// Display trait is available with std feature
#[cfg(feature = "std")]
{
println!("DBC version: {}", version);
}
}§Format
The version string can be any sequence of printable characters enclosed in quotes. Common formats include:
"1.0"- Simple semantic version"1.2.3"- Full semantic version"1.0-beta"- Version with suffix""- Empty version string (allowed)
Implementations§
Source§impl Version
impl Version
Sourcepub fn to_dbc_string(&self) -> String
pub fn to_dbc_string(&self) -> String
Converts the version to its DBC file representation.
Returns a string in the format: VERSION "version_string"
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse(r#"VERSION "1.0"
BU_: ECM
"#)?;
if let Some(version) = dbc.version() {
let dbc_string = version.to_dbc_string();
assert_eq!(dbc_string, "VERSION \"1.0\"");
}§Empty Version
Empty version strings are represented as VERSION "":
use dbc_rs::Dbc;
let dbc = Dbc::parse(r#"VERSION ""
BU_: ECM
"#)?;
if let Some(version) = dbc.version() {
assert_eq!(version.to_dbc_string(), "VERSION \"\"");
}§Feature Requirements
This method requires the std feature to be enabled.
Trait Implementations§
Source§impl Display for Version
Display implementation for Version.
impl Display for Version
Display implementation for Version.
Formats the version as just the version string (without the VERSION keyword or quotes).
§Examples
use dbc_rs::Dbc;
let dbc = Dbc::parse(r#"VERSION "1.2.3"
BU_: ECM
"#)?;
if let Some(version) = dbc.version() {
// Display trait formats as just the version string
assert_eq!(format!("{}", version), "1.2.3");
// Use to_dbc_string() for full DBC format (requires std feature)
#[cfg(feature = "std")]
assert_eq!(version.to_dbc_string(), "VERSION \"1.2.3\"");
}impl Eq for Version
impl StructuralPartialEq for Version
Auto Trait Implementations§
impl Freeze for Version
impl RefUnwindSafe for Version
impl Send for Version
impl Sync for Version
impl Unpin for Version
impl UnwindSafe for Version
Blanket Implementations§
§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
Mutably borrows from an owned value. Read more
§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)
🔬This is a nightly-only experimental API. (
clone_to_uninit)