aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rwxr-xr-xsystem/include/emscripten/bind.h13
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 {