#include using namespace emscripten; class C {}; void onePointerArg(C* ptr) {} void twoPointerArg(C* ptr1, C* ptr2) {} void sandwich(int a, C* ptr1, int b) {} C* pointerRet() { return nullptr; } C* pointerRetPointerArg(C* ptr) { return nullptr; } EMSCRIPTEN_BINDINGS(raw_pointers) { class_("C"); function("onePointerArg", &onePointerArg, allow_raw_pointer>()); function("twoPointerArg", &twoPointerArg, allow_raw_pointer>(), allow_raw_pointer>()); function("sandwich", &sandwich, allow_raw_pointer>()); function("pointerRet", &pointerRet, allow_raw_pointer()); function("pointerRetPointerArg", &pointerRetPointerArg, allow_raw_pointer(), allow_raw_pointer>()); }