diff options
Diffstat (limited to 'system')
-rwxr-xr-x | system/include/emscripten/bind.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/system/include/emscripten/bind.h b/system/include/emscripten/bind.h index 4d2f4ac8..d5b2fe6a 100755 --- a/system/include/emscripten/bind.h +++ b/system/include/emscripten/bind.h @@ -224,6 +224,10 @@ namespace emscripten { struct allow_raw_pointer : public allow_raw_pointers { }; + //////////////////////////////////////////////////////////////////////////////// + // select_overload and select_const + //////////////////////////////////////////////////////////////////////////////// + template<typename Signature> typename std::add_pointer<Signature>::type select_overload(typename std::add_pointer<Signature>::type fn) { return fn; @@ -241,6 +245,15 @@ namespace emscripten { return fn; } + template<typename ClassType, typename ReturnType, typename... Args> + auto select_const(ReturnType (ClassType::*method)(Args...) const) -> decltype(method) { + return method; + } + + //////////////////////////////////////////////////////////////////////////////// + // Invoker + //////////////////////////////////////////////////////////////////////////////// + namespace internal { template<typename ReturnType, typename... Args> struct Invoker { |