Struct Registry

Source
pub struct Registry { /* private fields */ }
Expand description

Core registry for conversion function lookup

The registry maps function names to actual function pointers. This enables runtime dispatch without code generation.

Implementations§

Source§

impl Registry

Source

pub fn new() -> Self

Create new empty registry

Source

pub fn register_print_conv( &mut self, name: impl Into<String>, func: PrintConvFn, )

Register a PrintConv function

§Arguments
  • name - Function name (e.g., “exif_orientation”)
  • func - Function pointer
Source

pub fn register_value_conv( &mut self, name: impl Into<String>, func: ValueConvFn, )

Register a ValueConv function

§Arguments
  • name - Function name (e.g., “apex_shutter_speed”)
  • func - Function pointer
Source

pub fn apply_print_conv(&mut self, name: &str, value: &TagValue) -> TagValue

Look up and execute a PrintConv function

§Arguments
  • name - Function name to look up
  • value - Value to convert
§Returns

Converted value (string or numeric), or the original value if not found

Source

pub fn apply_value_conv(&mut self, name: &str, value: &TagValue) -> TagValue

Look up and execute a ValueConv function

§Arguments
  • name - Function name to look up
  • value - Value to convert
§Returns

Converted value, or original value if not found or conversion failed

Source

pub fn get_missing_print_conv(&self) -> Vec<String>

Get list of missing PrintConv implementations

Source

pub fn get_missing_value_conv(&self) -> Vec<String>

Get list of missing ValueConv implementations

Source

pub fn get_print_conv_stats(&self) -> (usize, usize, usize)

Get PrintConv coverage statistics

Source

pub fn clear_missing_tracking(&mut self)

Clear all missing implementation tracking (useful for testing)

Trait Implementations§

Source§

impl Debug for Registry

Source§

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

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

impl Default for Registry

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more