PrevUpHome

Reference

BOOST_ARCH architecture macros
BOOST_COMP compiler macros
BOOST_LANG language standards macros
BOOST_LIB library macros
BOOST_OS_ operating system macros
Version definition macros
BOOST_ARCH_ALPHA, DEC Alpha

Symbol

Version

__alpha__

detection

__alpha

detection

_M_ALPHA

detection

__alpha_ev4__

4.0.0

__alpha_ev5__

5.0.0

__alpha_ev6__

6.0.0

BOOST_ARCH_AMD64, Advanced Micro Devices AMD 64 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_ARM

ARM architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_CONVEX

Convex Computer architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_IA64

Intel IA-64 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_M68K

Motorola 68k architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_MIPS

MIPS architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_PARISK

HP/PA RISC architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_PPC

PowerPC architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_PYRAMID

Pyramid 9810 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_RS6000

RS/6000 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_SPARC

SPARC architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_SH

SuperH architecture: If available versions [1-5] are specifically detected.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_SYS370

System/370 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_SYS390

System/390 architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_X86

Intel x86 architecture: If available versions [3-6] are specifically detected.

Symbol

Version

____

detection

____

V.R.P

BOOST_ARCH_Z

z/Architecture architecture.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_BORLAND

Borland C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_CLANG

Clang compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_COMO

Comeau C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_DEC

Compaq C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_DIAB

Diab C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_DMC

Digital Mars compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_SYSC

Dignus Systems/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_EDG

EDG C++ Frontend compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_PATH

EKOpath compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_GNUC

Gnu GCC C/C++ compiler. Version number available as major, minor, and patch (if available).

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_GCCXML

GCC XML compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_GHS

Green Hills C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_HPACC

HP aC++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_IAR

IAR C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_IBM

IBM XL C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_INTEL

Intel C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_KCC

Kai C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_LLVM

LLVM compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_HIGHC

MetaWare High C/C++ compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_MWERKS

Metrowerks CodeWarrior compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_MRI

Microtec C/C++ compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_MINGW

MinGW compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_MPW

MPW C++ compiler. Version number available as major, and minor.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_PALM

Palm C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_PGI

Portland Group C/C++ compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_SGI

SGI MIPSpro compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_SUNPRO

Sun Studio compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_TENDRA

TenDRA C/C++ compiler.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_MSVC

Microsoft Visual C/C++ compiler. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_COMP_WATCOM

Watcom C++ compiler. Version number available as major, and minor.

Symbol

Version

____

detection

____

V.R.P

BOOST_LANG_OBJC

Objective-C language.

Symbol

Version

____

detection

____

V.R.P

BOOST_LANG_STDC

Standard C language. If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.

Symbol

Version

__STDC__

detection

__STDC_VERSION__

V.R.P

BOOST_LANG_STDCPP

Standard C++ language. If available, the year of the standard is detected as 0.0.YYYY. Because of the way the C++ standardization process works the defined version year will not be the commonly known year standard. Specifically the defined versions are:

Table 1. Detected Version Number vs. C++ Standard Year

Detected Version Number

Standard Year

C++ Standard

27.11.1

1998

ISO/IEC 14882:1998

41.12.1

2011

ISO/IEC 14882:2011


Symbol

Version

____

detection

____

V.R.P

BOOST_LANG_STDCPPCLI

Standard C++/CLI language. If available, the year of the standard is detected as YYYY.MM.1.

BOOST_LANG_STDECPP

Standard Embedded C++ language.

BOOST_LIB_C_GNU

GNU glibc Standard C library. Version number available as major, and minor.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_C_UC

uClibc Standard C library. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_C_VMS

VMS libc Standard C library. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_C_ZOS

z/OS libc Standard C library. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_CXX

libc++ C++ Standard Library. If available version number as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_DINKUMWARE

Dinkumware Standard C++ Library. If available version number as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_COMO

Comeau Computing Standard C++ Library. Version number available as major.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_MSIPL

Modena Software Lib++ Standard C++ Library.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_MSL

Metrowerks Standard C++ Library. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_RW

Roguewave Standard C++ library. If available version number as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_SGI

SGI Standard C++ library. If available version number as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_GNU

GNU libstdc++ Standard C++ library. Version number available as year (from 1970), month, and day.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_STLPORT

STLport Standard C++ library. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_LIB_STD_IBM

IBM VACPP Standard C++ library.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_AIX

IBM AIX operating system. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_AMIGAOS

AmigaOS operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_BEOS

BeOS operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_BSD

BSD operating system.

BSD has various branch operating systems possible and each detected individually. This detects the following variations and sets a specific version number macro to match:

[Note] Note

The general BOOST_OS_BSD is set in all cases to indicate some form of BSD. If the above variants is detected the corresponding macro is also set.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_CYGWIN

Cygwin evironment.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_HPUX

HP-UX operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_IRIX

IRIX operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_LINUX

Linux operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_MACOS

Mac OS operating system. Versions [9-10] are specifically detected.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_OS400

IBM OS/400 operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_QNX

QNX operating system. Version number available as major, and minor if possible. And version 4 is specifically detected.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_SOLARIS

Solaris operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_UNIX

Unix Environment operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_SVR4

SVR4 Environment operating system.

BOOST_OS_VMS

VMS operating system. Version number available as major, minor, and patch.

Symbol

Version

____

detection

____

V.R.P

BOOST_OS_WINDOWS

Microsoft Windows operating system.

Symbol

Version

____

detection

____

V.R.P

BOOST_VERSION_NUMBER
BOOST_VERSION_NUMBER(major,minor,patch)

Defines standard version numbers, with these properties:

  • Decimal base whole numbers in the range [0,1000000000). The number range is designed to allow for a (2,2,5) triplet. Which fits within a 32 bit value.
  • The major number can be in the [0,99] range.
  • The minor number can be in the [0,99] range.
  • The patch number can be in the [0,99999] range.
  • Values can be specified in any base. As the defined value is an constant expression.
  • Value can be directly used in both preprocessor and compiler expressions for comparison to other similarly defined values.
  • The implementation enforces the individual ranges for the major, minor, and patch numbers. And values over the ranges are truncated (modulo).
BOOST_PREDEF_MAKE_.. macros

These set of macros decompose common vendor version number macros which are composed version, revision, and patch digits. The naming convention indicates:

  • The base of the specified version number. "BOOST_PREDEF_MAKE_0X" for hexadecimal digits, and "BOOST_PREDEF_MAKE_10" for decimal digits.
  • The format of the vendor version number. Where "V" indicates the version digits, "R" indicates the revision digits, "P" indicates the patch digits, and "0" indicates an ignored digit.

Macros are:

BOOST_PREDEF_MAKE_0X_VRP(V)

BOOST_PREDEF_MAKE_0X_VVRP(V)

BOOST_PREDEF_MAKE_0X_VRPP(V)

BOOST_PREDEF_MAKE_0X_VVRR(V)

BOOST_PREDEF_MAKE_0X_VRRPPPP(V)

BOOST_PREDEF_MAKE_0X_VVRRP(V)

BOOST_PREDEF_MAKE_0X_VRRPP000(V)

BOOST_PREDEF_MAKE_10_VPPP(V)

BOOST_PREDEF_MAKE_10_VRP(V)

BOOST_PREDEF_MAKE_10_VRP000(V)

BOOST_PREDEF_MAKE_10_VRPP(V)

BOOST_PREDEF_MAKE_10_VRR(V)

BOOST_PREDEF_MAKE_10_VRRPP(V)

BOOST_PREDEF_MAKE_10_VRR000(V)

BOOST_PREDEF_MAKE_10_VV00(V)

BOOST_PREDEF_MAKE_10_VVRR(V)

BOOST_PREDEF_MAKE_10_VVRRPP(V)

BOOST_PREDEF_MAKE_10_VVRR0PP00(V)

BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)

BOOST_PREDEF_MAKE_10_VVRR00PP00(V)

BOOST_PREDEF_MAKE_*.. date macros

Date decomposition macros return a date in the relative to the 1970 Epoch date. If the month is not available, January 1st is used as the month and day. If the day is not available, but the month is, the 1st of the month is used as the day.

BOOST_PREDEF_MAKE_DATE(Y,M,D)

BOOST_PREDEF_MAKE_YYYYMMDD(V)

BOOST_PREDEF_MAKE_YYYY(V)

BOOST_PREDEF_MAKE_YYYYMM(V)


PrevUpHome