GMP 0.3.0
Generative Metaprogramming library for C++
Loading...
Searching...
No Matches
platform.hpp File Reference

Go to the source code of this file.

Macros

Platform Detection

Compile-time operating system detection macros.

These macros expose the detected target platform as boolean constants and provide a human-readable platform name.

#define GMP_PLATFORM_WINDOWS
 Evaluate to 1 when compiling for Windows, otherwise 0.
 
#define GMP_PLATFORM_LINUX
 Evaluate to 1 when compiling for Linux, otherwise 0.
 
#define GMP_PLATFORM_MAC
 Evaluate to 1 when compiling for macOS, otherwise 0.
 
#define GMP_PLATFORM_IOS
 Evaluate to 1 when compiling for iOS, otherwise 0.
 
#define GMP_PLATFORM_ANDROID
 Evaluate to 1 when compiling for Android, otherwise 0.
 
#define GMP_PLATFORM_NAME
 Expand to a string literal describing the detected target platform.
 
Compiler Detection

Compile-time compiler detection macros.

These macros identify the active compiler and expose a numeric version and descriptive compiler name.

#define GMP_COMPILER_MSVC
 Evaluate to 1 when compiling with MSVC, otherwise 0.
 
#define GMP_COMPILER_GCC
 Evaluate to 1 when compiling with GCC, otherwise 0.
 
#define GMP_COMPILER_CLANG
 Evaluate to 1 when compiling with Clang, otherwise 0.
 
#define GMP_COMPILER_NAME
 Expand to a string literal describing the detected compiler.
 
#define GMP_COMPILER_VERSION
 Expand to a compiler-specific numeric version value.
 
Build Configuration Detection

Detect whether the current build is a debug or release build.

#define GMP_BUILD_DEBUG
 Evaluate to 1 for debug builds, otherwise 0.
 
#define GMP_BUILD_RELEASE
 Evaluate to 1 for release builds, otherwise 0.
 
#define GMP_BUILD_TYPE
 Expand to a string literal describing the active build configuration.
 
Architecture Detection

Detect the target processor architecture at compile time.

#define GMP_ARCH_X64
 Evaluate to 1 when targeting x64, otherwise 0.
 
#define GMP_ARCH_ARM64
 Evaluate to 1 when targeting ARM64, otherwise 0.
 
#define GMP_ARCH_X86
 Evaluate to 1 when targeting x86, otherwise 0.
 
#define GMP_ARCH_NAME
 Expand to a string literal describing the detected architecture.
 
Preprocessor Capabilities

Describe the supported preprocessor mode and argument limits.

#define GMP_MAX_MACRO_ARGS
 Maximum supported variadic macro arity for the active preprocessor mode.
 
#define GMP_PREPROCESSOR_TYPE
 Expand to a string literal describing the detected preprocessor mode.
 
#define GMP_STANDARD_PREPROCESSOR
 Evaluate to 1 when the compiler provides a standard-conforming preprocessor.