Introduction
The arch library is a repository for all architecture-dependent code. It isolates all platform dependencies (and confusing #ifdefs) into one small library and also serves as a common area for documentation of these multi-platform issues.
The high-level grouping of the classes/functions is:
Symbols for use within libarch:
For OS:
ARCH_OS_LINUXARCH_OS_DARWINARCH_OS_WINDOWS
For processor:
ARCH_CPU_INTELARCH_CPU_ARM
For bits:
ARCH_BITS_64
For compiler:
ARCH_COMPILER_CLANGARCH_COMPILER_CLANG_MAJORARCH_COMPILER_CLANG_MINORARCH_COMPILER_CLANG_PATCHLEVEL
ARCH_COMPILER_GCCARCH_COMPILER_GCC_MAJORARCH_COMPILER_GCC_MINORARCH_COMPILER_GCC_PATCHLEVEL
ARCH_COMPILER_MSVCARCH_COMPILER_MSVC_VERSION
ARCH_COMPILER_ICC