// — C++ shim over the W65816 runtime's . // // Pulls in the runtime's and re-exports size_t / ptrdiff_t // inside namespace std::. NULL / offsetof stay as macros (per the C // standard) and remain visible at global scope. // // std::nullptr_t is provided directly (it's a core-language type since // C++11 — not something that lives in ). #ifndef _W65816_CXX_CSTDDEF #define _W65816_CXX_CSTDDEF #include namespace std { using ::size_t; using ::ptrdiff_t; using nullptr_t = decltype(nullptr); // std::byte (C++17). Defined as an enum class with explicit // underlying type so the size is exactly one byte. enum class byte : unsigned char {}; } // namespace std #endif // _W65816_CXX_CSTDDEF