28 void push(
PC caller_pc,
PC return_pc)
override;
InternalCallId get_call_id() const override
Get the current call id.
void push(PC caller_pc, PC return_pc) override
Push a new call onto the internal call stack. This is called when an internal call is executed....
InternalCallId get_next_call_id() const override
Get the next call id.
EventEmitterInterface< InternalCallStackEvent > & internal_call_stack_events
std::vector< InternalCallPtr > internal_call_stack
InternalCallStackManager(uint32_t context_id, EventEmitterInterface< InternalCallStackEvent > &emitter)
InternalCallId get_return_call_id() const override
Get the return call id.
InternalCallId return_call_id
InternalCallId next_call_id
PC pop() override
Pop the top call from the internal call stack. This is called when an internal return is executed....
std::vector< PC > get_current_call_stack() const override
Get the current call stack.
InternalCallStackManagerProvider(EventEmitterInterface< InternalCallStackEvent > &event_emitter)
EventEmitterInterface< InternalCallStackEvent > & events
std::unique_ptr< InternalCallStackManagerInterface > make_internal_call_stack_manager(uint32_t context_id) override
EventEmitter< DataCopyEvent > event_emitter
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
InternalCallId return_call_id