[][src]Struct ofx_sys::OfxMemorySuiteV1

#[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>, }

@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

impl Clone for OfxMemorySuiteV1[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for OfxMemorySuiteV1[src]

impl Debug for OfxMemorySuiteV1[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]