Mbed OS Reference
Loading...
Searching...
No Matches
DynamicCacheAlignedBuffer< DataT > Class Template Reference

CacheAlignedBuffer type which allocates its backing buffer on the heap. More...

#include <CacheAlignedBuffer.h>

Inheritance diagram for DynamicCacheAlignedBuffer< DataT >:
CacheAlignedBuffer< DataT >

Public Member Functions

 DynamicCacheAlignedBuffer (size_t capacity)
 Construct new cache-aligned buffer. More...
 
 DynamicCacheAlignedBuffer (DynamicCacheAlignedBuffer const &other)
 Copy from other cache-aligned buffer. More...
 
DynamicCacheAlignedBufferoperator= (DynamicCacheAlignedBuffer const &other)
 Assign from other cache-aligned buffer with the same type. More...
 
DataT * data ()
 Get a pointer to the aligned data array inside the buffer. More...
 
DataT const * data () const
 Get a pointer to the aligned data array inside the buffer (const version) More...
 
DataT & operator[] (size_t index)
 Element access. More...
 
DataT operator[] (size_t index) const
 Element access (const) More...
 
iterator begin ()
 Get iterator for start of buffer. More...
 
const_iterator begin () const
 Get iterator for start of buffer. More...
 
iterator end ()
 Get iterator for end of buffer. More...
 
const_iterator end () const
 Get iterator for end of buffer. More...
 
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. More...
 

Protected Attributes

DataT * _alignedBufferPtr
 Pointer to the aligned buffer. Must be set in each constructor of each subclass. More...
 
size_t _alignedBufferCapacity
 Capacity of the aligned buffer, in terms of number of DataT elements. More...
 

Detailed Description

template<typename DataT>
class mbed::DynamicCacheAlignedBuffer< DataT >

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. The memory will be released when the buffer object is destroyed.

Template Parameters
DataTType 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 284 of file CacheAlignedBuffer.h.