pub struct ExpressionEvaluator<'a> { /* private fields */ }
Expand description
Expression evaluator for format specifications ExifTool: lib/Image/ExifTool.pm:9853-9856 eval mechanism for $val{} expressions
Implementations§
Source§impl<'a> ExpressionEvaluator<'a>
impl<'a> ExpressionEvaluator<'a>
Sourcepub fn new(
val_hash: HashMap<u32, DataMemberValue>,
data_members: &'a HashMap<String, DataMemberValue>,
) -> Self
pub fn new( val_hash: HashMap<u32, DataMemberValue>, data_members: &'a HashMap<String, DataMemberValue>, ) -> Self
Create new expression evaluator
Sourcepub fn evaluate_count_expression(&self, expr: &str) -> Result<usize, ExifError>
pub fn evaluate_count_expression(&self, expr: &str) -> Result<usize, ExifError>
Evaluate a format expression to get a count value ExifTool: lib/Image/ExifTool.pm:9853-9856 eval $count mechanism
Sourcepub fn resolve_format(
&self,
spec: &FormatSpec,
) -> Result<ResolvedFormat, ExifError>
pub fn resolve_format( &self, spec: &FormatSpec, ) -> Result<ResolvedFormat, ExifError>
Resolve a format specification by evaluating any expressions
Sourcepub fn evaluate_complex_expression(
&self,
expr: &str,
) -> Result<usize, ExifError>
pub fn evaluate_complex_expression( &self, expr: &str, ) -> Result<usize, ExifError>
Evaluate complex mathematical expressions ExifTool: Complex expression evaluation like “int(($val{0}+15)/16)” Reference: third-party/exiftool/lib/Image/ExifTool/Canon.pm:4480
Sourcepub fn set_val(&mut self, index: u32, value: DataMemberValue)
pub fn set_val(&mut self, index: u32, value: DataMemberValue)
Update the $val hash with a new value
Auto Trait Implementations§
impl<'a> Freeze for ExpressionEvaluator<'a>
impl<'a> RefUnwindSafe for ExpressionEvaluator<'a>
impl<'a> Send for ExpressionEvaluator<'a>
impl<'a> Sync for ExpressionEvaluator<'a>
impl<'a> Unpin for ExpressionEvaluator<'a>
impl<'a> UnwindSafe for ExpressionEvaluator<'a>
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