Crate memory_pool [] [src]

A Rust library providing a global, thread-safe memory pool, ideal for when you need a temporary scratch buffer but you don't want to be constantly allocating memory.

memory_pool::borrow( |aux: &mut String| {
    aux.push_str( "Do you like cupcakes?" );
});
memory_pool::borrow( |vec: &mut Vec< u32 >| {
    vec.push( 1 );
    vec.push( 2 );
    vec.push( 3 );
});

You can also manually acquire and release memory:

let buffer: String = memory_pool::acquire();
buffer.push_str( "I like cupcakes!" );
memory_pool::release( buffer );

Functions

acquire

Constructs an object of type T with memory from the thread-local pool.

borrow

Constructs a temporary instance of T using the memory from the thread-local pool.

release

Destroys the value and transfers its internal memory buffer back into the thread-local pool.