![]() |
Mbed OS Reference
|
CacheAlignedBuffer type which allocates its backing buffer on the heap. More...
#include <CacheAlignedBuffer.h>
Public Member Functions | |
DynamicCacheAlignedBuffer (size_t capacity) | |
Construct new cache-aligned buffer. | |
DynamicCacheAlignedBuffer (DynamicCacheAlignedBuffer const &other) | |
Copy from other cache-aligned buffer. | |
DynamicCacheAlignedBuffer & | operator= (DynamicCacheAlignedBuffer const &other) |
Assign from other cache-aligned buffer with the same type. | |
DataT * | data () |
Get a pointer to the aligned data array inside the buffer. | |
DataT const * | data () const |
Get a pointer to the aligned data array inside the buffer (const version) | |
DataT & | operator[] (size_t index) |
Element access. | |
DataT | operator[] (size_t index) const |
Element access (const) | |
iterator | begin () |
Get iterator for start of buffer. | |
const_iterator | begin () const |
Get iterator for start of buffer. | |
iterator | end () |
Get iterator for end of buffer. | |
const_iterator | end () const |
Get iterator for end of buffer. | |
constexpr size_t | capacity () |
Static Protected Member Functions | |
static DataT * | findCacheLineStart (uint8_t *buffer) |
Find and return the first location in the given buffer that starts on a cache line. | |
Protected Attributes | |
DataT * | _alignedBufferPtr |
Pointer to the aligned buffer. Must be set in each constructor of each subclass. | |
size_t | _alignedBufferCapacity |
Capacity of the aligned buffer, in terms of number of DataT elements. | |
CacheAlignedBuffer type which allocates its backing buffer on the heap.
Use a DynamicCacheAlignedBuffer when you want to create a cache-aligned buffer with a size known only at runtime. When constructed, DynamicCacheAlignedBuffers allocate backing memory off the heap for the provided number of elements, plus a little extra for alignment. The memory will be deleted when the buffer object is destroyed.
DataT | Type of the data to store in the buffer. Note: CacheAlignedBuffer is not designed for using class types as DataT, and will not call constructors. |
Definition at line 285 of file CacheAlignedBuffer.h.