Platform flags, packing macros and export markers.
More...
#include <bit>
#include <cstdint>
Go to the source code of this file.
|
|
constexpr bool | rex::platform::kWindows = REX_PLATFORM_WIN32 |
|
constexpr bool | rex::platform::kLinux = REX_PLATFORM_LINUX |
|
constexpr bool | rex::platform::kMac = REX_PLATFORM_MAC |
|
constexpr bool | rex::platform::kPosix = kLinux || kMac |
|
constexpr char | rex::platform::kPathSeparator = '/' |
Platform flags, packing macros and export markers.
- Copyright
- Copyright (c) 2026 Tom Clay tomc@.nosp@m.tcte.nosp@m.chstu.nosp@m.ff.c.nosp@m.om All rights reserved.
- License
- BSD 3-Clause License See LICENSE file in the project root for full license text.
◆ REX_API
| #define REX_API __attribute__((visibility("default"))) |
Marks a declaration that rexbase exports.
◆ REX_APP_API
| #define REX_APP_API __attribute__((visibility("default"))) |
Marks a declaration that rexapp exports.
◆ REX_APU_API
| #define REX_APU_API __attribute__((visibility("default"))) |
Marks a declaration that rexapu exports.
◆ REX_GPU_API
| #define REX_GPU_API __attribute__((visibility("default"))) |
Marks a declaration that rexgpu exports.
◆ REX_HID_API
| #define REX_HID_API __attribute__((visibility("default"))) |
Marks a declaration that rexhid exports.
◆ REX_KERNEL_API
| #define REX_KERNEL_API __attribute__((visibility("default"))) |
Marks a declaration that rexkernel exports.
REX_KERNEL_API std::span<const ExportEntry> Exports(ExportModule module);
◆ REX_MUSTTAIL
Makes a return statement a guaranteed tail call where the compiler supports it.
◆ REX_PACKED_STRUCT
| #define REX_PACKED_STRUCT |
( |
| name, |
|
|
| value ) |
Value:REX_DETAIL_PACKED_SCOPE(struct name value)
Declares a struct with 1 byte packing.
- Parameters
-
| name | An identifier, pasted after struct. |
| value | Braced member list. |
◆ REX_PACKED_STRUCT_ANONYMOUS
| #define REX_PACKED_STRUCT_ANONYMOUS |
( |
| value | ) |
|
Value:REX_DETAIL_PACKED_SCOPE(struct value)
Declares an unnamed struct with 1 byte packing.
- Parameters
-
◆ REX_PACKED_UNION
| #define REX_PACKED_UNION |
( |
| name, |
|
|
| value ) |
Value:REX_DETAIL_PACKED_SCOPE(union name value)
Declares a union with 1 byte packing.
- Parameters
-
u32 value;
u8 bytes[4];
})
◆ REX_PLATFORM_MAC
| #define REX_PLATFORM_MAC 0 |
Each REX_PLATFORM_ flag not set above is 0, so it works in preprocessor conditions and static_assert.
◆ REX_PPC_API
| #define REX_PPC_API __attribute__((visibility("default"))) |
Marks a declaration that rexppc exports.
REX_PPC_API void AttachMMIO(MMIOBlock block,
const MMIORecipient& recipient);
◆ REX_STRINGIFY
| #define REX_STRINGIFY |
( |
| x | ) |
|
Value:Expands the argument, then turns it into a string literal.
◆ REX_UI_API
| #define REX_UI_API __attribute__((visibility("default"))) |
Marks a declaration that rexui exports.
◆ REX_XAM_API
| #define REX_XAM_API __attribute__((visibility("default"))) |
Marks a declaration that rexxam exports.
◆ REX_XSTRINGIFY
| #define REX_XSTRINGIFY |
( |
| x | ) |
|
Value:Turns the argument into a string literal without expanding it first.