|
| constexpr | dependent_value_scanner_ref () noexcept=default |
| |
| template<typename Tag , typename Traits = dependent_value_scanner_traits<Tag>, std::enable_if_t< std::is_void_v< typename Traits::context_type >, int > = 0> |
| constexpr | dependent_value_scanner_ref (Tag) noexcept |
| |
| template<typename Tag , typename Context , typename Traits = dependent_value_scanner_traits<Tag>, std::enable_if_t<!std::is_void_v< typename Traits::context_type > &&std::is_convertible_v< const Context *, const typename Traits::context_type * >, int > = 0> |
| constexpr | dependent_value_scanner_ref (Tag, const Context &ctx RELOCO_LIFETIMEBOUND RELOCO_LIFETIME_CAPTURE_BY_THIS) noexcept |
| |
| template<typename Tag , typename Context , std::enable_if_t<!std::is_lvalue_reference_v< Context >, int > = 0> |
| constexpr | dependent_value_scanner_ref (Tag, Context &&)=delete |
| |
| expected< memory_scan_result, address_space_error > | scan (uintptr_t start_addr, size_t search_length, size_t window_size, size_t stride, dependent_predicate_fn predicate, void *user_context=nullptr) const noexcept |
| | Scans memory using a custom sliding-window callback.
|
| |
| constexpr | operator bool () const noexcept |
| |
Type-erased reference for scanning memory using a custom logical predicate.
Iterates a sliding window over the remote address space, invoking a caller-provided callback on each chunk. Ideal for locating complex data structures (like OS control blocks) by validating internal constraints (e.g., magic numbers combined with bounds-checked enums) when debugging symbols are unavailable.