|
microfmt
Zero-allocation C++ formatting for constrained environments
|
Type-erased, zero-allocation memory scanners for bounded value ranges and complex data dependencies. More...
#include "../microfmt.hpp"#include "../reloco.hpp"#include "address_space.hpp"#include "memory_pattern_scanner.hpp"#include <cstddef>#include <cstdint>#include <cstring>#include <limits>#include <type_traits>#include <utility>
Go to the source code of this file.
Classes | |
| class | microfmt::value_range_scanner_ref< T > |
| Type-erased reference for scanning memory for a scalar value within a [min, max] range. More... | |
| struct | microfmt::value_range_scanner_ref< T >::vtable |
| class | microfmt::value_range_scanner< Tag, T, false > |
| class | microfmt::value_range_scanner< Tag, T, true > |
| class | microfmt::dependent_value_scanner_ref |
| Type-erased reference for scanning memory using a custom logical predicate. More... | |
| struct | microfmt::dependent_value_scanner_ref::vtable |
| class | microfmt::dependent_value_scanner< Tag, false > |
| class | microfmt::dependent_value_scanner< Tag, true > |
| struct | microfmt::linear_value_range_scanner_tag< T > |
| struct | microfmt::linear_dependent_value_scanner_tag |
| struct | microfmt::value_range_scanner_traits< linear_value_range_scanner_tag< T >, T > |
| struct | microfmt::dependent_value_scanner_traits< linear_dependent_value_scanner_tag > |
Namespaces | |
| namespace | microfmt |
Typedefs | |
| using | microfmt::dependent_predicate_fn = bool(*)(const void *window_bytes, void *user_context) noexcept |
| Function pointer type for evaluating a logical predicate over a memory window. | |
Type-erased, zero-allocation memory scanners for bounded value ranges and complex data dependencies.
Provides specialized scanners to search remote address spaces for specific conditions without allocating heap memory. Includes a value range scanner to find scalars within [min, max] bounds, and a dependent value scanner to evaluate sliding-window predicates (useful for verifying multi-field invariants in OS thread blocks without symbols).