idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
idfxx::memory Namespace Reference

Classes

struct  block
 Information about a single heap block, passed to walk callbacks. More...
 
struct  info
 Heap region statistics. More...
 
struct  region
 Information about a heap region, passed to walk callbacks. More...
 

Enumerations

enum class  caps : uint32_t {
  caps::access_32bit = MALLOC_CAP_32BIT ,
  caps::access_8bit = MALLOC_CAP_8BIT ,
  caps::dma = MALLOC_CAP_DMA ,
  caps::spiram = MALLOC_CAP_SPIRAM ,
  caps::internal = MALLOC_CAP_INTERNAL ,
  caps::default_heap = MALLOC_CAP_DEFAULT ,
  caps::iram = MALLOC_CAP_IRAM_8BIT ,
  caps::retention = MALLOC_CAP_RETENTION ,
  caps::rtc = MALLOC_CAP_RTCRAM ,
  caps::dma_desc_ahb = MALLOC_CAP_DMA_DESC_AHB ,
  caps::dma_desc_axi = MALLOC_CAP_DMA_DESC_AXI ,
  caps::cache_aligned = MALLOC_CAP_CACHE_ALIGNED ,
  caps::dram = internal | access_8bit
}
 Memory capability flags for heap allocations. More...
 

Functions

size_t total_size (flags< caps > c) noexcept
 Returns the total size of heap regions matching the given capabilities.
 
size_t free_size (flags< caps > c) noexcept
 Returns the current free size of heap regions matching the given capabilities.
 
size_t largest_free_block (flags< caps > c) noexcept
 Returns the largest free block in heap regions matching the given capabilities.
 
size_t minimum_free_size (flags< caps > c) noexcept
 Returns the minimum free size since boot for heap regions matching the given capabilities.
 
info get_info (flags< caps > c) noexcept
 Returns detailed heap statistics for regions matching the given capabilities.
 
template<typename F >
void walk (flags< caps > c, F &&walker)
 Walk all heap blocks in regions matching the given capabilities.
 
template<typename F >
void walk (F &&walker)
 Walk all heap blocks across all heaps.
 
bool check_integrity (flags< caps > c, bool print_errors=false) noexcept
 Check integrity of heaps with the given capabilities, or all heaps.
 
bool check_integrity (bool print_errors=false) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void dump (flags< caps > c) noexcept
 Dump the structure of heaps with matching capabilities, or all heaps.
 
void dump () noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.