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
.