The types char16_t and char32_t are distinct types rather than typedefs to existing integral types. The tokens char16_t and char32_t are keywords in this International Standard ([lex.key]). They do not appear as macro names defined in <cuchar> ([cuchar.syn]).
The type wchar_t is a distinct type rather than a typedef to an existing integral type. The token wchar_t is a keyword in this International Standard ([lex.key]). It does not appear as a type name defined in any of <cstddef> ([cstddef.syn]), <cstdlib> ([cstdlib.syn]), or <cwchar> ([cwchar.syn]).
The token static_assert is a keyword in this International Standard ([lex.key]). It does not appear as a macro name defined in <cassert> ([cassert.syn]).
The token alignas is a keyword in this International Standard ([lex.key]). It does not appear as a macro name defined in <cstdalign> ([cstdalign.syn]).
The tokens bool, true, and false are keywords in this International Standard ([lex.key]). They do not appear as macro names defined in <cstdbool> ([cstdbool.syn]).
The macro NULL, defined in any of <clocale> ([c.locales]), <cstddef> ([cstddef.syn]), <cstdio> ([cstdio.syn]), <cstdlib> ([cstdlib.syn]), <cstring> ([cstring.syn]), <ctime> ([ctime.syn]), or <cwchar> ([cwchar.syn]), is an implementation-defined C++ null pointer constant in this International Standard ([support.types]).