VipsInstance

Struct VipsInstance 

Source
pub struct VipsInstance {}
Expand description

A singleton instance to manage libvips initialization and shutdown.

§Example

use vips::*;

fn main() -> Result<()> {
    let _instance = VipsInstance::new("app_test", true)?;
    // Your libvips code here
    Ok(())
}

Implementations§

Source§

impl VipsInstance

Source

pub fn new(name: &str, leak_test: bool) -> Result<VipsInstance>

Create a new VipsInstance, initializing libvips. This can only be done once per program execution. Subsequent attempts will return an error.

§Arguments
  • name - Application name for libvips initialization.
  • leak_test - If true, enables leak testing in libvips.
§Errors

Returns an error if an instance already exists.

§Example
use vips::*;

fn main() -> Result<()> {
    let _instance = VipsInstance::new("app_test", true)?;
    // Your libvips code here
    Ok(())
}
§Safety Note

Shutdown Timing: The libvips library is automatically shut down when the VipsInstance is dropped (typically at the end of main()). Any operations referencing libvips after this point (such as in other static destructors or background threads) may result in undefined behavior. To avoid this, ensure all libvips operations are completed before the Vips Instance is dropped.

Trait Implementations§

Source§

impl Drop for VipsInstance

Source§

fn drop(&mut self)

Executes the destructor for this 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, 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.