diff options
-rw-r--r-- | system/include/emscripten/wire.h | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/system/include/emscripten/wire.h b/system/include/emscripten/wire.h index 43f3ccf1..d61b0bc7 100644 --- a/system/include/emscripten/wire.h +++ b/system/include/emscripten/wire.h @@ -172,40 +172,15 @@ namespace emscripten { >::type type; }; - // ArgArray - - template<typename... Args> - struct ArgArray; - - template<typename First, typename... Rest> - struct ArgArray<First, Rest...> { - constexpr ArgArray() - : element(TypeID<First>::get()) - {} - - const TYPEID element; - ArgArray<Rest...> rest; - }; - - template<> - struct ArgArray<> { - }; template<typename ArgList> struct ArgArrayGetter; - template<> - struct ArgArrayGetter<TypeList<>> { - static const TYPEID* get() { - return nullptr; - } - }; - template<typename... Args> struct ArgArrayGetter<TypeList<Args...>> { static const TYPEID* get() { - static constexpr ArgArray<Args...> aa; - return &aa.element; + static constexpr TYPEID types[] = { TypeID<Args>::get()... }; + return types; } }; |