|
constexpr | FaultInjectingAllocator (Allocator &allocator) |
|
void | EnableAll () |
| Forward Allocate , Resize , and Reallocate calls to the allocator.
|
|
void | DisableAll () |
|
void | EnableAllocate () |
| Forward Allocate calls to the allocator.
|
|
void | DisableAllocate () |
| Return nullptr for Allocate calls.
|
|
void | EnableResize () |
| Forward Resize calls to the allocator.
|
|
void | DisableResize () |
| Return false for Resize calls.
|
|
void | EnableReallocate () |
| Forward Reallocate calls to the allocator.
|
|
void | DisableReallocate () |
| Return nullptr for Reallocate calls.
|
|
Allocator & | real_allocator () |
| Returns a reference to the wrapped allocator.
|
|
void * | Allocate (Layout layout) |
|
template<typename T , int &... kExplicitGuard, typename... Args> |
std::enable_if_t<!std::is_array_v< T >, T * > | New (Args &&... args) |
|
template<typename T , int &... kExplicitGuard, typename ElementType = std::remove_extent_t<T>, std::enable_if_t< is_bounded_array_v< T >, int > = 0> |
ElementType * | New () |
|
template<typename T , int &... kExplicitGuard, typename ElementType = std::remove_extent_t<T>, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
ElementType * | New (size_t count) |
|
template<typename T , int &... kExplicitGuard, typename ElementType = std::remove_extent_t<T>, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
ElementType * | New (size_t count, size_t alignment) |
| Constructs an alignment -byte aligned array of count objects.
|
|
template<typename T > |
T * | NewArray (size_t count) |
|
template<typename T > |
T * | NewArray (size_t count, size_t alignment) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t<!std::is_array_v< T >, int > = 0, typename... Args> |
UniquePtr< T > | MakeUnique (Args &&... args) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
UniquePtr< T > | MakeUnique (size_t size) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
UniquePtr< T > | MakeUnique (size_t size, size_t alignment) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_bounded_array_v< T >, int > = 0> |
UniquePtr< T > | MakeUnique () |
|
template<typename T > |
UniquePtr< T[]> | MakeUniqueArray (size_t size) |
|
template<typename T > |
UniquePtr< T[]> | MakeUniqueArray (size_t size, size_t alignment) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t<!std::is_array_v< T >, int > = 0, typename... Args> |
SharedPtr< T > | MakeShared (Args &&... args) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
SharedPtr< T > | MakeShared (size_t size) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
SharedPtr< T > | MakeShared (size_t size, size_t alignment) |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_bounded_array_v< T >, int > = 0> |
SharedPtr< T > | MakeShared () |
|
bool | Resize (void *ptr, size_t new_size) |
|
bool | Resize (void *ptr, Layout layout, size_t new_size) |
|
void * | Reallocate (void *ptr, Layout new_layout) |
|
void * | Reallocate (void *ptr, Layout old_layout, size_t new_size) |
|
size_t | GetAllocated () const |
|
constexpr const Capabilities & | capabilities () const |
|
bool | HasCapability (Capability capability) const |
| Returns whether a given capability is enabled for this object.
|
|
void | Deallocate (void *ptr) |
|
void | Deallocate (void *ptr, Layout layout) |
|
template<typename ElementType > |
void | DeleteArray (ElementType *ptr, size_t count) |
|
StatusWithSize | GetCapacity () const |
|
bool | IsEqual (const Deallocator &other) const |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t<!std::is_array_v< T >, int > = 0> |
void | Delete (T *ptr) |
|
template<typename T , int &... kExplicitGuard, typename ElementType = std::remove_extent_t<T>, std::enable_if_t< is_bounded_array_v< T >, int > = 0> |
void | Delete (ElementType *ptr) |
|
template<typename T , int &... kExplicitGuard, typename ElementType = std::remove_extent_t<T>, std::enable_if_t< is_unbounded_array_v< T >, int > = 0> |
void | Delete (ElementType *ptr, size_t count) |
|