Mercurial > hg > openttd
changeset 15072:0f1869a54166 draft
(svn r19698) -Add: macros to get the size/length of a variable within a class
author | rubidium <rubidium@openttd.org> |
---|---|
date | Fri, 23 Apr 2010 14:56:14 +0000 |
parents | a5fc4d4430bf |
children | 63aa13fe4f2c |
files | src/stdafx.h |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/stdafx.h +++ b/src/stdafx.h @@ -371,6 +371,22 @@ #define offsetof(s, m) cpp_offsetof(s, m) #endif /* offsetof */ +/** + * Gets the size of a variable within a class. + * @param base The class the variable is in. + * @param variable The variable to get the size of. + * @return the size of the variable + */ +#define cpp_sizeof(base, variable) (sizeof(((base*)8)->variable)) + +/** + * Gets the length of an array variable within a class. + * @param base The class the variable is in. + * @param variable The array variable to get the size of. + * @return the length of the array + */ +#define cpp_lengthof(base, variable) (cpp_sizeof(base, variable) / cpp_sizeof(base, variable[0])) + /* take care of some name clashes on MacOS */ #if defined(__APPLE__)