|
scc 2025.09
SystemC components library
|
a sparse array suitable for large sizes with compile time constants for performance More...
#include <sparse_array.h>
Public Types | |
| using | page_type = std::array<T, 1 << PAGE_ADDR_BITS> |
Public Member Functions | |
| sparse_array () | |
| ~sparse_array () | |
| T & | operator[] (uint32_t addr) |
| page_type & | operator() (uint32_t page_nr) |
| bool | is_allocated (uint32_t addr) |
| uint64_t | size () |
Static Public Attributes | |
| static constexpr uint64_t | page_addr_mask = (1 << PAGE_ADDR_BITS) - 1 |
| static constexpr uint64_t | page_size = (1 << PAGE_ADDR_BITS) |
| static constexpr unsigned | page_count = (SIZE + page_size - 1) / page_size |
| static constexpr uint64_t | page_addr_width = PAGE_ADDR_BITS |
Protected Attributes | |
| std::array< page_type *, SIZE/(1<< PAGE_ADDR_BITS)+1 > | arr |
a sparse array suitable for large sizes with compile time constants for performance
a simple array which allocates memory in configurable chunks (size of 2^PAGE_ADDR_BITS), used for large sparse arrays. Memory is allocated on demand
Definition at line 123 of file sparse_array.h.
| using util::sparse_array< T, SIZE, PAGE_ADDR_BITS >::page_type = std::array<T, 1 << PAGE_ADDR_BITS> |
Definition at line 135 of file sparse_array.h.
|
inline |
the default constructor
Definition at line 139 of file sparse_array.h.
|
inline |
the destructor
Definition at line 143 of file sparse_array.h.
|
inline |
check if page for address is allocated
| addr | the address to check |
Definition at line 178 of file sparse_array.h.
|
inline |
page fetch operator
| page_nr | the page number ot fetch |
Definition at line 166 of file sparse_array.h.
|
inline |
element access operator
| addr | address to access |
Definition at line 153 of file sparse_array.h.
|
inline |
|
protected |
Definition at line 191 of file sparse_array.h.
|
staticconstexpr |
Definition at line 127 of file sparse_array.h.
|
staticconstexpr |
Definition at line 133 of file sparse_array.h.
|
staticconstexpr |
Definition at line 131 of file sparse_array.h.
|
staticconstexpr |
Definition at line 129 of file sparse_array.h.