microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Namespaces
memory_pattern_scanner.hpp File Reference

Type-erased, zero-allocation memory pattern scanner for exact and masked byte sequences. More...

#include "../microfmt.hpp"
#include "../reloco.hpp"
#include "address_space.hpp"
#include <cstddef>
#include <cstdint>
#include <limits>
#include <type_traits>
#include <utility>
Include dependency graph for memory_pattern_scanner.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  microfmt::memory_scan_result
 Result of a memory pattern scan operation. More...
 
class  microfmt::memory_pattern_scanner_ref
 Type-erased, zero-allocation handle to a memory pattern scanner. More...
 
struct  microfmt::memory_pattern_scanner_ref::vtable
 
class  microfmt::memory_pattern_scanner< Tag, false >
 Typed wrapper owning the stateful context for a memory pattern scanner. More...
 
class  microfmt::memory_pattern_scanner< Tag, true >
 Typed wrapper for a stateless memory pattern scanner. More...
 
struct  microfmt::linear_memory_scanner_tag
 Tag identifying the standard linear, sliding-window memory scanner. More...
 
struct  microfmt::linear_memory_scanner_context
 State retained by the standard linear memory scanner. More...
 
struct  microfmt::memory_pattern_scanner_traits< linear_memory_scanner_tag >
 Implementation of the memory pattern scanning logic. More...
 

Namespaces

namespace  microfmt
 

Detailed Description

Type-erased, zero-allocation memory pattern scanner for exact and masked byte sequences.

Provides a framework for searching remote address spaces for specific byte patterns without allocating heap memory. It uses a chunked, sliding-window approach over a caller-supplied scratch buffer to safely traverse memory while properly handling patterns that cross chunk boundaries.