|
spy v3.0.0
Andrée Borrel
|
The C++ standard in force, and the C and C++ standard library implementations. More...
The C++ standard in force, and the C and C++ standard library implementations.
What the code is allowed to say and what it can call: the standard the compiler was told to follow, and the two library implementations behind the headers it includes.
Variables | |
| constexpr spy_implementation_defined | spy::cpp_standard {} |
| C++ standard version reporting value. | |
| constexpr auto | spy::libc = libc_type {} |
| LIBC version reporting value. | |
| constexpr auto | spy::stdlib = stdlib_type {} |
| C++ Standard Library version reporting value. | |
|
inlineconstexpr |
#include <spy/standard.hpp>
C++ standard version reporting value.
The spy::cpp_standard object can be compared to any other C++ standard related value to verify if the code being compiled with a specific version of the C++ standard. It reports 20, 23 or 26, and 0 when the standard version is unknown.
The targeted version is specified either as an integer or with the _cpp literal.
|
inlineconstexpr |
#include <spy/libc.hpp>
LIBC version reporting value.
The spy::libc object can be compared to any other libc related value to verify if the code being compiled with a specific version of the libc.
Any libc related value can be checked for equality or ordering for a given version. The targeted version is then specified using a libc-dependent literal.
Additionally, any of the libc related value are convertible to bool. They evaluates to true if they matches the correct libc currently used.
| Name | Vendor |
|---|---|
| spy::cloudabi_ | CloudABI |
| spy::uc_ | uClibc |
| spy::vms_ | VMS |
| spy::zos_ | zOS |
| spy::gnu_ | GNU |
|
inlineconstexpr |
#include <spy/stdlib.hpp>
C++ Standard Library version reporting value.
The spy::stdlib object can be compared to any other stdlib related value to verify if the code being compiled with a specific version of the C++ standard library.
Any stdlib related value can be checked for equality or ordering for a given version. The targeted version is then specified using a stdlib-dependent literal.
Additionally, any of the stdlib related value are convertible to bool. They evaluates to true if they matches the correct standard library currently used.
| Name | Vendor |
|---|---|
| spy::libcpp_ | Clang libcpp |
| spy::gnucpp_ | GNU C++ standard library |