diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2025-07-07 08:44:05 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2025-07-09 09:00:08 -0400 |
commit | a69f4fb067ec22b95741e37efe355fb1106fefd2 (patch) | |
tree | 016969ad4c6948ffc42b499cfb5fc3be0d64cfe1 /src/prelude.h | |
parent | efb983406cba85a92573f50cfc94c455422e7d3a (diff) | |
download | bfs-a69f4fb067ec22b95741e37efe355fb1106fefd2.tar.xz |
prelude: Move countof() here from bfs.h
countof() will likely be in the C2Y standard.
Link: https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3469.htm
Link: https://thephd.dev/c2y-hitting-the-ground-running
Diffstat (limited to 'src/prelude.h')
-rw-r--r-- | src/prelude.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/prelude.h b/src/prelude.h index 3b1c4e5..1663af6 100644 --- a/src/prelude.h +++ b/src/prelude.h @@ -88,6 +88,15 @@ #endif // !C23 +// Future C standard backports + +/** + * Get the length of an array. + * + * https://www.open-std.org/JTC1/SC22/WG14/www/docs/n3469.htm + */ +#define countof(...) (sizeof(__VA_ARGS__) / sizeof(0[__VA_ARGS__])) + // Feature detection // https://clang.llvm.org/docs/LanguageExtensions.html#has-attribute |