Update va_arg_count C++ utility to support MSVC
This commit is contained in:
@@ -39,18 +39,13 @@ BEGIN_C_LINKAGE
|
|||||||
)
|
)
|
||||||
|
|
||||||
#ifdef WAPP_PLATFORM_CPP
|
#ifdef WAPP_PLATFORM_CPP
|
||||||
#define wapp_misc_utils_va_args_count(T, ...) va_args_count<T>(__VA_ARGS__)
|
END_C_LINKAGE
|
||||||
|
|
||||||
|
#include <tuple>
|
||||||
|
|
||||||
|
#define wapp_misc_utils_va_args_count(T, ...) (std::tuple_size<decltype(std::make_tuple(__VA_ARGS__))>::value)
|
||||||
#else
|
#else
|
||||||
#define wapp_misc_utils_va_args_count(T, ...) (sizeof((T[]){__VA_ARGS__})/sizeof(T))
|
#define wapp_misc_utils_va_args_count(T, ...) (sizeof((T[]){__VA_ARGS__})/sizeof(T))
|
||||||
#endif // !WAPP_PLATFORM_CPP
|
#endif // !WAPP_PLATFORM_CPP
|
||||||
|
|
||||||
#ifdef WAPP_PLATFORM_CPP
|
|
||||||
END_C_LINKAGE
|
|
||||||
|
|
||||||
template <typename T, typename... Args>
|
|
||||||
constexpr u64 va_args_count(Args&&...) {
|
|
||||||
return sizeof...(Args);
|
|
||||||
}
|
|
||||||
#endif // !WAPP_PLATFORM_CPP
|
|
||||||
|
|
||||||
#endif // !MISC_UTILS_H
|
#endif // !MISC_UTILS_H
|
||||||
|
|||||||
Reference in New Issue
Block a user