Broom 1.0.0
A thread-local C++ Garbage Collector
Loading...
Searching...
No Matches
roots-inl.h
Go to the documentation of this file.
1#pragma once
2
4#include "src/roots.h"
5
6namespace broom {
7template <RootKind kind>
8void RootVisitor::Visit(const void* root) {
9 switch (kind) {
11 VisitStackRoot(root);
12 break;
14 VisitExternalRoot(SafeCast<const ExternalRoot*>(root));
15 break;
17 VisitPreciseRoot(SafeCast<const PreciseRoot*>(root));
18 break;
20 VisitRegularRoot(root);
21 break;
22 default:
23 ABORT("Unknown root kind");
24 }
25}
26} // namespace broom
virtual void Visit(const void *pointer)
Definition roots.h:98
std::queue< T, broom::deque< T > > queue
Definition broom-queue.h:12
#define ABORT(m,...)