|
BlockType::Range | blocks () const |
|
BlockType::Range | blocks () |
|
const metric::Group & | metric_group () const |
|
metric::Group & | metric_group () |
|
const MetricsType & | metrics () const |
|
size_t | allocate_size () const |
|
void * | deallocate_ptr () const |
|
size_t | deallocate_size () const |
|
void * | resize_ptr () const |
|
size_t | resize_old_size () const |
|
size_t | resize_new_size () const |
|
void | ResetParameters () |
| Resets the recorded parameters to an initial state.
|
|
void | Exhaust () |
| Allocates all the memory from this object.
|
|
Fragmentation | MeasureFragmentation () const |
| Returns fragmentation information for the block allocator's memory region.
|
|
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_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) |
|
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 > |
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< is_bounded_array_v< T >, int > = 0, typename... Args> |
void | MakeUnique (Args &&...)=delete |
|
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, typename... Args> |
std::enable_if_t< is_bounded_array_v< T > > | MakeShared (Args &&...)=delete |
|
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 capabilityis enabled for this object.
|
|
void | Deallocate (void *ptr) |
|
void | Deallocate (void *ptr, Layout layout) |
|
template<typename T > |
void | Delete (T *ptr) |
|
StatusWithSize | GetCapacity () const |
|
bool | IsEqual (const Deallocator &other) const |
|
template<typename T , int &... kExplicitGuard, std::enable_if_t< is_bounded_array_v< T >, int > = 0, typename... Args> |
void | WrapUnique (Args &&...)=delete |
|
template<size_t kBufferSize, typename BlockType_ = FirstFitBlock<uint32_t>, typename MetricsType = internal::AllMetrics>
class pw::allocator::test::AllocatorForTest< kBufferSize, BlockType_, MetricsType >
An AllocatorForTest
that is automatically initialized on construction.
template<size_t kBufferSize, typename BlockType_ = FirstFitBlock<uint32_t>, typename MetricsType = internal::AllMetrics>
|
inlineoverrideprivatevirtual |
Modifies the size of an previously-allocated block of memory without copying any data.
Returns true if its size was changed without copying data to a new allocation; otherwise returns false.
In particular, it always returns true if the old_layout.size()
equals new_size
, and always returns false if the given pointer is null, the old_layout.size()
is 0, or the new_size
is 0.
- Parameters
-
[in] | ptr | Pointer to previously-allocated memory. |
[in] | new_size | Requested new size for the memory allocation. |
Reimplemented from pw::Allocator.