Interfaces for allocator implementers.
These interfaces are intended for allocator implementers, not for pw_allocator consumers.
Submodules | |
| Size reports | |
| Generate code size reports for allocator implementations. | |
| Testing and debugging | |
| Test utilities for allocator implementers. | |
Classes | |
| class | pw::allocator::Capabilities |
| class | pw::Deallocator |
| Abstract interface for releasing memory. More... | |
Enumerations | |
| enum | pw::allocator::Capability : uint32_t { kCanAllocateArbitraryLayout = 1 << 0 , kImplementsGetRequestedLayout = 1 << 1 , kImplementsGetUsableLayout = 1 << 2 , kImplementsGetAllocatedLayout = 1 << 3 , kImplementsGetCapacity = 1 << 4 , kImplementsRecognizes = 1 << 5 , kSkipsDestroy = 1 << 6 } |
Functions | |
| constexpr bool | pw::allocator::operator== (const Capabilities &lhs, const Capabilities &rhs) |
| constexpr bool | pw::allocator::operator!= (const Capabilities &lhs, const Capabilities &rhs) |
| constexpr Capabilities | pw::allocator::operator| (const Capabilities &lhs, const Capabilities &rhs) |
| constexpr Capabilities | pw::allocator::operator& (const Capabilities &lhs, const Capabilities &rhs) |
| constexpr Capabilities | pw::allocator::operator^ (const Capabilities &lhs, const Capabilities &rhs) |
| enum pw::allocator::Capability : uint32_t |
Hints about optional methods implemented or optional behaviors requested by an allocator of a derived type.
Implementations can provide hints by passing capabilities to the base class constructor. These capabilities can be constructed by combining Capabilitys using logical operations.