1 // A separate "private" header different from `extern.hh` which is used to
2 // help break the cycle between `extern.hh` and `func.hh`.
3 
4 #ifndef WASMTIME_EXTERN_DECLARE_HH
5 #define WASMTIME_EXTERN_DECLARE_HH
6 
7 #include <variant>
8 
9 namespace wasmtime {
10 
11 class Global;
12 class Func;
13 class Memory;
14 class Table;
15 
16 /// \typedef Extern
17 /// \brief Representation of an external WebAssembly item
18 typedef std::variant<Func, Global, Memory, Table> Extern;
19 
20 } // namespace wasmtime
21 
22 #endif // WASMTIME_EXTERN_DECLARE_HH
23