OfxMemorySuiteV1

Struct OfxMemorySuiteV1 

Source
#[repr(C)]
pub struct OfxMemorySuiteV1 { pub memoryAlloc: Option<unsafe extern "C" fn(handle: *mut c_void, nBytes: usize, allocatedData: *mut *mut c_void) -> OfxStatus>, pub memoryFree: Option<unsafe extern "C" fn(allocatedData: *mut c_void) -> OfxStatus>, }
Expand description

@brief The OFX suite that implements general purpose memory management.

Use this suite for ordinary memory management functions, where you would normally use malloc/free or new/delete on ordinary objects.

For images, you should use the memory allocation functions in the image effect suite, as many hosts have specific image memory pools.

\note C++ plugin developers will need to redefine new and delete as skins ontop of this suite.

Fields§

§memoryAlloc: Option<unsafe extern "C" fn(handle: *mut c_void, nBytes: usize, allocatedData: *mut *mut c_void) -> OfxStatus>

@brief Allocate memory.

\arg handle - effect instance to assosciate with this memory allocation, or NULL. \arg nBytes - the number of bytes to allocate \arg allocatedData - a pointer to the return value. Allocated memory will be alligned for any use.

This function has the host allocate memory using its own memory resources and returns that to the plugin.

@returns

  • ::kOfxStatOK the memory was sucessfully allocated
  • ::kOfxStatErrMemory the request could not be met and no memory was allocated
§memoryFree: Option<unsafe extern "C" fn(allocatedData: *mut c_void) -> OfxStatus>

@brief Frees memory.

\arg allocatedData - pointer to memory previously returned by OfxMemorySuiteV1::memoryAlloc

This function frees any memory that was previously allocated via OfxMemorySuiteV1::memoryAlloc.

@returns

  • ::kOfxStatOK the memory was sucessfully freed
  • ::kOfxStatErrBadHandle \e allocatedData was not a valid pointer returned by OfxMemorySuiteV1::memoryAlloc

Trait Implementations§

Source§

impl Clone for OfxMemorySuiteV1

Source§

fn clone(&self) -> OfxMemorySuiteV1

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 OfxMemorySuiteV1

Source§

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

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

impl Copy for OfxMemorySuiteV1

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> 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.