From a69f4fb067ec22b95741e37efe355fb1106fefd2 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Mon, 7 Jul 2025 08:44:05 -0400 Subject: 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 --- src/prelude.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/prelude.h') 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 -- cgit v1.2.3