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

Type-erased symbol resolution for remote addresses and formattable symbol views. More...

#include "address_space.hpp"
#include "demangle.hpp"
#include <cstddef>
#include <cstdint>
#include <string_view>
#include <type_traits>
Include dependency graph for symbol_resolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  microfmt::raw_resolved_symbol
 Raw resolution result as returned by a resolver backend. More...
 
struct  microfmt::resolved_symbol_info
 Derived symbol info with precomputed relative offsets. More...
 
struct  microfmt::symbol_resolution_context
 Caller-owned temporary storage for one symbol resolution. More...
 
class  microfmt::symbol_resolver_ref
 Type-erased, two-word handle to a symbol resolver. More...
 
struct  microfmt::symbol_resolver_ref::vtable
 Virtual table of symbol-resolution operations. More...
 
class  microfmt::symbol_resolver< Tag, false >
 
class  microfmt::symbol_resolver< Tag, true >
 
class  microfmt::remote_symbol_view
 Formattable view resolving and rendering a remote code address. More...
 
struct  microfmt::formatter< remote_symbol_view >
 Formatter for remote_symbol_view. More...
 

Namespaces

namespace  microfmt
 

Functions

constexpr auto microfmt::make_remote_symbol (uintptr_t addr, symbol_resolver_ref resolver, symbol_resolution_context &context, bool demangle=true) noexcept
 Convenience factory building a remote_symbol_view.
 

Detailed Description

Type-erased symbol resolution for remote addresses and formattable symbol views.