Crate owned_alloc
source ·Expand description
Owned Allocations. A crate to help reducing manual memory management errors.
The idea is to use a type like UninitAlloc for uninitialized dynamic
allocations. After initializing it, you have a OwnedAlloc which is pretty
similar to a Box. However, unlike a Box, you may move the value out from
the OwnedAlloc and getting an UninitAlloc back.
For vec-like structures, a type RawVec is available, pretty similar to the
one used by the standard library. Currently, no other help is provided for
arrays/vectors.
There is also a type Cache, which is actually more general than
allocation, but may be useful for allocations. It can save unused
allocations requested on a tight loop.
Structs
Error returned from the allocator.
A general purpouse cache suitable for saving discarted memory allocations in
a tight loop.
Error caused by invalid size or alignment.
Dynamic allocation of a
T whose memory is considered fully initialized.
The allocation and its content are freed on drop. Similar to a Box. If
the size of the allocation is zero, no allocation is performed and a
dangling pointer is used (just like in std). For the drop checker, the
type acts as if it contains a T due to usage of PhantomData<T>.Raw Vector allocation. This allocation, instead of holding a pointer to a
single
T, holds a pointer to as many T are required. The allocation is
resizable and is freed on drop. No initialization or deinitialization of
the elements is performed. This type may be useful for Vec-like types. If
the size of the allocation is zero, no allocation is performed and a
dangling pointer is used (just like in std). For the drop checker, the
type acts as if it contains a T due to usage of PhantomData<T>.Dynamic allocation of a
T whose memory is considered uninitialized. The
allocation is freed on drop. If the size of the allocation is zero, no
allocation is performed and a dangling pointer is used (just like in std).
For the drop checker, the type acts as if it contains a T due to usage of
PhantomData<T>.Enums
Pointer to memory allocaation that might be either initialized or
uninitialized. For the drop checker, the type acts as if it contains a
T
due to usage of PhantomData<T>.Errors returned by the
RawVec.