![]() |
mutable
A Database System for Research and Fast Prototyping
|
Go to the source code of this file.
Macros | |
| #define | BLOCK_OPEN(BLK) if (m::wasm::BlockUser ThisBlockUser((BLK)); (void)(ThisBlockUser), false) { } else |
| #define | M_WASM_BLOCK_NAMED_(NAME) if (m::wasm::Block NAME(#NAME, true); (void)(NAME), false) { } else BLOCK_OPEN(NAME) |
| #define | M_WASM_BLOCK_ANON_() if (m::wasm::Block ThisBlock(true); (void)(ThisBlock), false) { } else BLOCK_OPEN(ThisBlock) |
| #define | M_GET_WASM_BLOCK_(XXX, _1, NAME, ...) NAME |
| #define | BLOCK(...) M_GET_WASM_BLOCK_(XXX, ##__VA_ARGS__, M_WASM_BLOCK_NAMED_, M_WASM_BLOCK_ANON_)(__VA_ARGS__) |
| #define | FUNCTION(NAME, TYPE) |
| #define | PARAMETER(IDX) ThisFunction.template parameter<IDX>() |
| #define | RETURN(RES) ThisFunction.emit_return(RES) |
| #define | IF(COND) if (m::wasm::If ThisIf((COND)); false) { } else ThisIf.Then = [&] |
| #define | ELSE , ThisIf.Else = [&] |
| #define | M_WASM_LOOP_NAMED_(NAME) if (m::wasm::Loop ThisLoop((NAME)); (void)(ThisLoop), false) { } else BLOCK_OPEN(ThisLoop.body()) |
| #define | M_WASM_LOOP_ANON_() M_WASM_LOOP_NAMED_("loop") |
| #define | M_GET_WASM_LOOP_(XXX, _1, NAME, ...) NAME |
| #define | LOOP(...) M_GET_WASM_LOOP_(XXX, ##__VA_ARGS__, M_WASM_LOOP_NAMED_, M_WASM_LOOP_ANON_)(__VA_ARGS__) |
| #define | M_WASM_DO_WHILE_NAMED_(NAME, COND) |
| #define | M_WASM_DO_WHILE_ANON_(COND) M_WASM_DO_WHILE_NAMED_("do-while", COND) |
| #define | M_GET_WASM_DO_WHILE_(XXX, _1, _2, NAME, ...) NAME |
| #define | DO_WHILE(...) M_GET_WASM_DO_WHILE_(XXX, ##__VA_ARGS__, M_WASM_DO_WHILE_NAMED_, M_WASM_DO_WHILE_ANON_)(__VA_ARGS__) |
| #define | M_WASM_WHILE_NAMED_(NAME, COND) if (m::wasm::While ThisWhile((NAME), (COND)); (void)(ThisWhile), false) { } else BLOCK_OPEN(ThisWhile.body()) |
| #define | M_WASM_WHILE_ANON_(COND) M_WASM_WHILE_NAMED_("while", COND) |
| #define | M_GET_WASM_WHILE_(XXX, _1, _2, NAME, ...) NAME |
| #define | WHILE(...) M_GET_WASM_WHILE_(XXX, ##__VA_ARGS__, M_WASM_WHILE_NAMED_, M_WASM_WHILE_ANON_)(__VA_ARGS__) |
| #define | M_WASM_THROW2_(TYPE, MSG) m::wasm::Module::Get().emit_throw(TYPE, __FILE__, __LINE__, MSG) |
| #define | M_WASM_THROW1_(TYPE) M_WASM_THROW2_(TYPE, nullptr) |
| #define | M_GET_WASM_THROW_(XXX, _1, _2, NAME, ...) NAME |
| #define | Throw(...) M_GET_WASM_THROW_(XXX, ##__VA_ARGS__, M_WASM_THROW2_, M_WASM_THROW1_)(__VA_ARGS__) |
| #define BLOCK | ( | ... | ) | M_GET_WASM_BLOCK_(XXX, ##__VA_ARGS__, M_WASM_BLOCK_NAMED_, M_WASM_BLOCK_ANON_)(__VA_ARGS__) |
Definition at line 15 of file WasmMacro.hpp.
| #define BLOCK_OPEN | ( | BLK | ) | if (m::wasm::BlockUser ThisBlockUser((BLK)); (void)(ThisBlockUser), false) { } else |
Definition at line 8 of file WasmMacro.hpp.
| #define DO_WHILE | ( | ... | ) | M_GET_WASM_DO_WHILE_(XXX, ##__VA_ARGS__, M_WASM_DO_WHILE_NAMED_, M_WASM_DO_WHILE_ANON_)(__VA_ARGS__) |
Definition at line 37 of file WasmMacro.hpp.
| #define ELSE , ThisIf.Else = [&] |
Definition at line 24 of file WasmMacro.hpp.
| #define FUNCTION | ( | NAME, | |
| TYPE | |||
| ) |
Definition at line 17 of file WasmMacro.hpp.
| #define IF | ( | COND | ) | if (m::wasm::If ThisIf((COND)); false) { } else ThisIf.Then = [&] |
Definition at line 23 of file WasmMacro.hpp.
| #define LOOP | ( | ... | ) | M_GET_WASM_LOOP_(XXX, ##__VA_ARGS__, M_WASM_LOOP_NAMED_, M_WASM_LOOP_ANON_)(__VA_ARGS__) |
Definition at line 30 of file WasmMacro.hpp.
| #define M_GET_WASM_BLOCK_ | ( | XXX, | |
| _1, | |||
| NAME, | |||
| ... | |||
| ) | NAME |
Definition at line 14 of file WasmMacro.hpp.
| #define M_GET_WASM_DO_WHILE_ | ( | XXX, | |
| _1, | |||
| _2, | |||
| NAME, | |||
| ... | |||
| ) | NAME |
Definition at line 36 of file WasmMacro.hpp.
| #define M_GET_WASM_LOOP_ | ( | XXX, | |
| _1, | |||
| NAME, | |||
| ... | |||
| ) | NAME |
Definition at line 29 of file WasmMacro.hpp.
| #define M_GET_WASM_THROW_ | ( | XXX, | |
| _1, | |||
| _2, | |||
| NAME, | |||
| ... | |||
| ) | NAME |
Definition at line 47 of file WasmMacro.hpp.
| #define M_GET_WASM_WHILE_ | ( | XXX, | |
| _1, | |||
| _2, | |||
| NAME, | |||
| ... | |||
| ) | NAME |
Definition at line 42 of file WasmMacro.hpp.
| #define M_WASM_BLOCK_ANON_ | ( | ) | if (m::wasm::Block ThisBlock(true); (void)(ThisBlock), false) { } else BLOCK_OPEN(ThisBlock) |
Definition at line 12 of file WasmMacro.hpp.
| #define M_WASM_BLOCK_NAMED_ | ( | NAME | ) | if (m::wasm::Block NAME(#NAME, true); (void)(NAME), false) { } else BLOCK_OPEN(NAME) |
Definition at line 10 of file WasmMacro.hpp.
| #define M_WASM_DO_WHILE_ANON_ | ( | COND | ) | M_WASM_DO_WHILE_NAMED_("do-while", COND) |
Definition at line 35 of file WasmMacro.hpp.
| #define M_WASM_DO_WHILE_NAMED_ | ( | NAME, | |
| COND | |||
| ) |
Definition at line 32 of file WasmMacro.hpp.
| #define M_WASM_LOOP_ANON_ | ( | ) | M_WASM_LOOP_NAMED_("loop") |
Definition at line 28 of file WasmMacro.hpp.
| #define M_WASM_LOOP_NAMED_ | ( | NAME | ) | if (m::wasm::Loop ThisLoop((NAME)); (void)(ThisLoop), false) { } else BLOCK_OPEN(ThisLoop.body()) |
Definition at line 26 of file WasmMacro.hpp.
| #define M_WASM_THROW1_ | ( | TYPE | ) | M_WASM_THROW2_(TYPE, nullptr) |
Definition at line 46 of file WasmMacro.hpp.
| #define M_WASM_THROW2_ | ( | TYPE, | |
| MSG | |||
| ) | m::wasm::Module::Get().emit_throw(TYPE, __FILE__, __LINE__, MSG) |
Definition at line 45 of file WasmMacro.hpp.
| #define M_WASM_WHILE_ANON_ | ( | COND | ) | M_WASM_WHILE_NAMED_("while", COND) |
Definition at line 41 of file WasmMacro.hpp.
| #define M_WASM_WHILE_NAMED_ | ( | NAME, | |
| COND | |||
| ) | if (m::wasm::While ThisWhile((NAME), (COND)); (void)(ThisWhile), false) { } else BLOCK_OPEN(ThisWhile.body()) |
Definition at line 39 of file WasmMacro.hpp.
| #define PARAMETER | ( | IDX | ) | ThisFunction.template parameter<IDX>() |
Definition at line 20 of file WasmMacro.hpp.
| #define RETURN | ( | RES | ) | ThisFunction.emit_return(RES) |
Definition at line 21 of file WasmMacro.hpp.
| #define Throw | ( | ... | ) | M_GET_WASM_THROW_(XXX, ##__VA_ARGS__, M_WASM_THROW2_, M_WASM_THROW1_)(__VA_ARGS__) |
Definition at line 48 of file WasmMacro.hpp.
| #define WHILE | ( | ... | ) | M_GET_WASM_WHILE_(XXX, ##__VA_ARGS__, M_WASM_WHILE_NAMED_, M_WASM_WHILE_ANON_)(__VA_ARGS__) |
Definition at line 43 of file WasmMacro.hpp.