diff options
author | 2014-04-09 06:59:00 +0000 | |
---|---|---|
committer | 2014-04-09 06:59:00 +0000 | |
commit | e6a69f53b0053ee59e4b57a2d1d0e0fc49fe6a0d (patch) | |
tree | 8a7e86fb287b1e0598718a2d30fd3370fa3309fb /native/jni/src/defines.h | |
parent | 8d49064832937dd7215a9227a1fc34dc3de92791 (diff) | |
parent | bbefa8c8265820f5f9aeb0e2a49a4526d7cdd682 (diff) | |
download | latinime-e6a69f53b0053ee59e4b57a2d1d0e0fc49fe6a0d.tar.gz latinime-e6a69f53b0053ee59e4b57a2d1d0e0fc49fe6a0d.tar.xz latinime-e6a69f53b0053ee59e4b57a2d1d0e0fc49fe6a0d.zip |
am bbefa8c8: Merge "Make NELEMS type-safe"
* commit 'bbefa8c8265820f5f9aeb0e2a49a4526d7cdd682':
Make NELEMS type-safe
Diffstat (limited to 'native/jni/src/defines.h')
-rw-r--r-- | native/jni/src/defines.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/native/jni/src/defines.h b/native/jni/src/defines.h index 1719b1c60..3becc79e8 100644 --- a/native/jni/src/defines.h +++ b/native/jni/src/defines.h @@ -35,7 +35,13 @@ // Must be equal to ProximityInfo.MAX_PROXIMITY_CHARS_SIZE in Java #define MAX_PROXIMITY_CHARS_SIZE 16 #define ADDITIONAL_PROXIMITY_CHAR_DELIMITER_CODE 2 -#define NELEMS(x) (sizeof(x) / sizeof((x)[0])) + +// TODO: Use size_t instead of int. +// Disclaimer: You will see a compile error if you use this macro against a variable-length array. +// Sorry for the inconvenience. It isn't supported. +template <typename T, int N> +char (&ArraySizeHelper(T (&array)[N]))[N]; +#define NELEMS(x) (sizeof(ArraySizeHelper(x))) AK_FORCE_INLINE static int intArrayToCharArray(const int *const source, const int sourceSize, char *dest, const int destSize) { |