From 3f5bd39ed8e5a38a7d44052c7be29b73a62d5de3 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Tue, 3 Feb 2026 01:05:36 -0500 Subject: [PATCH] xo-interpreter2 .. xo-arena. memory pool introspection --- include/xo/tokenizer2/Tokenizer.hpp | 8 +++----- src/tokenizer2/Tokenizer.cpp | 12 +++--------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/include/xo/tokenizer2/Tokenizer.hpp b/include/xo/tokenizer2/Tokenizer.hpp index 83015c03..0a212a8f 100644 --- a/include/xo/tokenizer2/Tokenizer.hpp +++ b/include/xo/tokenizer2/Tokenizer.hpp @@ -61,7 +61,7 @@ namespace xo { using error_type = TokenizerError; using DCircularBuffer = xo::mm::DCircularBuffer; using CircularBufferConfig = xo::mm::CircularBufferConfig; - using MemorySizeInfo = xo::mm::MemorySizeInfo; + using MemorySizeVisitor = xo::mm::MemorySizeVisitor; using span_type = xo::mm::span; //using input_state_type = TkInputState; using result_type = scan_result; @@ -91,10 +91,8 @@ namespace xo { const TkInputState & input_state() const { return input_state_; } #pragma GCC diagnostic pop - /** number of distinct memory pools owned by tokenizer **/ - std::size_t _n_store() const noexcept; - /** memory consumption for i'th memory pool **/ - MemorySizeInfo _store_info(std::size_t i) const noexcept; + /** visit tokenizer-owned memory pools; invoke visitor(info) for each one **/ + void visit_pools(const MemorySizeVisitor & visitor) const; ///@} diff --git a/src/tokenizer2/Tokenizer.cpp b/src/tokenizer2/Tokenizer.cpp index c36d85a5..f176a88f 100644 --- a/src/tokenizer2/Tokenizer.cpp +++ b/src/tokenizer2/Tokenizer.cpp @@ -22,16 +22,10 @@ namespace xo { this->input_state_.discard_current_line(); } - std::size_t - Tokenizer::_n_store() const noexcept + void + Tokenizer::visit_pools(const MemorySizeVisitor & visitor) const { - return input_buffer_._n_store(); - } - - MemorySizeInfo - Tokenizer::_store_info(std::size_t i) const noexcept - { - return input_buffer_._store_info(i); + input_buffer_.visit_pools(visitor); } bool