|  | 
|      | 
|  | 
| ReferenceBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 26. Boost.Predef 1.4.1
  
   | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | 4.0.0 | 
| < | 5.0.0 | 
| < | 6.0.0 | 
BOOST_ARCH_ARM
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | 8.0.0 | 
| < | V.0.0 | 
| < | V.0.0 | 
| < | V.0.0 | 
BOOST_ARCH_BLACKFIN
      Процессоры Blackfin от аналоговых устройств.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_ARCH_CONVEX
      Выпуклый компьютерархитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | 1.0.0 | 
| < | 2.0.0 | 
| < | 3.2.0 | 
| < | 3.4.0 | 
| < | 3.8.0 | 
BOOST_ARCH_IA64
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_ARCH_M68K
      Motorola 68kархитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | 6.0.0 | 
| < | 6.0.0 | 
| < | 6.0.0 | 
| < | 4.0.0 | 
| < | 4.0.0 | 
| < | 4.0.0 | 
| < | 3.0.0 | 
| < | 3.0.0 | 
| < | 3.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 1.0.0 | 
| < | 1.0.0 | 
| < | 1.0.0 | 
| < | 0.0.1 | 
| < | 0.0.1 | 
| < | 0.0.1 | 
BOOST_ARCH_MIPS
      MIPSархитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | V.0.0 | 
| < | 1.0.0 | 
| < | 1.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 3.0.0 | 
| < | 3.0.0 | 
| < | 4.0.0 | 
| < | 4.0.0 | 
BOOST_ARCH_PARISK
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | 1.0.0 | 
| < | 1.1.0 | 
| < | 1.1.0 | 
| < | 1.1.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
| < | 2.0.0 | 
BOOST_ARCH_PPC
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | 6.1.0 | 
| < | 6.1.0 | 
| < | 6.3.0 | 
| < | 6.3.0 | 
| < | 6.4.0 | 
| < | 6.4.0 | 
BOOST_ARCH_PYRAMID
      Архитектура пирамиды 9810.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_ARCH_RS6000
      RS/6000архитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_ARCH_SPARC
      SPARCархитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | 9.0.0 | 
| < | 8.0.0 | 
BOOST_ARCH_SH
      Архитектура SuperH: Если доступные версии [1-5] специально обнаружены.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | 5.0.0 | 
| < | 4.0.0 | 
| < | 3.0.0 | 
| < | 3.0.0 | 
| < | 2.0.0 | 
| < | 1.0.0 | 
BOOST_ARCH_SYS370
      Система/370архитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_ARCH_SYS390
      Система/390архитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_ARCH_X86
      Intel x86архитектура. Это категория, указывающая, что либо<BOOST_ARCH_X86_32>, либо<BOOST_ARCH_X86_64>обнаружено.
BOOST_ARCH_Z
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_ARCH_X86_32
      Архитектура Intel x86: Если доступные версии [3-6] специально обнаружены.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | V.0.0 | 
| < | V.0.0 | 
| < | 6.0.0 | 
| < | 5.0.0 | 
| < | 4.0.0 | 
| < | 3.0.0 | 
BOOST_ARCH_X86_64
      Intel IA-64архитектура.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_COMP_BORLAND
      Компилятор Borland C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_COMP_CLANG
      Клангкомпилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_COMO
      Комо С++компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_DEC
      Compaq C/C++Компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_COMP_DIAB
      Диаб C/C++Компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_DMC
      Компилятор Digital Mars. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_SYSC
      Компилятор Dignus Systems/C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_EDG
      EDG C++ Фронтендкомпилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.0 | 
BOOST_COMP_PATH
      Компилятор EKOpath. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_GNUC
      Gnu GCC C/C++Компилятор. Номер версии, доступный как Major, minor и patch (если есть).
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.0 | 
BOOST_COMP_GCCXML
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_COMP_GHS
      Компилятор Green Hills C/C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_COMP_HPACC
      HP aC++ компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_IAR
      Компилятор IAR C/C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_IBM
      IBM XL C/C++Компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_COMP_INTEL
      Компилятор Intel C/C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_KCC
      Компилятор Kai C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_LLVM
      LLVMкомпилятор.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_COMP_HIGHC
      Компилятор MetaWare High C/C++.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_COMP_MWERKS
      Компилятор Metrowerks CodeWarrior. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | V.R.P >= 4.2.0 | 
| < | 9.R.0 | 
| < | 8.R.0 | 
BOOST_COMP_MRI
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_COMP_MPW
      MPW C++компилятор. Номер версии доступен как основной, так и второстепенный.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.0 | 
BOOST_COMP_PALM
      Palm C/C++ компилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_PGI
      Компилятор Portland Group C/C++.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_COMP_SGI
      SGI MIPSproкомпилятор. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_COMP_SUNPRO
      Компилятор Oracle Solaris Studio. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
| < | VV.RR.P | 
| < | VV.RR.P | 
BOOST_COMP_TENDRA
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_COMP_MSVC
      Компилятор Microsoft Visual C/C++Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.0 | 
BOOST_COMP_WATCOM
      Компилятор Watcom C++. Номер версии доступен как основной, так и второстепенный.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LANG_OBJC
      Объектив-Сязык.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_LANG_STDC
      Стандартный язык C. При наличии года стандарта определяется как YYYY. ММ.1 с даты Эпохи.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LANG_STDCPP
      Стандартный язык C++. При наличии года стандарта определяется как YYYY. ММ.1 с даты Эпохи. Из-за того, как работает процесс стандартизации C++, определенный год версии не будет широко известным годом стандарта. Конкретно определены версии:
Table 26.1. Detected Version Number vs. C++ Standard Year
| Обнаружен номер версии | Стандартный год | C++ Стандарт | 
|---|---|---|
| 27.11.1 | 1998 | ISO/IEC 14882:1998 | 
| 41.12.1 | 2011 | ISO/IEC 14882:2011 | 
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | YYYY.MM.1 | 
BOOST_LANG_STDCPPCLI
      Стандартный язык C++/CLI. При наличии года стандарта определяется как YYYY. ММ.1 с даты Эпохи.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | YYYY.MM.1 | 
BOOST_LANG_STDECPP
      Стандартный встроенный язык C++.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_LIB_C_GNU
      GNU glibcСтандартная библиотека C. Номер версии доступен как основной, так и второстепенный.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.0 | 
| < | В.Р.0 | 
BOOST_LIB_C_UC
      uClibcСтандартная библиотека С.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LIB_C_VMS
      Библиотека VMS libc Standard C. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LIB_C_ZOS
      z/OS libc Стандартная библиотека C. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_LIB_STD_CXX
      libc++C++ Стандартная библиотека.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | V.0.P | 
BOOST_LIB_STD_DINKUMWARE
      DinkumwareСтандартная библиотека C++. При наличии номера версии как Major, minor, так и patch.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.0 | 
BOOST_LIB_STD_COMO
      Comeau ComputingСтандартный C++ Библиотека. Номер версии доступен как основной.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | V.0.0 | 
BOOST_LIB_STD_MSIPL
      Modena Software Lib++Стандартная библиотека C++.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_LIB_STD_MSL
      MetrowerksСтандартная библиотека C++. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_LIB_STD_RW
      RoguewaveСтандартная библиотека C++. При наличии номера версии как Major, minor, так и patch.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LIB_STD_SGI
      SGIСтандартная библиотека C++. При наличии номера версии как Major, minor, так и patch.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_LIB_STD_GNU
      GNU libstdc++Стандартная библиотека C++. Номер версии: год (с 1970), месяц и день.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_LIB_STD_STLPORT
      STLport Standard C++библиотека. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | В.Р.П | 
| < | В.Р.П | 
BOOST_LIB_STD_IBM
      Библиотека IBM VACPP Standard C++.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_AIX
      IBM AIXоперационная система. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | 4.3.0 | 
| < | 4.1.0 | 
| < | 3.2.0 | 
| < | 3.0.0 | 
BOOST_OS_AMIGAOS
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_ANDROID
      Androidоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_BEOS
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_BSD
      BSD имеет различные операционные системы, каждая из которых обнаружена индивидуально. Это определяет следующие вариации и устанавливает конкретный макрос номера версии для соответствия:
BOOST_OS_BSD_DRAGONFLY>DragonFly BSDBOOST_OS_BSD_FREE>FreeBSDBOOST_OS_BSD_BSDI>BSDi BSD/OSBOOST_OS_BSD_NET>NetBSDBOOST_OS_BSD_OPEN>OpenBSD| ![[Note]](/img/note.png) | Note | 
|---|---|
| Общий< | 
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | 4.2.0 | 
| < | 4.3.0 | 
| < | 4.4.0 | 
| < | В.Р.0 | 
BOOST_OS_CYGWIN
      ЦигвинЭкология.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_HAIKU
      Haikuоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_HPUX
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_IOS
      iOSоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED___1000 | 
BOOST_OS_IRIX
      IRIXоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_LINUX
      Linuxоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_MACOS
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | 10.0.0 | 
| иначе | 9.0.0 | 
BOOST_OS_OS400
      Операционная система IBM OS/400.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_QNX
      QNXоперационная система. Номер версии доступен как крупный, так и незначительный, если это возможно. Версия 4 была специально разработана.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.0 | 
| < | 4.0.0 | 
BOOST_OS_SOLARIS
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_UNIX
      Unix Environmentоперационная система.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_SVR4
      Операционная система SVR4 Environment.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_VMS
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_OS_WINDOWS
      Операционная система Microsoft Windows.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_OS_BSD_BSDI
      Операционная система BSDi BSD/OS.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_BSD_DRAGONFLY
      Дракон Операционная система Fly BSD.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_OS_BSD_FREE
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | В.Р.П | 
BOOST_OS_BSD_NET
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.П | 
| < | 0,8,0 | 
| < | 0.9.0 | 
| < | 1.0.0 | 
| < | В.Р.П | 
BOOST_OS_BSD_OPEN
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | 2.0.0 | 
| < | 2.1.0 | 
| < | 2.2.0 | 
| < | 2.3.0 | 
| < | 2.4.0 | 
| < | 2.5.0 | 
| < | 2.6.0 | 
| < | 2.7.0 | 
| < | 2.8.0 | 
| < | 2.9.0 | 
| < | 3.0.0 | 
| < | 3.1.0 | 
| < | 3.2.0 | 
| < | 3.3.0 | 
| < | 3.4.0 | 
| < | 3.5.0 | 
| < | 3.6.0 | 
| < | 3.7.0 | 
| < | 3.8.0 | 
| < | 3.9.0 | 
| < | 4.0.0 | 
| < | 4.1.0 | 
| < | 4.2.0 | 
| < | 4.3.0 | 
| < | 4.4.0 | 
| < | 4.5.0 | 
| < | 4.6.0 | 
| < | 4.7.0 | 
| < | 4.8.0 | 
| < | 4.9.0 | 
BOOST_PLAT_MINGW
      Платформа MinGW. Номер версии доступен как основной, второстепенный и патч.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | В.Р.0 | 
| < | В.Р.0 | 
BOOST_PLAT_WINDOWS_DESKTOP
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_PLAT_WINDOWS_PHONE
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
BOOST_PLAT_WINDOWS_RUNTIME
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_PLAT_WINDOWS_STORE
      | символ | Версия | 
|---|---|
| < | Обнаружение | 
Предефы SIMD зависят от опций компилятора. Например, вам придется добавить опцию<-msse3>в clang или gcc, чтобы включить SSE3. Предисловия SIMD также являются инклюзивными. Это означает, что если SSE3 включен, то все другие расширения с более низким номером версии будут включены и обнаружены. Однако некоторые расширения являются специфичными для процессора, они не могут быть обнаружены или включены при включении верхней версии.
| ![[Note]](/img/note.png) | Note | 
|---|---|
| SSE(1) и SSE2 автоматически включаются по умолчанию при использовании архитектуры x86-64. | 
Чтобы проверить, включено ли какое-либо расширение SIMD, вы можете использовать:
#include <boost/predef/hardware/simd.h> #include <iostream> int main() { #if defined(BOOST_HW_SIMD_AVAILABLE) std::cout << "SIMD detected!" << std::endl; #endif return 0; }
При написании определенного кода SIMD вы можете проверить, было ли обнаружено конкретное расширение. Для этого вам нужно использовать правильную архитектуру и сравнить ее. Они имеют форму<BOOST_HW_SIMD_"ARCH">(где<"ARCH">или<ARM>,<PPC>или<X86>). Например, если вы компилируете код для архитектуры x86, вам придется использовать<BOOST_HW_SIMD_X86>. Его значением будет номер версии самого последнего SIMD-расширения, обнаруженного для архитектуры.
Чтобы проверить, включено ли расширение:
#include <boost/predef/hardware/simd.h> #include <iostream> int main() { #if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE3_VERSION std::cout << "This is SSE3!" << std::endl; #endif return 0; }
| ![[Note]](/img/note.png) | Note | 
|---|---|
| _VERSIONопределяет номер версии карты на реальные реальные идентификаторы. Таким образом, легче писать сравнения, не путая номера версий. | 
Чтобы«строго»проверить последнее обнаруженное расширение:
#include <boost/predef/hardware/simd.h> #include <iostream> int main() { #if BOOST_HW_SIMD_X86 == BOOST_HW_SIMD_X86_SSE3_VERSION std::cout << "This is SSE3 and this is the most recent enabled extension!" << std::endl; #endif return 0; }
Из-за систем версий предефов и инклюзивного свойства макросов расширений SIMD вы можете легко проверить диапазоны поддерживаемых расширений:
#include <boost/predef/hardware/simd.h> #include <iostream> int main() { #if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE2_VERSION &&\ BOOST_HW_SIMD_X86 <= BOOST_HW_SIMD_X86_SSSE3_VERSION std::cout << "This is SSE2, SSE3 and SSSE3!" << std::endl; #endif return 0; }
BOOST_HW_SIMD
        Расширение SIMD для определенных архитектур. Номер версии зависит от обнаруженного расширения.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
BOOST_HW_SIMD_X86
        Расширение SIMD для x86при обнаружении. Номер версии зависит от самого последнего обнаруженного расширения.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| символ | Версия | 
|---|---|
| < | BOOST_HW_SIMD_X86_SSE_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE2_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE2_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE2_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE3_VERSION | 
| < | BOOST_HW_SIMD_X86_SSSE3_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE4_1_VERSION | 
| < | BOOST_HW_SIMD_X86_SSE4_2_VERSION | 
| < | BOOST_HW_SIMD_X86_AVX_VERSION | 
| < | BOOST_HW_SIMD_X86_FMA3_VERSION | 
| < | BOOST_HW_SIMD_X86_AVX2_VERSION | 
BOOST_HW_SIMD_X86_AMD
        Расширение SIMD для x86 (AMD)при обнаружении. Номер версии зависит от самого последнего обнаруженного расширения.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| символ | Версия | 
|---|---|
| < | BOOST_HW_SIMD_X86_SSE4A_VERSION | 
| < | BOOST_HW_SIMD_X86_FMA4_VERSION | 
| < | BOOST_HW_SIMD_X86_XOP_VERSION | 
| < | BOOST_HW_SIMD_X86 | 
| ![[Note]](/img/note.png) | Note | 
|---|---|
| Этот предеф включает в себя все другие расширения x86 SIMD, а также имеет другие более конкретные расширения (FMA4, XOP, SSE4a). Вы должны использовать этот предеф вместо< | 
BOOST_HW_SIMD_ARM
        Расширение SIMD для ARMпри обнаружении. Номер версии зависит от самого последнего обнаруженного расширения.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| символ | Версия | 
|---|---|
| < | BOOST_HW_SIMD_ARM_NEON_VERSION | 
| < | BOOST_HW_SIMD_ARM_NEON_VERSION | 
| < | BOOST_HW_SIMD_ARM_NEON_VERSION | 
BOOST_HW_SIMD_PPC
        Расширение SIMD для PowerPCпри обнаружении. Номер версии зависит от самого последнего обнаруженного расширения.
| символ | Версия | 
|---|---|
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| < | Обнаружение | 
| символ | Версия | 
|---|---|
| < | BOOST_HW_SIMD_PPC_QPX_VERSION | 
| < | BOOST_HW_SIMD_PPC_VMX_VERSION | 
| < | BOOST_HW_SIMD_PPC_VMX_VERSION | 
| < | BOOST_HW_SIMD_PPC_VSX_VERSION | 
Эти определения представляют собой версии расширений x86 SIMD.
| ![[Note]](/img/note.png) | Note | 
|---|---|
| ВыДОЛЖНЫсравнить их с предефом< | 
BOOST_HW_SIMD_X86_MMX_VERSION
        Номер версии расширенияMMXx86.
Номер версии:0.99.0.
BOOST_HW_SIMD_X86_SSE_VERSION
        Номер версии расширенияSSEx86.
Номер версии:1.0.0.
BOOST_HW_SIMD_X86_SSE2_VERSION
        Номер версии расширенияSSE2x86.
Номер версии:2.0.0.
BOOST_HW_SIMD_X86_SSE3_VERSION
        Номер версии расширенияSSE3x86.
Номер версии:3.0.0.
BOOST_HW_SIMD_X86_SSSE3_VERSION
        Номер версии расширенияSSSE3x86.
Номер версии:3.1.0.
BOOST_HW_SIMD_X86_SSE4_1_VERSION
        Номер версии расширенияSSE4_1x86.
Номер версии:4.1.0.
BOOST_HW_SIMD_X86_SSE4_2_VERSION
        Номер версии расширенияSSE4_2x86.
Номер версии:4.2.0.
BOOST_HW_SIMD_X86_AVX_VERSION
        Номер версии расширенияAVXx86.
Номер версии:5.0.0.
BOOST_HW_SIMD_X86_FMA3_VERSION
        Номер версии расширенияFMA3x86.
Номер версии:5.2.0.
BOOST_HW_SIMD_X86_AVX2_VERSION
        Номер версии расширенияAVX2x86.
Номер версии:5.3.0.
BOOST_HW_SIMD_X86_MIC_VERSION
        MIC(Xeon Phi) x86 номер версии расширения.
Номер версии:9.0.0.
Эти определения представляют собой версии расширений SIMD x86 (AMD specific).
| ![[Note]](/img/note.png) | Note | 
|---|---|
| ВыДОЛЖНЫсравнить их с предефом< | 
BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION
        Расширение SSE4Ax86 (специфическое для AMD).
Номер версии:4.0.0.
BOOST_HW_SIMD_X86_AMD_FMA4_VERSION
        Расширение FMA4x86 (специфическое для AMD).
Номер версии:5.1.0.
BOOST_HW_SIMD_X86_AMD_XOP_VERSION
        Расширение XOPx86 (специфическое для AMD).
Номер версии:5.1.1.
Эти определения представляют собой версии расширений ARM SIMD.
| ![[Note]](/img/note.png) | Note | 
|---|---|
| ВыДОЛЖНЫсравнить их с предефом< | 
BOOST_HW_SIMD_ARM_NEON_VERSION
        NEONARM номер версии расширения.
Номер версии:1.0.0.
Эти определения представляют собой версии расширений Power PC SIMD.
| ![[Note]](/img/note.png) | Note | 
|---|---|
| ВыДОЛЖНЫсравнить их с предефом< | 
BOOST_HW_SIMD_PPC_VMX_VERSION
        VMXномер версии расширения Powerpc.
Номер версии:1.0.0.
BOOST_HW_SIMD_PPC_VSX_VERSION
        VSXномер версии расширения Powerpc.
Номер версии:1.1.0.
BOOST_HW_SIMD_PPC_QPX_VERSION
        Номер версии расширения QPX Powerpc.
Номер версии:2.0.0.
BOOST_ENDIAN_*
      Обнаружение эндианного порядка памяти. В этом заголовке есть четыре определенных макроса, которые определяют различные, как правило, возможные эндианные упорядочения памяти:
BOOST_ENDIAN_BIG_BYTE>, бигэндиан с байтами.BOOST_ENDIAN_BIG_WORD>, перевернутый словами биг-эндиан.BOOST_ENDIAN_LITTLE_BYTE>, байт-свэп малоэндиан.BOOST_ENDIAN_LITTLE_WORD>, слово-swapped little-endian.Обнаружение является консервативным, поскольку оно определяет только эндианность, которую оно знает наверняка. В частности, биэндианность не указывается, так как практически невозможно определить эндианность из чего-либо, кроме предоставленного заголовка операционной системы. И известные в настоящее время заголовки не определяют, что программная биэндианность доступна.
Эта реализация представляет собой компиляцию различной общедоступной информации и приобретенных знаний:
BOOST_VERSION_NUMBER
      BOOST_VERSION_NUMBER(major,minor,patch)
Определяет стандартные номера версий с такими свойствами:
major>может находиться в диапазоне [0,99].minor>может находиться в диапазоне [0,99].patch>может находиться в диапазоне [0,99999].BOOST_PREDEF_MAKE_..
        macros
      Эти наборы макросов разлагают общие макросы номеров версий поставщиков, которые состоят из версий, изменений и патчей. В Конвенции об именовании указывается:
BOOST_PREDEF_MAKE_0X>» для шестнадцатеричных цифр и «<BOOST_PREDEF_MAKE_10>» для десятичных цифр.V>» указывает цифры версии, «<R>» указывает цифры пересмотра, «<P>» указывает цифры исправления, а «<0>» указывает проигнорированную цифру.Макросы:
<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_0X_VVRRPP(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
      Макросы разложения дат возвращают дату относительно даты Эпохи 1970 года. Если месяц недоступен, 1 января используется как месяц и день. Если день недоступен, но месяц есть, 1-е число месяца используется как день.
<BOOST_PREDEF_MAKE_DATE(Y,M,D)>
<BOOST_PREDEF_MAKE_YYYYMMDD(V)>
<BOOST_PREDEF_MAKE_YYYY(V)>
<BOOST_PREDEF_MAKE_YYYYMM(V)>
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 26. Boost.Predef 1.4.1 может быть полезна для разработчиков на c++ и boost.
:: Главная :: Chapter 26. Boost.Predef 1.4.1 ::
| реклама |