Base Framework
|
Architecture information. More...
#include <base/Architecture.h>
Public Types | |
enum | ByteOrder { BE = 0, LE = 1, NATIVE = BE, FLOAT_NATIVE = BE } |
enum | Technology { FPU = 1U << 0, MMX = 1U << 1, SSE = 1U << 2, SSE2 = 1U << 3, SSE3 = 1U << 4, NOW3D = 1U << 5, NOW3D2 = 1U << 6, HYPER_THREADING = 1U << 7 } |
enum | Major { ALPHA, X86, X86_64, ITANIUM, MIPS, MIPS64, POWER_PC_32, POWER_PC_64, S390X, RS, SPARC32, SPARC64, S390, PA_RISC32, PA_RISC64, RISCV32, RISCV64, ARM32, ARM64, WASM32, WASM64, GENERIC32, GENERIC64 } |
enum | Minor { GENERIC } |
Static Public Member Functions | |
static bool | isBigEndian () noexcept |
static bool | isLittleEndian () noexcept |
static bool | isFloatWordBigEndian () noexcept |
static bool | isFloatWordLittleEndian () noexcept |
static unsigned int | getTechonologies () noexcept |
static Major | getArchitecture () noexcept |
static String | getArchitectureAsString () noexcept |
static Minor | getMinorArchitecture () noexcept |
enum Architecture::Major |
The major architecture.
Enumerator | |
---|---|
ALPHA | Alpha. |
X86 | Intel 32 bit. |
X86_64 | AMD 64-bit. |
ITANIUM | Itanium. |
MIPS | MIPS. |
MIPS64 | MIPS 64-bit. |
POWER_PC_32 | Power PC 32-bit. |
POWER_PC_64 | Power PC 64-bit. |
S390X | IBM subsystem 64-bit. |
RS | RS. |
SPARC32 | Sparc 32-bit. |
SPARC64 | Sparc 64-bit. |
S390 | S390. |
PA_RISC32 | PA-RISC 32-bit. |
PA_RISC64 | PA-RISC 64-bit. |
RISCV32 | RISC-V 32-bit. |
RISCV64 | RISC-V 64-bit. |
ARM32 | ARM 32-bit. |
ARM64 | ARM 64-bit. |
WASM32 | WebAssembly 32-bit. |
WASM64 | WebAssembly 64-bit. |
GENERIC32 | Generic 32-bit. |
GENERIC64 | Generic 64-bit. |
enum Architecture::Minor |
The minor architecture.
Enumerator | |
---|---|
GENERIC | Unspecified processor. |
|
staticnoexcept |
Returns the major architecture.
|
staticnoexcept |
Returns the major architecture as a string.
|
staticnoexcept |
Returns the processor (lowest common denominator is multiple are present).
|
staticnoexcept |
Returns the supported technologies.
|
inlinestaticnoexcept |
Returns true if the native byte order is big endian.
|
inlinestaticnoexcept |
Returns true if the native word order is big endian.
|
inlinestaticnoexcept |
Returns true if the native word order is little endian.
|
inlinestaticnoexcept |
Returns true if the native byte order is little endian.