C/C++ API Reference
Loading...
Searching...
No Matches
Implementation interfaces

Overview

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)
 

Enumeration Type Documentation

◆ Capability

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.