pw_allocator: Return Range from SplitFreeListAllocator

This CL adds a method to get a Range of the blocks being tracked by a
SplitFreeListAllocator.

Change-Id: Iea05d5c36c2eabfeb90a5f8fc35e7817daad8baf
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/177807
Reviewed-by: Keir Mierle <keir@google.com>
Commit-Queue: Aaron Green <aarongreen@google.com>
Reviewed-by: Taylor Cramer <cramertj@google.com>
3 files changed
tree: c7d963c09994f6f54d377c5c3b4d1e116d61d5e9
  1. .allstar/
  2. .vscode/
  3. build_overrides/
  4. docker/
  5. docs/
  6. kudzu/
  7. pw_alignment/
  8. pw_allocator/
  9. pw_analog/
  10. pw_android_toolchain/
  11. pw_arduino_build/
  12. pw_assert/
  13. pw_assert_basic/
  14. pw_assert_log/
  15. pw_assert_tokenized/
  16. pw_assert_zephyr/
  17. pw_async/
  18. pw_async_basic/
  19. pw_base64/
  20. pw_bloat/
  21. pw_blob_store/
  22. pw_bluetooth/
  23. pw_bluetooth_hci/
  24. pw_bluetooth_profiles/
  25. pw_boot/
  26. pw_boot_cortex_m/
  27. pw_build/
  28. pw_build_info/
  29. pw_build_mcuxpresso/
  30. pw_bytes/
  31. pw_checksum/
  32. pw_chre/
  33. pw_chrono/
  34. pw_chrono_embos/
  35. pw_chrono_freertos/
  36. pw_chrono_rp2040/
  37. pw_chrono_stl/
  38. pw_chrono_threadx/
  39. pw_chrono_zephyr/
  40. pw_cli/
  41. pw_compilation_testing/
  42. pw_console/
  43. pw_containers/
  44. pw_cpu_exception/
  45. pw_cpu_exception_cortex_m/
  46. pw_crypto/
  47. pw_digital_io/
  48. pw_digital_io_mcuxpresso/
  49. pw_digital_io_rp2040/
  50. pw_docgen/
  51. pw_doctor/
  52. pw_emu/
  53. pw_env_setup/
  54. pw_file/
  55. pw_function/
  56. pw_fuzzer/
  57. pw_hdlc/
  58. pw_hex_dump/
  59. pw_i2c/
  60. pw_i2c_linux/
  61. pw_i2c_mcuxpresso/
  62. pw_ide/
  63. pw_interrupt/
  64. pw_interrupt_cortex_m/
  65. pw_interrupt_xtensa/
  66. pw_interrupt_zephyr/
  67. pw_intrusive_ptr/
  68. pw_kvs/
  69. pw_libc/
  70. pw_libcxx/
  71. pw_log/
  72. pw_log_android/
  73. pw_log_basic/
  74. pw_log_null/
  75. pw_log_rpc/
  76. pw_log_string/
  77. pw_log_tokenized/
  78. pw_log_zephyr/
  79. pw_malloc/
  80. pw_malloc_freelist/
  81. pw_metric/
  82. pw_minimal_cpp_stdlib/
  83. pw_module/
  84. pw_multibuf/
  85. pw_multisink/
  86. pw_package/
  87. pw_perf_test/
  88. pw_persistent_ram/
  89. pw_polyfill/
  90. pw_preprocessor/
  91. pw_presubmit/
  92. pw_protobuf/
  93. pw_protobuf_compiler/
  94. pw_random/
  95. pw_result/
  96. pw_ring_buffer/
  97. pw_router/
  98. pw_rpc/
  99. pw_rpc_transport/
  100. pw_rust/
  101. pw_snapshot/
  102. pw_software_update/
  103. pw_span/
  104. pw_spi/
  105. pw_spi_mcuxpresso/
  106. pw_status/
  107. pw_stm32cube_build/
  108. pw_stream/
  109. pw_stream_shmem_mcuxpresso/
  110. pw_stream_uart_linux/
  111. pw_stream_uart_mcuxpresso/
  112. pw_string/
  113. pw_symbolizer/
  114. pw_sync/
  115. pw_sync_baremetal/
  116. pw_sync_embos/
  117. pw_sync_freertos/
  118. pw_sync_stl/
  119. pw_sync_threadx/
  120. pw_sync_zephyr/
  121. pw_sys_io/
  122. pw_sys_io_ambiq_sdk/
  123. pw_sys_io_arduino/
  124. pw_sys_io_baremetal_lm3s6965evb/
  125. pw_sys_io_baremetal_stm32f429/
  126. pw_sys_io_emcraft_sf2/
  127. pw_sys_io_mcuxpresso/
  128. pw_sys_io_rp2040/
  129. pw_sys_io_stdio/
  130. pw_sys_io_stm32cube/
  131. pw_sys_io_zephyr/
  132. pw_system/
  133. pw_target_runner/
  134. pw_thread/
  135. pw_thread_embos/
  136. pw_thread_freertos/
  137. pw_thread_stl/
  138. pw_thread_threadx/
  139. pw_thread_zephyr/
  140. pw_tls_client/
  141. pw_tls_client_boringssl/
  142. pw_tls_client_mbedtls/
  143. pw_tokenizer/
  144. pw_tool/
  145. pw_toolchain/
  146. pw_toolchain_bazel/
  147. pw_trace/
  148. pw_trace_tokenized/
  149. pw_transfer/
  150. pw_unit_test/
  151. pw_unit_test_zephyr/
  152. pw_varint/
  153. pw_watch/
  154. pw_web/
  155. pw_work_queue/
  156. seed/
  157. targets/
  158. third_party/
  159. ts/
  160. zephyr/
  161. .bazelignore
  162. .bazelrc
  163. .black.toml
  164. .clang-format
  165. .clang-tidy
  166. .eslintrc.cjs
  167. .git-blame-ignore-revs
  168. .gitattributes
  169. .gitignore
  170. .gn
  171. .mypy.ini
  172. .prettierignore
  173. .prettierrc.cjs
  174. .pw_ide.yaml
  175. .pylintrc
  176. activate.bat
  177. Android.bp
  178. AUTHORS
  179. bootstrap.bat
  180. bootstrap.sh
  181. BUILD.bazel
  182. BUILD.gn
  183. BUILDCONFIG.gn
  184. CMakeLists.txt
  185. jest.config.ts
  186. Kconfig.zephyr
  187. LICENSE
  188. modules.gni
  189. OWNERS
  190. package-lock.json
  191. package.json
  192. pigweed.json
  193. PIGWEED_MODULES
  194. README.md
  195. rollup.config.js
  196. tsconfig.json
  197. WORKSPACE
README.md

Pigweed

Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.

For more information please see our website: https://pigweed.dev/.

Links