VersionInfo

Struct VersionInfo 

Source
pub struct VersionInfo<'a> { /* private fields */ }
Expand description

Version Information.

Implementations§

Source§

impl<'a> VersionInfo<'a>

Source

pub fn try_from(bytes: &'a [u8]) -> Result<VersionInfo<'a>>

Source

pub fn fixed(self) -> Option<&'a VS_FIXEDFILEINFO>

Gets the fixed file information if available.

Queries \.

Source

pub fn translation(self) -> &'a [Language]

Gets the available languages.

Queries \VarFileInfo\Translation.

Source

pub fn value(self, lang: Language, key: &str) -> Option<String>

Gets a string value by name.

Queries \StringFileInfo\{lang}\{key}

Source

pub fn strings<F: FnMut(&str, &str)>(self, lang: Language, f: F)

Iterates over all the strings’ keys and values of a given language.

Queries \StringFileInfo\{lang}\*

Source

pub fn file_info(self) -> FileInfo<'a>

Parse the version info into HashMaps.

Source

pub fn source_code(self) -> String

Renders the version info back into its source code form.

Source

pub fn visit(self, visit: &mut dyn Visit<'a>)

Parse the version information.

Because of the super convoluted format, the visitor pattern is used. Implement the Visit trait to get the desired information.

To keep the API simple all errors are ignored, any invalid or corrupted data is skipped.

Trait Implementations§

Source§

impl<'a> Clone for VersionInfo<'a>

Source§

fn clone(&self) -> VersionInfo<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for VersionInfo<'_>

Source§

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

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

impl<'a> Copy for VersionInfo<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for VersionInfo<'a>

§

impl<'a> RefUnwindSafe for VersionInfo<'a>

§

impl<'a> Send for VersionInfo<'a>

§

impl<'a> Sync for VersionInfo<'a>

§

impl<'a> Unpin for VersionInfo<'a>

§

impl<'a> UnwindSafe for VersionInfo<'a>

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.