|
spy v3.0.0
Andrée Borrel
|
The system, the processor and the data model the code is compiled for. More...
The system, the processor and the data model the code is compiled for.
Where the code will run. spy::operating_system names the system and spy::supports::posix_ says whether it offers a POSIX interface, spy::architecture names the processor family, and spy::data_model gives the sizes the ABI hands the fundamental types, which the system and the architecture decide together.
Variables | |
| constexpr arch_type | spy::architecture |
| Architecture reporting value. | |
| constexpr auto | spy::data_model = data_model_type {} |
| Data Model reporting value. | |
| constexpr os_type | spy::operating_system |
| OS reporting value. | |
| constexpr auto | spy::supports::posix_ = spy_implementation_defined {} |
| POSIX supports indicator. | |
|
inlineconstexpr |
#include <spy/arch.hpp>
Architecture reporting value.
The spy::architecture object can be compared to any other architecture related value to verify if the code being compiled is compiled for a given CPU architecture.
Additionally, any of the architecture related value are convertible to bool. They evaluates to true if they matches the correct architecture currently targeted.
| Name | Architecture |
|---|---|
| spy::amd64 | Intel X86-64 and similar architectures. |
| spy::arm | ARM. |
| spy::ppc | PowerPC. |
| spy::riscv | RISC-V. |
| spy::wasm | WASM pseudo-architecture. |
| spy::x86 | Intel X86. |
|
inlineconstexpr |
#include <spy/data_model.hpp>
Data Model reporting value.
The spy::data_model object can be compared to any other data model related value to verify if the code being compiled for a specific data model
Additionally, any of the data model related value are convertible to bool. They evaluates to true if they matches the correct data model currently used.
| Name | Data Model |
|---|---|
| spy::ilp32 | ILP32 |
| spy::lp32 | LP32 |
| spy::silp64 | SILP64 |
| spy::ilp64 | ILP64 |
| spy::llp64 | LLP64 |
| spy::lp64 | LP64 |
|
inlineconstexpr |
#include <spy/os.hpp>
OS reporting value.
The spy::operating_system object can be compared to any other OS related value to verify if the code being compiled is compiled on a given Operating Systems.
Additionally, any of the OS related value are convertible to bool. They evaluates to true if they matches the correct OS currently used.
| Name | Operating System |
|---|---|
| spy::android_ | Android |
| spy::bsd | BSD |
| spy::cygwin_ | CYGWIN |
| spy::ios_ | iOS |
| spy::linux_ | Linux |
| spy::macos_ | MacOS |
| spy::unix_ | UNIX |
| spy::windows_ | Windows |
|
inlineconstexpr |
#include <spy/os.hpp>
POSIX supports indicator.
Evaluates to true if current OS supports POSIX system calls and functions.