Compare commits

..

1 Commits

151 changed files with 3949 additions and 10475 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
.bin
bin
boost-build.jam
project-config.jam
*.pyc

17
.project Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Boost Predef</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>

5
.pydevproject Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?><pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python interpreter</pydev_property>
</pydev_project>

View File

@ -20,12 +20,13 @@
# Only need the basic minimum of project, add_library, and
# target_include_directories commands.
cmake_minimum_required( VERSION 3.0 )
# We support 3.0, but prefer 3.16 policies and behavior
cmake_minimum_required( VERSION 3.0...3.16 )
# Don't set VERSION, as that's a pita to keep up to date with the version
# header. And don't set LANGUAGES as we are multi-language and header
# only, so it's irrelevant.
project( BoostPredef LANGUAGES NONE )
# Keep VERSION empty when outside the superproject, as that's a pita to
# keep up to date with the version header. And don't set LANGUAGES as we
# are multi-language and header only, so it's irrelevant.
project( BoostPredef VERSION "${BOOST_SUPERPROJECT_VERSION}" )
# Simple INTERFACE, and header only, library target.
add_library( boost_predef INTERFACE )
@ -36,3 +37,10 @@ target_include_directories( boost_predef INTERFACE include )
# Add an alias to be compatible with consumers that may have used the
# FindBoost script.
add_library( Boost::predef ALIAS boost_predef )
if(BOOST_SUPERPROJECT_VERSION)
include(BoostInstall)
boost_install(TARGETS boost_predef HEADER_DIRECTORY include/)
endif()

View File

@ -2,7 +2,7 @@
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#
# Copyright Rene Rivera 2019-2020.
# Copyright Rene Rivera 2019.
trigger:
branches:
@ -19,208 +19,185 @@ variables:
AZP: 1
AZP_REPO_DIR: $(Build.Repository.LocalPath)
AZP_BRANCH: $(Build.SourceBranch)
AZP_BRANCH_NAME: $(Build.SourceBranchName)
AZP_COMMIT: $(Build.SourceVersion)
AZP_REPO: $(Build.Repository.Name)
AZP_PULL_REQUEST: $(System.PullRequest.PullRequestNumber)
stages:
jobs:
- stage: Test
jobs:
- job: 'Linux'
pool:
vmImage: 'ubuntu-16.04'
strategy:
matrix:
GCC 8 (GNU):
TOOLSET: gcc-8
CXXSTD: 03,11,14,17,2a
CXXDIALECT: gnu
GCC 8 (ISO):
TOOLSET: gcc-8
CXXSTD: 03,11,14,17,2a
GCC 7:
TOOLSET: gcc-7
GCC 6:
TOOLSET: gcc-6
GCC 5:
TOOLSET: gcc-5
GCC 4.9:
TOOLSET: gcc-4.9
GCC 4.8:
TOOLSET: gcc-4.8
GCC 4.7:
TOOLSET: gcc-4.7
Clang 8:
TOOLSET: clang-8
Clang 7:
TOOLSET: clang-7
Clang 6:
TOOLSET: clang-6.0
Clang 5:
TOOLSET: clang-5.0
Clang 4:
TOOLSET: clang-4.0
Clang 3.9:
TOOLSET: clang-3.9
Clang 3.8:
TOOLSET: clang-3.8
Clang 3.7:
TOOLSET: clang-3.7
Clang 3.6:
TOOLSET: clang-3.6
Clang 3.5:
TOOLSET: clang-3.5
steps:
- task: UsePythonVersion@0
- script: python tools/ci/library_test.py install
failOnStderr: false
displayName: Install
- script: python tools/ci/library_test.py script
failOnStderr: false
displayName: Test
- job: 'Linux'
strategy:
matrix:
GCC 10 (GNU): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=gnu' }
GCC 10 (ISO): { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,2a cxxstd-dialect=iso' }
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 9: { CXX: g++-9, PACKAGES: g++-9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 8: { CXX: g++-8, PACKAGES: g++-8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 7: { CXX: g++-7, PACKAGES: g++-7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 6: { CXX: g++-6, PACKAGES: g++-6, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 5: { CXX: g++-5, PACKAGES: g++-5, VM_IMAGE: 'ubuntu-18.04', TOOLSET: gcc }
GCC 4.9: { CXX: g++-4.9, PACKAGES: g++-4.9, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
GCC 4.8: { CXX: g++-4.8, PACKAGES: g++-4.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
GCC 4.7: { CXX: g++-4.7, PACKAGES: g++-4.7, VM_IMAGE: 'ubuntu-16.04', TOOLSET: gcc }
Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: bionic, LLVM_VER: 11, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 10: { CXX: clang++-10, PACKAGES: clang-10, LLVM_OS: bionic, LLVM_VER: 10, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 9: { CXX: clang++-9, PACKAGES: clang-9, LLVM_OS: bionic, LLVM_VER: 9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 8: { CXX: clang++-8, PACKAGES: clang-8, LLVM_OS: bionic, LLVM_VER: 8, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 7: { CXX: clang++-7, PACKAGES: clang-7, LLVM_OS: bionic, LLVM_VER: 7, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 6.0: { CXX: clang++-6.0, PACKAGES: clang-6.0, LLVM_OS: bionic, LLVM_VER: 6.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 5.0: { CXX: clang++-5.0, PACKAGES: clang-5.0, LLVM_OS: bionic, LLVM_VER: 5.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 4.0: { CXX: clang++-4.0, PACKAGES: clang-4.0, LLVM_OS: xenial, LLVM_VER: 4.0, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 3.9: { CXX: clang++-3.9, PACKAGES: clang-3.9, LLVM_OS: xenial, LLVM_VER: 3.9, VM_IMAGE: 'ubuntu-18.04', TOOLSET: clang }
Clang 3.8: { CXX: clang++-3.8, PACKAGES: clang-3.8, LLVM_OS: xenial, LLVM_VER: 3.8, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.7: { CXX: clang++-3.7, PACKAGES: clang-3.7, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.6: { CXX: clang++-3.6, PACKAGES: clang-3.6, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
Clang 3.5: { CXX: clang++-3.5, PACKAGES: clang-3.5, LLVM_OS: xenial, VM_IMAGE: 'ubuntu-16.04', TOOLSET: clang }
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
./tools/ci/linux-cxx-install.sh
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/boostorg/build/archive/develop.tar.gz
tar -zxf develop.tar.gz
cd build-develop
CXX= ./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
- bash: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
popd
displayName: Test
- job: 'macOS'
strategy:
matrix:
Xcode 10.1:
TOOLSET: xcode-10.1
XCODE_APP: /Applications/Xcode_10.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.0:
TOOLSET: xcode-10.0
XCODE_APP: /Applications/Xcode_10.app
VM_IMAGE: 'macOS-10.14'
Xcode 9.4.1:
TOOLSET: xcode-9.4.1
XCODE_APP: /Applications/Xcode_9.4.1.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.4:
TOOLSET: xcode-9.4
XCODE_APP: /Applications/Xcode_9.4.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.3.1:
TOOLSET: xcode-9.3.1
XCODE_APP: /Applications/Xcode_9.3.1.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.3:
TOOLSET: xcode-9.3
XCODE_APP: /Applications/Xcode_9.3.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.2:
TOOLSET: xcode-9.2
XCODE_APP: /Applications/Xcode_9.2.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.1:
TOOLSET: xcode-9.1
XCODE_APP: /Applications/Xcode_9.1.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.0.1:
TOOLSET: xcode-9.0.1
XCODE_APP: /Applications/Xcode_9.0.1.app
VM_IMAGE: 'macOS-10.13'
Xcode 9.0:
TOOLSET: xcode-9.0
XCODE_APP: /Applications/Xcode_9.app
VM_IMAGE: 'macOS-10.13'
Xcode 8.3.3:
TOOLSET: xcode-8.3
XCODE_APP: /Applications/Xcode_8.3.3.app
VM_IMAGE: 'macOS-10.13'
pool:
vmImage: $(VM_IMAGE)
steps:
- task: UsePythonVersion@0
- script: sudo xcode-select -switch ${XCODE_APP}
failOnStderr: false
displayName: Xcode Select
- script: python tools/ci/library_test.py install
failOnStderr: false
displayName: Install
- script: python tools/ci/library_test.py script
failOnStderr: false
displayName: Test
- job: 'macOS'
strategy:
matrix:
Xcode 11.4.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.4.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.3.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.3.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 11.2.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_11.2.1.app
VM_IMAGE: 'macOS-10.15'
Xcode 10.3:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.3.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.2.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.2.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.1:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.1.app
VM_IMAGE: 'macOS-10.14'
Xcode 10.0:
TOOLSET: clang
CXX: clang++
XCODE_APP: /Applications/Xcode_10.app
VM_IMAGE: 'macOS-10.14'
pool:
vmImage: $(VM_IMAGE)
steps:
- bash: |
set -e
uname -a
sudo xcode-select -switch ${XCODE_APP}
which clang++
clang++ --version
displayName: 'Install CXX'
- bash: |
set -e
pushd ${HOME}
wget -nv https://github.com/boostorg/build/archive/develop.tar.gz
tar -zxf develop.tar.gz
cd build-develop
CXX= ./bootstrap.sh
sudo ./b2 install
popd
displayName: 'Install B2'
- bash: |
set -e
CXX_PATH=`which ${CXX}`
echo "using ${TOOLSET} : : ${CXX_PATH} ;" > ${HOME}/user-config.jam
pushd test
b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info
b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers
popd
displayName: Test
- job: 'Windows'
strategy:
matrix:
VS 2019:
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=32,64 cxxstd=14,latest
VM_IMAGE: 'windows-2019'
VS 2019 (UWP DESKTOP):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP PHONE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP STORE):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SERVER):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SERVER
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SYSTEM):
TOOLSET: msvc
TOOLSET_VERSION: 14.2
B2_ARGS: address-model=64 define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
VM_IMAGE: 'windows-2019'
VS 2017:
TOOLSET: msvc
TOOLSET_VERSION: 14.1
VM_IMAGE: 'vs2017-win2016'
MinGW 8.1.0:
TOOLSET: gcc
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP DESKTOP):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
MinGW 8.1.0 (UWP STORE):
TOOLSET: gcc
B2_ARGS: define=_WIN32_WINNT=0x0A00 define=WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
pool:
vmImage: $(VM_IMAGE)
steps:
- script: |
cd %BUILD_SOURCESDIRECTORY%/..
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
displayName: Download B2
- task: ExtractFiles@1
inputs:
archiveFilePatterns: $(Build.SourcesDirectory)/../b2.zip
destinationFolder: $(Build.SourcesDirectory)/..
cleanDestinationFolder: false
displayName: Extract B2
- script: |
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
cd %BUILD_SOURCESDIRECTORY%/../build-develop
cmd.exe /c bootstrap.bat
displayName: Install B2
- script: |
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../build-develop
cd %BUILD_SOURCESDIRECTORY%/test
%BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
%BUILD_SOURCESDIRECTORY%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
displayName: Test
- job: 'Windows'
strategy:
matrix:
VS 2019:
TOOLSET: vs-2019
ADDRESS_MODEL: 32,64
CXXSTD: 14,latest
VM_IMAGE: 'windows-2019'
VS 2019 (UWP DESKTOP):
TOOLSET: vs-2019
ADDRESS_MODEL: 64
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP PHONE):
TOOLSET: vs-2019
ADDRESS_MODEL: 64
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP STORE):
TOOLSET: vs-2019
ADDRESS_MODEL: 64
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SERVER):
TOOLSET: vs-2019
ADDRESS_MODEL: 64
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_SERVER
VM_IMAGE: 'windows-2019'
VS 2019 (UWP SYSTEM):
TOOLSET: vs-2019
ADDRESS_MODEL: 64
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
VM_IMAGE: 'windows-2019'
VS 2017:
TOOLSET: vs-2017
VM_IMAGE: 'vs2017-win2016'
VS 2015:
TOOLSET: vs-2015
VM_IMAGE: 'vs2015-win2012r2'
VS 2013:
TOOLSET: vs-2013
VM_IMAGE: 'vs2015-win2012r2'
MinGW 8.1.0:
TOOLSET: mingw-8
VM_IMAGE: 'vs2017-win2016'
MinGW 8.1.0 (UWP DESKTOP):
TOOLSET: mingw-8
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
VM_IMAGE: 'vs2017-win2016'
MinGW 8.1.0 (UWP STORE):
TOOLSET: mingw-8
CXXDEFS: _WIN32_WINNT=0x0A00,WINAPI_FAMILY=WINAPI_FAMILY_PC_APP
VM_IMAGE: 'vs2017-win2016'
pool:
vmImage: $(VM_IMAGE)
steps:
- script: python tools/ci/library_test.py install
failOnStderr: false
displayName: Install
- script: python tools/ci/library_test.py script
failOnStderr: false
displayName: Test

View File

@ -37,7 +37,7 @@ project /boost/predef
if [ project.is-jamroot-module $(__name__) ]
{
local attributes = [ project.attributes $(__name__) ] ;
$(attributes).set "build-dir" : .bin ;
$(attributes).set "build-dir" : bin ;
}
alias libs ;

1
doc/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/html/

View File

@ -1,38 +1,100 @@
#|
Copyright Rene Rivera 2011-2019
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
|#
# Copyright Rene Rivera 2011-2016
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
import asciidoctor ;
import modules ;
using quickbook ;
using boostbook ;
import path ;
project predefdoc ;
if ! $(BOOST_ROOT)
{
BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;
}
path-constant PYGMENTS_DIR : . ;
if $(BOOST_PREDEF_ROOT)
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_PREDEF_ROOT)/include ;
}
else
{
path-constant BOOST_PREDEF_INCLUDE_ROOT : $(BOOST_ROOT) ;
}
doc-dir = [ MATCH "--doc-dir=(.*)" : [ modules.peek : ARGV ] ] ;
doc-dir ?= . ;
local BOOST_PREDEF_HEADERS = [ path.glob-tree $(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef : *.h ] ;
local headers = [ glob-tree-ex $(BOOST_PREDEF_INCLUDE) : *.h ] ;
# Intermediate targets..
html index : predef.adoc :
# Quickbok to boostbook target.
xml predef
:
<flags>--require=$(PYGMENTS_DIR)/pygments_init.rb
<flags>--trace
<flags>--verbose
<dependency>$(PYGMENTS_DIR)/pygments_init.rb
<dependency>$(headers)
predef.qbk
:
<dependency>$(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef.h
<dependency>$(BOOST_PREDEF_HEADERS)
;
explicit index ;
explicit predef ;
install html : index : <location>$(doc-dir) ;
explicit html ;
# HTML dependencies for standalone docs.
install images : [ glob $(BOOST_ROOT)/doc/src/images/*.png ] : <location>html/images ;
explicit images ;
install callouts : [ glob $(BOOST_ROOT)/doc/src/images/callouts/*.png ] : <location>html/images/callouts ;
explicit callouts ;
install css : [ glob $(BOOST_ROOT)/doc/src/*.css ] : <location>html ;
explicit css ;
alias boostdoc ;
# Default target builds standalone docs.
boostbook standalone
:
predef
:
<xsl:param>boost.root=../../../..
#<xsl:param>generate.section.toc.level=3
<xsl:param>chunk.section.depth=2
<xsl:param>chunk.first.sections=1
<dependency>images
<dependency>callouts
<dependency>css
;
###############################################################################
### Targets for Boost release integration.
###############################################################################
# Target for Boost global documentation integration.
#
# For documentation that will be integrated into the global documentation
# this should be an alias similar to:
#
# alias boostdoc : my_lib : : : <implicit-dependency>my_lib_boostbook_xml ;
# explicit boostdoc ;
#
# For documentation that is not part of the global documentation, i.e.
# it has stadalone documentation, it should be an empty alias:
#
# alias boostdoc ;
# explicit boostdoc ;
#
alias boostdoc : predef ;
explicit boostdoc ;
alias boostrelease : html ;
# Target for Boost standalone release documentation building.
#
# For documentation that is not part of the global Boost documentation
# this should be an alias to building the "standalone" documentation.
# Usual this is just an alias to a "stadalone" target:
#
# alias boostrelease : stadalone ;
# explicit boostrelease ;
#
# For documentation that is part of the global Boost documentation this
# should be an empty alias:
#
# alias boostrelease ;
# explicit boostrelease ;
#
alias boostrelease ;
explicit boostrelease ;
###############################################################################

89
doc/hardware_simd.qbk Normal file
View File

@ -0,0 +1,89 @@
SIMD predefs depend on compiler options. For example, you will have to add the
option `-msse3` to clang or gcc to enable SSE3. SIMD predefs are also inclusive.
This means that if SSE3 is enabled, then every other extensions with a lower
version number will implicitly be enabled and detected. However, some extensions
are CPU specific, they may not be detected nor enabled when an upper version is
enabled.
[note SSE(1) and SSE2 are automatically enabled by default when using x86-64
architecture.]
To check if any SIMD extension has been enabled, you can use:
``
#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;
}
``
When writing SIMD specific code, you may want to check if a particular extension
has been detected. To do so you have to use the right architecture predef and
compare it. Those predef are of the form `BOOST_HW_SIMD_"ARCH"` (where `"ARCH"`
is either `ARM`, `PPC`, or `X86`). For example, if you compile code for x86
architecture, you will have to use `BOOST_HW_SIMD_X86`. Its value will be the
version number of the most recent SIMD extension detected for the architecture.
To check if an extension has been enabled:
``
#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 The *_VERSION* defines that map version number to actual real
identifiers. This way it is easier to write comparisons without messing up with
version numbers.]
To *"stricly"* check the most recent detected extension:
``
#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;
}
``
Because of the version systems of predefs and of the inclusive property of SIMD
extensions macros, you can easily check for ranges of supported extensions:
``
#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;
}
``
[note Unlike gcc and clang, Visual Studio does not allow you to specify precisely
the SSE variants you want to use, the only detections that will take place are
SSE, SSE2, AVX and AVX2. For more informations,
see [@https://msdn.microsoft.com/en-us/library/b0084kay.aspx here].]

View File

@ -1,41 +1,18 @@
////
Copyright 2014-2021 Rene Rivera
[/
Copyright 2014-2019 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
////
]
= History
[section History]
== 1.13
* Add `ARCH_PPC_64` predef.
* Fix `ARCH_WORD_BITS*` redefinition warnings/errors.
* Add `ARCH_E2K`, Elbrus 2000, architecture from Konstantin Ivlev.
* Fix not handling recent C++ version that go above 10.x version.
== 1.12
* Switch to using the endian.h header on OpenBSD. (Brad Smith)
* Fix not handling recent versions of stdcxx that go above version 9.
* Fix including sub-BSD OS headers directly causing redef warnings.
* Add CI testing of direct inclusion of all headers.
* Add CI testing on FreeBSD for clang and gcc.
* Add `WORD_BITS` set of predefs to detect the architecture word size.
Initial implementation inspired by submission from Mikhail Komarov.
* Add CI testing for Cygwin 32 and 64.
== 1.11
[heading 1.11]
* Add `BOOST_ARCH_RISCV`. (from Andreas Schwab)
* Add RISC-V endian detection. (from Thomas Petazzoni)
* Convert documentation to AsciiDoctor format.
* Document correct versions for C++ standard.
* Fix compile error from not available header when building in WinCE.
* Remove deprecated `BOOST_OS_ANDROID`.
* Fix compile for Wine. (Kevin Puetz)
== 1.10
[heading 1.10]
* Fix bad include of sub-BSD os headers from main BSD header.
* Fix use of deprecated `TARGET_IPHONE_SIMULATOR` instead of newer
@ -46,12 +23,12 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add support for consuming Predef as a CMake project.
* Add support for consuming Predef as a standalone B2 project.
== 1.9
[heading 1.9]
* Fixes for `BOOST_COMP_NVCC*` predefs. (from Benjamin Worpitz)
* Add specific version information for Cygwin OS predef. (from James E. King III)
== 1.8
[heading 1.8]
* Add support for __ARM_ARCH macro. (from Tim Blechmann)
* Add detection for PTX architecture. (from Benjamin Worpitz)
@ -59,15 +36,15 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add support for detecting CUDA. (from Benjamin Worpitz)
* Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
== 1.7
[heading 1.7]
* Fix BOOST_ARCH_PARISK/BOOST_ARCH_PARISC typo.
* Improved Windows Universal Platform detection. (from James E. King, III)
* Add detection for CloudABI with cloudlibc. (from James E. King, III)
== 1.6
[heading 1.6]
* Fix Intel C/{CPP} version 9999 detection to be 12.1.0.
* Fix Intel C/C++ version 9999 detection to be 12.1.0.
* Addition of `BOOST_PREDEF_WORKAROUND` and `BOOST_PREDEF_TESTED_AT` macros
for defect workarounds and detection.
* Add ARM64 MSVC SIMD detection. (from Minmin Gong)
@ -75,21 +52,21 @@ http://www.boost.org/LICENSE_1_0.txt)
Baratov)
* Fix MinGW incorrect header guard. (from Ruslan Baratov)
== 1.5
[heading 1.5]
* Fix Intel C/{CPP} compiler version specification.
* Fix Intel C/C++ compiler version specification.
* Add `BOOST_VERSION_NUMBER_MAJOR`, `BOOST_VERSION_NUMBER_MINOR`,
`BOOST_VERSION_NUMBER_PATCH` macros to extract components from valid version
numbers.
* Change VS version numbering. Version after VS2015 will use the compiler
version instead of the varied product versions.
== 1.4.1
[heading 1.4.1]
* Small fixes for some redefinition errors, and mispelled macros.
* Slightly rearrangement of structure to comply with current library requirements.
== 1.4
[heading 1.4]
* Add detection of SIMD hardware. With the addition of the `BOOST_HW_*`
category (from Charly Chevalier).
@ -98,16 +75,16 @@ http://www.boost.org/LICENSE_1_0.txt)
* Fix test warnings.
* Fix typos on `AVAILABLE` macros for Windows Platform. (from Vemund Handeland)
== 1.3
[heading 1.3]
* Fix many problems with `predef_check` functionality.
* Update SunPro detection to accommodate latest version of compiler from Oracle.
* Update SunPro detection to accomodate latest version of compiler from Oracle.
* Addition of Travis-CI and Appveyor testing.
* Add `and` and `or` logical operators for `predef_check` expression on the Boost Build side.
* Fix `BOOST_ARCH_PARISC` to correctly spelled name (from Graham Hanson).
* Fix `MAKE_YYYYM` macros to correctly limit the month (from rick68).
== 1.2
[heading 1.2]
* Account for skip in Visual Studio product version vs. compiler version.
This supports version of VS 2015 an onward.
@ -117,7 +94,7 @@ http://www.boost.org/LICENSE_1_0.txt)
* Add `predef_check` program and BBv2 integration for build configuration
checks.
== 1.1
[heading 1.1]
* Addition of `BOOST_PLAT_*` platform definitions for MinGW and
Windows platform variants.
@ -129,7 +106,9 @@ http://www.boost.org/LICENSE_1_0.txt)
* Addition of exclusive plus emulated definitions for platform
and compiler detection.
WARNING: The big change for this version is the restructuring of the
[warning The big change for this version is the restructuring of the
definitions to avoid duplicate definitions in one category. That is, only one
`BOOST_OS_*`, `BOOST_COMP_*`, and `BOOST_PLAT_*` variant will be detected
(except for sub-categories).
(except for sub-categories).]
[endsect]

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +0,0 @@
/*
Copyright 2018-2019 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
*/
.admonitionblock .icon .title {
font-size: 2.5em;
text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
}
.caution .icon .title {
color: rgba(192, 51, 0, 1);
}
.important .icon .title {
color: rgba(192, 0, 0, 1);
}
.note .icon .title {
color: rgba(26, 64, 128, 1);
}
.tip .icon .title {
color: rgba(255, 192, 0, 1);
}
.warning .icon .title {
color: rgba(192, 102, 0, 1);
}
p,blockquote,dt,td.content,span.alt {
font-size: 1.1rem
}
h1, h2, h3, h4, h5, h6 {
font-weight: bold;
}
h1 {
font-size: 2.25em;
}
h2 {
font-size: 1.5em;
}
h3,#toctitle,.sidebarblock>.content>.title {
font-size: 1.3em;
}
h4, h5 {
font-size: 1.2em;
}
h6 {
font-size: 1.1em;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
=begin
Copyright 2018 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE.txt or http://www.boost.org/LICENSE_1_0.txt)
=end
require 'pygments'
# Need to create/register non-builtin lexers even if they are global plugins.
Pygments::Lexer.create name: 'Jam', aliases: ['jam','bjam','b2'],
filenames: ['*.jam','Jamfile','Jamroot'], mimetypes: ['text/x-jam']

View File

@ -1,10 +1,12 @@
////
[/
Copyright 2014-2017 Rene Rivera
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
////
]
= To Do
[section To Do]
* Improve reference documentation.
[endsect]

View File

@ -0,0 +1,11 @@
// Copyright 2013 Rene Rivera
// Distributed under the Boost Software License, Version 1.0. (See accompany-
// ing file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_DETAIL_ENDIAN_HPP
#define BOOST_DETAIL_ENDIAN_HPP
// Use the Predef library for the detection of endianess.
#include <boost/predef/detail/endian_compat.h>
#endif

View File

@ -14,7 +14,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/arm.h>
#include <boost/predef/architecture/blackfin.h>
#include <boost/predef/architecture/convex.h>
#include <boost/predef/architecture/e2k.h>
#include <boost/predef/architecture/ia64.h>
#include <boost/predef/architecture/m68k.h>
#include <boost/predef/architecture/mips.h>
@ -30,5 +29,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/architecture/sys390.h>
#include <boost/predef/architecture/x86.h>
#include <boost/predef/architecture/z.h>
/*#include <boost/predef/architecture/.h>*/
#endif

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_ALPHA`
/*`
[heading `BOOST_ARCH_ALPHA`]
http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__alpha__+` | {predef_detection}
| `+__alpha+` | {predef_detection}
| `+_M_ALPHA+` | {predef_detection}
[table
[[__predef_symbol__] [__predef_version__]]
[[`__alpha__`] [__predef_detection__]]
[[`__alpha`] [__predef_detection__]]
[[`_M_ALPHA`] [__predef_detection__]]
| `+__alpha_ev4__+` | 4.0.0
| `+__alpha_ev5__+` | 5.0.0
| `+__alpha_ev6__+` | 6.0.0
|===
*/ // end::reference[]
[[`__alpha_ev4__`] [4.0.0]]
[[`__alpha_ev5__`] [5.0.0]]
[[`__alpha_ev6__`] [6.0.0]]
]
*/
#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -52,11 +51,6 @@ http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
# define BOOST_ARCH_ALPHA_AVAILABLE
#endif
#if BOOST_ARCH_ALPHA
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_ALPHA_NAME "DEC Alpha"
#endif

View File

@ -13,60 +13,59 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_ARM`
/*`
[heading `BOOST_ARCH_ARM`]
http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__ARM_ARCH+` | {predef_detection}
| `+__TARGET_ARCH_ARM+` | {predef_detection}
| `+__TARGET_ARCH_THUMB+` | {predef_detection}
| `+_M_ARM+` | {predef_detection}
| `+__arm__+` | {predef_detection}
| `+__arm64+` | {predef_detection}
| `+__thumb__+` | {predef_detection}
| `+_M_ARM64+` | {predef_detection}
| `+__aarch64__+` | {predef_detection}
| `+__AARCH64EL__+` | {predef_detection}
| `+__ARM_ARCH_7__+` | {predef_detection}
| `+__ARM_ARCH_7A__+` | {predef_detection}
| `+__ARM_ARCH_7R__+` | {predef_detection}
| `+__ARM_ARCH_7M__+` | {predef_detection}
| `+__ARM_ARCH_6K__+` | {predef_detection}
| `+__ARM_ARCH_6Z__+` | {predef_detection}
| `+__ARM_ARCH_6KZ__+` | {predef_detection}
| `+__ARM_ARCH_6T2__+` | {predef_detection}
| `+__ARM_ARCH_5TE__+` | {predef_detection}
| `+__ARM_ARCH_5TEJ__+` | {predef_detection}
| `+__ARM_ARCH_4T__+` | {predef_detection}
| `+__ARM_ARCH_4__+` | {predef_detection}
[[`__ARM_ARCH`] [__predef_detection__]]
[[`__TARGET_ARCH_ARM`] [__predef_detection__]]
[[`__TARGET_ARCH_THUMB`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`__arm__`] [__predef_detection__]]
[[`__arm64`] [__predef_detection__]]
[[`__thumb__`] [__predef_detection__]]
[[`_M_ARM64`] [__predef_detection__]]
[[`__aarch64__`] [__predef_detection__]]
[[`__AARCH64EL__`] [__predef_detection__]]
[[`__ARM_ARCH_7__`] [__predef_detection__]]
[[`__ARM_ARCH_7A__`] [__predef_detection__]]
[[`__ARM_ARCH_7R__`] [__predef_detection__]]
[[`__ARM_ARCH_7M__`] [__predef_detection__]]
[[`__ARM_ARCH_6K__`] [__predef_detection__]]
[[`__ARM_ARCH_6Z__`] [__predef_detection__]]
[[`__ARM_ARCH_6KZ__`] [__predef_detection__]]
[[`__ARM_ARCH_6T2__`] [__predef_detection__]]
[[`__ARM_ARCH_5TE__`] [__predef_detection__]]
[[`__ARM_ARCH_5TEJ__`] [__predef_detection__]]
[[`__ARM_ARCH_4T__`] [__predef_detection__]]
[[`__ARM_ARCH_4__`] [__predef_detection__]]
| `+__ARM_ARCH+` | V.0.0
| `+__TARGET_ARCH_ARM+` | V.0.0
| `+__TARGET_ARCH_THUMB+` | V.0.0
| `+_M_ARM+` | V.0.0
| `+__arm64+` | 8.0.0
| `+_M_ARM64+` | 8.0.0
| `+__aarch64__+` | 8.0.0
| `+__AARCH64EL__+` | 8.0.0
| `+__ARM_ARCH_7__+` | 7.0.0
| `+__ARM_ARCH_7A__+` | 7.0.0
| `+__ARM_ARCH_7R__+` | 7.0.0
| `+__ARM_ARCH_7M__+` | 7.0.0
| `+__ARM_ARCH_6K__+` | 6.0.0
| `+__ARM_ARCH_6Z__+` | 6.0.0
| `+__ARM_ARCH_6KZ__+` | 6.0.0
| `+__ARM_ARCH_6T2__+` | 6.0.0
| `+__ARM_ARCH_5TE__+` | 5.0.0
| `+__ARM_ARCH_5TEJ__+` | 5.0.0
| `+__ARM_ARCH_4T__+` | 4.0.0
| `+__ARM_ARCH_4__+` | 4.0.0
|===
*/ // end::reference[]
[[`__ARM_ARCH`] [V.0.0]]
[[`__TARGET_ARCH_ARM`] [V.0.0]]
[[`__TARGET_ARCH_THUMB`] [V.0.0]]
[[`_M_ARM`] [V.0.0]]
[[`__arm64`] [8.0.0]]
[[`_M_ARM64`] [8.0.0]]
[[`__aarch64__`] [8.0.0]]
[[`__AARCH64EL__`] [8.0.0]]
[[`__ARM_ARCH_7__`] [7.0.0]]
[[`__ARM_ARCH_7A__`] [7.0.0]]
[[`__ARM_ARCH_7R__`] [7.0.0]]
[[`__ARM_ARCH_7M__`] [7.0.0]]
[[`__ARM_ARCH_6K__`] [6.0.0]]
[[`__ARM_ARCH_6Z__`] [6.0.0]]
[[`__ARM_ARCH_6KZ__`] [6.0.0]]
[[`__ARM_ARCH_6T2__`] [6.0.0]]
[[`__ARM_ARCH_5TE__`] [5.0.0]]
[[`__ARM_ARCH_5TEJ__`] [5.0.0]]
[[`__ARM_ARCH_4T__`] [4.0.0]]
[[`__ARM_ARCH_4__`] [4.0.0]]
]
*/
#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -126,16 +125,6 @@ http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
# define BOOST_ARCH_ARM_AVAILABLE
#endif
#if BOOST_ARCH_ARM
# if BOOST_ARCH_ARM >= BOOST_VERSION_NUMBER(8,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_ARM_NAME "ARM"
#endif

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_BLACKFIN`
/*`
[heading `BOOST_ARCH_BLACKFIN`]
Blackfin Processors from Analog Devices.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__bfin__+` | {predef_detection}
| `+__BFIN__+` | {predef_detection}
| `bfin` | {predef_detection}
| `BFIN` | {predef_detection}
|===
*/ // end::reference[]
[[`__bfin__`] [__predef_detection__]]
[[`__BFIN__`] [__predef_detection__]]
[[`bfin`] [__predef_detection__]]
[[`BFIN`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -39,11 +38,6 @@ Blackfin Processors from Analog Devices.
# define BOOST_ARCH_BLACKFIN_AVAILABLE
#endif
#if BOOST_ARCH_BLACKFIN
# undef BOOST_ARCH_WORD_BITS_16
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_BLACKFIN_NAME "Blackfin"
#endif

View File

@ -11,24 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_CONVEX`
/*`
[heading `BOOST_ARCH_CONVEX`]
http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__convex__+` | {predef_detection}
[[`__convex__`] [__predef_detection__]]
| `+__convex_c1__+` | 1.0.0
| `+__convex_c2__+` | 2.0.0
| `+__convex_c32__+` | 3.2.0
| `+__convex_c34__+` | 3.4.0
| `+__convex_c38__+` | 3.8.0
|===
*/ // end::reference[]
[[`__convex_c1__`] [1.0.0]]
[[`__convex_c2__`] [2.0.0]]
[[`__convex_c32__`] [3.2.0]]
[[`__convex_c34__`] [3.4.0]]
[[`__convex_c38__`] [3.8.0]]
]
*/
#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -58,11 +57,6 @@ http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
# define BOOST_ARCH_CONVEX_AVAILABLE
#endif
#if BOOST_ARCH_CONVEX
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_CONVEX_NAME "Convex Computer"
#endif

View File

@ -1,54 +0,0 @@
/*
Copyright Konstantin Ivlev 2021
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef BOOST_PREDEF_ARCHITECTURE_E2K_H
#define BOOST_PREDEF_ARCHITECTURE_E2K_H
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_E2K`
https://en.wikipedia.org/wiki/Elbrus_2000[E2K] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__e2k__+` | {predef_detection}
| `+__e2k__+` | V.0.0
|===
*/ // end::reference[]
#define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__e2k__)
# undef BOOST_ARCH_E2K
# if !defined(BOOST_ARCH_E2K) && defined(__iset__)
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER(__iset__,0,0)
# endif
# if !defined(BOOST_ARCH_E2K)
# define BOOST_ARCH_E2K BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#if BOOST_ARCH_E2K
# define BOOST_ARCH_E2K_AVAILABLE
#endif
#if BOOST_ARCH_E2K
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_E2K_NAME "E2K"
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_E2K,BOOST_ARCH_E2K_NAME)

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_IA64`
/*`
[heading `BOOST_ARCH_IA64`]
http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
[@http://en.wikipedia.org/wiki/Ia64 Intel Itanium 64] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__ia64__+` | {predef_detection}
| `+_IA64+` | {predef_detection}
| `+__IA64__+` | {predef_detection}
| `+__ia64+` | {predef_detection}
| `+_M_IA64+` | {predef_detection}
| `+__itanium__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__ia64__`] [__predef_detection__]]
[[`_IA64`] [__predef_detection__]]
[[`__IA64__`] [__predef_detection__]]
[[`__ia64`] [__predef_detection__]]
[[`_M_IA64`] [__predef_detection__]]
[[`__itanium__`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -42,11 +41,6 @@ http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
# define BOOST_ARCH_IA64_AVAILABLE
#endif
#if BOOST_ARCH_IA64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_IA64_NAME "Intel Itanium 64"
#endif

View File

@ -11,38 +11,37 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_M68K`
/*`
[heading `BOOST_ARCH_M68K`]
http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__m68k__+` | {predef_detection}
| `M68000` | {predef_detection}
[[`__m68k__`] [__predef_detection__]]
[[`M68000`] [__predef_detection__]]
| `+__mc68060__+` | 6.0.0
| `mc68060` | 6.0.0
| `+__mc68060+` | 6.0.0
| `+__mc68040__+` | 4.0.0
| `mc68040` | 4.0.0
| `+__mc68040+` | 4.0.0
| `+__mc68030__+` | 3.0.0
| `mc68030` | 3.0.0
| `+__mc68030+` | 3.0.0
| `+__mc68020__+` | 2.0.0
| `mc68020` | 2.0.0
| `+__mc68020+` | 2.0.0
| `+__mc68010__+` | 1.0.0
| `mc68010` | 1.0.0
| `+__mc68010+` | 1.0.0
| `+__mc68000__+` | 0.0.1
| `mc68000` | 0.0.1
| `+__mc68000+` | 0.0.1
|===
*/ // end::reference[]
[[`__mc68060__`] [6.0.0]]
[[`mc68060`] [6.0.0]]
[[`__mc68060`] [6.0.0]]
[[`__mc68040__`] [4.0.0]]
[[`mc68040`] [4.0.0]]
[[`__mc68040`] [4.0.0]]
[[`__mc68030__`] [3.0.0]]
[[`mc68030`] [3.0.0]]
[[`__mc68030`] [3.0.0]]
[[`__mc68020__`] [2.0.0]]
[[`mc68020`] [2.0.0]]
[[`__mc68020`] [2.0.0]]
[[`__mc68010__`] [1.0.0]]
[[`mc68010`] [1.0.0]]
[[`__mc68010`] [1.0.0]]
[[`__mc68000__`] [0.0.1]]
[[`mc68000`] [0.0.1]]
[[`__mc68000`] [0.0.1]]
]
*/
#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -75,11 +74,6 @@ http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
# define BOOST_ARCH_M68K_AVAILABLE
#endif
#if BOOST_ARCH_M68K
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_M68K_NAME "Motorola 68k"
#endif

View File

@ -11,31 +11,30 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_MIPS`
/*`
[heading `BOOST_ARCH_MIPS`]
http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__mips__+` | {predef_detection}
| `+__mips+` | {predef_detection}
| `+__MIPS__+` | {predef_detection}
[[`__mips__`] [__predef_detection__]]
[[`__mips`] [__predef_detection__]]
[[`__MIPS__`] [__predef_detection__]]
| `+__mips+` | V.0.0
| `+_MIPS_ISA_MIPS1+` | 1.0.0
| `+_R3000+` | 1.0.0
| `+_MIPS_ISA_MIPS2+` | 2.0.0
| `+__MIPS_ISA2__+` | 2.0.0
| `+_R4000+` | 2.0.0
| `+_MIPS_ISA_MIPS3+` | 3.0.0
| `+__MIPS_ISA3__+` | 3.0.0
| `+_MIPS_ISA_MIPS4+` | 4.0.0
| `+__MIPS_ISA4__+` | 4.0.0
|===
*/ // end::reference[]
[[`__mips`] [V.0.0]]
[[`_MIPS_ISA_MIPS1`] [1.0.0]]
[[`_R3000`] [1.0.0]]
[[`_MIPS_ISA_MIPS2`] [2.0.0]]
[[`__MIPS_ISA2__`] [2.0.0]]
[[`_R4000`] [2.0.0]]
[[`_MIPS_ISA_MIPS3`] [3.0.0]]
[[`__MIPS_ISA3__`] [3.0.0]]
[[`_MIPS_ISA_MIPS4`] [4.0.0]]
[[`__MIPS_ISA4__`] [4.0.0]]
]
*/
#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -66,16 +65,6 @@ http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
# define BOOST_ARCH_MIPS_AVAILABLE
#endif
#if BOOST_ARCH_MIPS
# if BOOST_ARCH_MIPS >= BOOST_VERSION_NUMBER(3,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_MIPS_NAME "MIPS"
#endif

View File

@ -11,29 +11,28 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PARISC`
/*`
[heading `BOOST_ARCH_PARISC`]
http://en.wikipedia.org/wiki/PA-RISC_family[HP/PA RISC] architecture.
[@http://en.wikipedia.org/wiki/PA-RISC_family HP/PA RISC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__hppa__+` | {predef_detection}
| `+__hppa+` | {predef_detection}
| `+__HPPA__+` | {predef_detection}
[[`__hppa__`] [__predef_detection__]]
[[`__hppa`] [__predef_detection__]]
[[`__HPPA__`] [__predef_detection__]]
| `+_PA_RISC1_0+` | 1.0.0
| `+_PA_RISC1_1+` | 1.1.0
| `+__HPPA11__+` | 1.1.0
| `+__PA7100__+` | 1.1.0
| `+_PA_RISC2_0+` | 2.0.0
| `+__RISC2_0__+` | 2.0.0
| `+__HPPA20__+` | 2.0.0
| `+__PA8000__+` | 2.0.0
|===
*/ // end::reference[]
[[`_PA_RISC1_0`] [1.0.0]]
[[`_PA_RISC1_1`] [1.1.0]]
[[`__HPPA11__`] [1.1.0]]
[[`__PA7100__`] [1.1.0]]
[[`_PA_RISC2_0`] [2.0.0]]
[[`__RISC2_0__`] [2.0.0]]
[[`__HPPA20__`] [2.0.0]]
[[`__PA8000__`] [2.0.0]]
]
*/
#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -57,11 +56,6 @@ http://en.wikipedia.org/wiki/PA-RISC_family[HP/PA RISC] architecture.
# define BOOST_ARCH_PARISC_AVAILABLE
#endif
#if BOOST_ARCH_PARISC
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PARISC_NAME "HP/PA RISC"
#endif

View File

@ -11,49 +11,40 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PPC`
/*`
[heading `BOOST_ARCH_PPC`]
http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__powerpc+` | {predef_detection}
| `+__powerpc__+` | {predef_detection}
| `+__powerpc64__+` | {predef_detection}
| `+__POWERPC__+` | {predef_detection}
| `+__ppc__+` | {predef_detection}
| `+__ppc64__+` | {predef_detection}
| `+__PPC__+` | {predef_detection}
| `+__PPC64__+` | {predef_detection}
| `+_M_PPC+` | {predef_detection}
| `+_ARCH_PPC+` | {predef_detection}
| `+_ARCH_PPC64+` | {predef_detection}
| `+__PPCGECKO__+` | {predef_detection}
| `+__PPCBROADWAY__+` | {predef_detection}
| `+_XENON+` | {predef_detection}
| `+__ppc+` | {predef_detection}
[[`__powerpc`] [__predef_detection__]]
[[`__powerpc__`] [__predef_detection__]]
[[`__POWERPC__`] [__predef_detection__]]
[[`__ppc__`] [__predef_detection__]]
[[`_M_PPC`] [__predef_detection__]]
[[`_ARCH_PPC`] [__predef_detection__]]
[[`__PPCGECKO__`] [__predef_detection__]]
[[`__PPCBROADWAY__`] [__predef_detection__]]
[[`_XENON`] [__predef_detection__]]
| `+__ppc601__+` | 6.1.0
| `+_ARCH_601+` | 6.1.0
| `+__ppc603__+` | 6.3.0
| `+_ARCH_603+` | 6.3.0
| `+__ppc604__+` | 6.4.0
| `+__ppc604__+` | 6.4.0
|===
*/ // end::reference[]
[[`__ppc601__`] [6.1.0]]
[[`_ARCH_601`] [6.1.0]]
[[`__ppc603__`] [6.3.0]]
[[`_ARCH_603`] [6.3.0]]
[[`__ppc604__`] [6.4.0]]
[[`__ppc604__`] [6.4.0]]
]
*/
#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || \
defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || \
defined(__PPC__) || defined(__PPC64__) || \
defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
#if defined(__powerpc) || defined(__powerpc__) || \
defined(__POWERPC__) || defined(__ppc__) || \
defined(_M_PPC) || defined(_ARCH_PPC) || \
defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
defined(_XENON) || \
defined(__ppc)
defined(_XENON)
# undef BOOST_ARCH_PPC
# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
@ -75,50 +66,7 @@ http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
#define BOOST_ARCH_PPC_NAME "PowerPC"
/* tag::reference[]
= `BOOST_ARCH_PPC_64`
http://en.wikipedia.org/wiki/PowerPC[PowerPC] 64 bit architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
| `+__powerpc64__+` | {predef_detection}
| `+__ppc64__+` | {predef_detection}
| `+__PPC64__+` | {predef_detection}
| `+_ARCH_PPC64+` | {predef_detection}
|===
*/ // end::reference[]
#define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) || \
defined(_ARCH_PPC64)
# undef BOOST_ARCH_PPC_64
# define BOOST_ARCH_PPC_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#if BOOST_ARCH_PPC_64
# define BOOST_ARCH_PPC_64_AVAILABLE
#endif
#define BOOST_ARCH_PPC_64_NAME "PowerPC64"
#if BOOST_ARCH_PPC_64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#endif
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC,BOOST_ARCH_PPC_NAME)
#include <boost/predef/detail/test.h>
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_PPC_64,BOOST_ARCH_PPC_64_NAME)

View File

@ -11,20 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PTX`
/*`
[heading `BOOST_ARCH_PTX`]
https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
[@https://en.wikipedia.org/wiki/Parallel_Thread_Execution PTX] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__CUDA_ARCH__+` | {predef_detection}
[[`__CUDA_ARCH__`] [__predef_detection__]]
| `+__CUDA_ARCH__+` | V.R.0
|===
*/ // end::reference[]
[[`__CUDA_ARCH__`] [V.R.0]]
]
*/
#define BOOST_ARCH_PTX BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -37,11 +36,6 @@ https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
# define BOOST_ARCH_PTX_AVAILABLE
#endif
#if BOOST_ARCH_PTX
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PTX_NAME "PTX"
#endif

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_PYRAMID`
/*`
[heading `BOOST_ARCH_PYRAMID`]
Pyramid 9810 architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `pyr` | {predef_detection}
|===
*/ // end::reference[]
[[`pyr`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -35,11 +34,6 @@ Pyramid 9810 architecture.
# define BOOST_ARCH_PYRAMID_AVAILABLE
#endif
#if BOOST_ARCH_PYRAMID
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PYRAMID_NAME "Pyramid 9810"
#endif

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_RISCV`
/*`
[heading `BOOST_ARCH_RISCV`]
http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture.
[@http://en.wikipedia.org/wiki/RISC-V] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__riscv+` | {predef_detection}
|===
*/ // end::reference[]
[[`__riscv`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -35,11 +34,6 @@ http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture.
# define BOOST_ARCH_RISCV_AVAILABLE
#endif
#if BOOST_ARCH_RISCV
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_RISCV_NAME "RISC-V"
#endif

View File

@ -11,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_RS6000`
/*`
[heading `BOOST_ARCH_RS6000`]
http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__THW_RS6000+` | {predef_detection}
| `+_IBMR2+` | {predef_detection}
| `+_POWER+` | {predef_detection}
| `+_ARCH_PWR+` | {predef_detection}
| `+_ARCH_PWR2+` | {predef_detection}
|===
*/ // end::reference[]
[[`__THW_RS6000`] [__predef_detection__]]
[[`_IBMR2`] [__predef_detection__]]
[[`_POWER`] [__predef_detection__]]
[[`_ARCH_PWR`] [__predef_detection__]]
[[`_ARCH_PWR2`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -41,11 +40,6 @@ http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
# define BOOST_ARCH_RS6000_AVAILABLE
#endif
#if BOOST_ARCH_RS6000
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_RS6000_NAME "RS/6000"
#define BOOST_ARCH_PWR BOOST_ARCH_RS6000
@ -54,11 +48,6 @@ http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
# define BOOST_ARCH_PWR_AVAILABLE
#endif
#if BOOST_ARCH_PWR
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_PWR_NAME BOOST_ARCH_RS6000_NAME
#endif

View File

@ -11,33 +11,30 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SPARC`
/*`
[heading `BOOST_ARCH_SPARC`]
http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__sparc__+` | {predef_detection}
| `+__sparc+` | {predef_detection}
[[`__sparc__`] [__predef_detection__]]
[[`__sparc`] [__predef_detection__]]
| `+__sparcv9+` | 9.0.0
| `+__sparc_v9__+` | 9.0.0
| `+__sparcv8+` | 8.0.0
| `+__sparc_v8__+` | 8.0.0
|===
*/ // end::reference[]
[[`__sparcv9`] [9.0.0]]
[[`__sparcv8`] [8.0.0]]
]
*/
#define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__sparc__) || defined(__sparc)
# undef BOOST_ARCH_SPARC
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv9)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
# endif
# if !defined(BOOST_ARCH_SPARC)
@ -49,16 +46,6 @@ http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
# define BOOST_ARCH_SPARC_AVAILABLE
#endif
#if BOOST_ARCH_SPARC
# if BOOST_ARCH_SPARC >= BOOST_VERSION_NUMBER(9,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_SPARC_NAME "SPARC"
#endif

View File

@ -11,26 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SH`
/*`
[heading `BOOST_ARCH_SH`]
http://en.wikipedia.org/wiki/SuperH[SuperH] architecture:
If available versions [1-5] are specifically detected.
[@http://en.wikipedia.org/wiki/SuperH SuperH] architecture:
If available versions \[1-5\] are specifically detected.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__sh__+` | {predef_detection}
[[`__sh__`] [__predef_detection__]]
| `+__SH5__+` | 5.0.0
| `+__SH4__+` | 4.0.0
| `+__sh3__+` | 3.0.0
| `+__SH3__+` | 3.0.0
| `+__sh2__+` | 2.0.0
| `+__sh1__+` | 1.0.0
|===
*/ // end::reference[]
[[`__SH5__`] [5.0.0]]
[[`__SH4__`] [4.0.0]]
[[`__sh3__`] [3.0.0]]
[[`__SH3__`] [3.0.0]]
[[`__sh2__`] [2.0.0]]
[[`__sh1__`] [1.0.0]]
]
*/
#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -60,19 +59,6 @@ If available versions [1-5] are specifically detected.
# define BOOST_ARCH_SH_AVAILABLE
#endif
#if BOOST_ARCH_SH
# if BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(5,0,0)
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
# elif BOOST_ARCH_SH >= BOOST_VERSION_NUMBER(3,0,0)
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
# else
# undef BOOST_ARCH_WORD_BITS_16
# define BOOST_ARCH_WORD_BITS_16 BOOST_VERSION_NUMBER_AVAILABLE
# endif
#endif
#define BOOST_ARCH_SH_NAME "SuperH"
#endif

View File

@ -11,19 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SYS370`
/*`
[heading `BOOST_ARCH_SYS370`]
http://en.wikipedia.org/wiki/System/370[System/370] architecture.
[@http://en.wikipedia.org/wiki/System/370 System/370] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__370__+` | {predef_detection}
| `+__THW_370__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__370__`] [__predef_detection__]]
[[`__THW_370__`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -36,11 +35,6 @@ http://en.wikipedia.org/wiki/System/370[System/370] architecture.
# define BOOST_ARCH_SYS370_AVAILABLE
#endif
#if BOOST_ARCH_SYS370
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_SYS370_NAME "System/370"
#endif

View File

@ -11,19 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_SYS390`
/*`
[heading `BOOST_ARCH_SYS390`]
http://en.wikipedia.org/wiki/System/390[System/390] architecture.
[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__s390__+` | {predef_detection}
| `+__s390x__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__s390__`] [__predef_detection__]]
[[`__s390x__`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -36,11 +35,6 @@ http://en.wikipedia.org/wiki/System/390[System/390] architecture.
# define BOOST_ARCH_SYS390_AVAILABLE
#endif
#if BOOST_ARCH_SYS390
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_SYS390_NAME "System/390"
#endif

View File

@ -11,13 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
#ifndef BOOST_PREDEF_ARCHITECTURE_X86_H
#define BOOST_PREDEF_ARCHITECTURE_X86_H
/* tag::reference[]
= `BOOST_ARCH_X86`
/*`
[heading `BOOST_ARCH_X86`]
http://en.wikipedia.org/wiki/X86[Intel x86] architecture. This is
[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture. This is
a category to indicate that either `BOOST_ARCH_X86_32` or
`BOOST_ARCH_X86_64` is detected.
*/ // end::reference[]
*/
#define BOOST_ARCH_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,36 +11,35 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_X86_32`
/*`
[heading `BOOST_ARCH_X86_32`]
http://en.wikipedia.org/wiki/X86[Intel x86] architecture:
If available versions [3-6] are specifically detected.
[@http://en.wikipedia.org/wiki/X86 Intel x86] architecture:
If available versions \[3-6\] are specifically detected.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `i386` | {predef_detection}
| `+__i386__+` | {predef_detection}
| `+__i486__+` | {predef_detection}
| `+__i586__+` | {predef_detection}
| `+__i686__+` | {predef_detection}
| `+__i386+` | {predef_detection}
| `+_M_IX86+` | {predef_detection}
| `+_X86_+` | {predef_detection}
| `+__THW_INTEL__+` | {predef_detection}
| `+__I86__+` | {predef_detection}
| `+__INTEL__+` | {predef_detection}
[[`i386`] [__predef_detection__]]
[[`__i386__`] [__predef_detection__]]
[[`__i486__`] [__predef_detection__]]
[[`__i586__`] [__predef_detection__]]
[[`__i686__`] [__predef_detection__]]
[[`__i386`] [__predef_detection__]]
[[`_M_IX86`] [__predef_detection__]]
[[`_X86_`] [__predef_detection__]]
[[`__THW_INTEL__`] [__predef_detection__]]
[[`__I86__`] [__predef_detection__]]
[[`__INTEL__`] [__predef_detection__]]
| `+__I86__+` | V.0.0
| `+_M_IX86+` | V.0.0
| `+__i686__+` | 6.0.0
| `+__i586__+` | 5.0.0
| `+__i486__+` | 4.0.0
| `+__i386__+` | 3.0.0
|===
*/ // end::reference[]
[[`__I86__`] [V.0.0]]
[[`_M_IX86`] [V.0.0]]
[[`__i686__`] [6.0.0]]
[[`__i586__`] [5.0.0]]
[[`__i486__`] [4.0.0]]
[[`__i386__`] [3.0.0]]
]
*/
#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -78,11 +77,6 @@ If available versions [3-6] are specifically detected.
# define BOOST_ARCH_X86_32_AVAILABLE
#endif
#if BOOST_ARCH_X86_32
# undef BOOST_ARCH_WORD_BITS_32
# define BOOST_ARCH_WORD_BITS_32 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_X86_32_NAME "Intel x86-32"
#include <boost/predef/architecture/x86.h>

View File

@ -1,5 +1,5 @@
/*
Copyright Rene Rivera 2008-2021
Copyright Rene Rivera 2008-2015
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
@ -11,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_X86_64`
/*`
[heading `BOOST_ARCH_X86_64`]
https://en.wikipedia.org/wiki/X86-64[X86-64] architecture.
[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__x86_64+` | {predef_detection}
| `+__x86_64__+` | {predef_detection}
| `+__amd64__+` | {predef_detection}
| `+__amd64+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
|===
*/ // end::reference[]
[[`__x86_64`] [__predef_detection__]]
[[`__x86_64__`] [__predef_detection__]]
[[`__amd64__`] [__predef_detection__]]
[[`__amd64`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -41,11 +40,6 @@ https://en.wikipedia.org/wiki/X86-64[X86-64] architecture.
# define BOOST_ARCH_X86_64_AVAILABLE
#endif
#if BOOST_ARCH_X86_64
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_X86_64_NAME "Intel x86-64"
#include <boost/predef/architecture/x86.h>

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_ARCH_Z`
/*`
[heading `BOOST_ARCH_Z`]
http://en.wikipedia.org/wiki/Z/Architecture[z/Architecture] architecture.
[@http://en.wikipedia.org/wiki/Z/Architecture z/Architecture] architecture.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SYSC_ZARCH__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__SYSC_ZARCH__`] [__predef_detection__]]
]
*/
#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -35,11 +34,6 @@ http://en.wikipedia.org/wiki/Z/Architecture[z/Architecture] architecture.
# define BOOST_ARCH_Z_AVAILABLE
#endif
#if BOOST_ARCH_Z
# undef BOOST_ARCH_WORD_BITS_64
# define BOOST_ARCH_WORD_BITS_64 BOOST_VERSION_NUMBER_AVAILABLE
#endif
#define BOOST_ARCH_Z_NAME "z/Architecture"
#endif

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_BORLAND`
/*`
[heading `BOOST_COMP_BORLAND`]
http://en.wikipedia.org/wiki/C_plus_plus_builder[Borland {CPP}] compiler.
[@http://en.wikipedia.org/wiki/C_plus_plus_builder Borland C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__BORLANDC__+` | {predef_detection}
| `+__CODEGEARC__+` | {predef_detection}
[[`__BORLANDC__`] [__predef_detection__]]
[[`__CODEGEARC__`] [__predef_detection__]]
| `+__BORLANDC__+` | V.R.P
| `+__CODEGEARC__+` | V.R.P
|===
*/ // end::reference[]
[[`__BORLANDC__`] [V.R.P]]
[[`__CODEGEARC__`] [V.R.P]]
]
*/
#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_CLANG`
/*`
[heading `BOOST_COMP_CLANG`]
http://en.wikipedia.org/wiki/Clang[Clang] compiler.
[@http://en.wikipedia.org/wiki/Clang Clang] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__clang__+` | {predef_detection}
[[`__clang__`] [__predef_detection__]]
| `+__clang_major__+`, `+__clang_minor__+`, `+__clang_patchlevel__+` | V.R.P
|===
*/ // end::reference[]
[[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
]
*/
#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
/* tag::reference[]
= `BOOST_COMP_COMO`
/*`
[heading `BOOST_COMP_COMO`]
http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B[Comeau {CPP}] compiler.
[@http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B Comeau C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__COMO__+` | {predef_detection}
[[`__COMO__`] [__predef_detection__]]
| `+__COMO_VERSION__+` | V.R.P
|===
*/ // end::reference[]
[[`__COMO_VERSION__`] [V.R.P]]
]
*/
#if defined(__COMO__)
# if !defined(BOOST_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_DEC`
/*`
[heading `BOOST_COMP_DEC`]
http://www.openvms.compaq.com/openvms/brochures/deccplus/[Compaq C/{CPP}] compiler.
[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__DECCXX+` | {predef_detection}
| `+__DECC+` | {predef_detection}
[[`__DECCXX`] [__predef_detection__]]
[[`__DECC`] [__predef_detection__]]
| `+__DECCXX_VER+` | V.R.P
| `+__DECC_VER+` | V.R.P
|===
*/ // end::reference[]
[[`__DECCXX_VER`] [V.R.P]]
[[`__DECC_VER`] [V.R.P]]
]
*/
#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_DIAB`
/*`
[heading `BOOST_COMP_DIAB`]
http://www.windriver.com/products/development_suite/wind_river_compiler/[Diab C/{CPP}] compiler.
[@http://www.windriver.com/products/development_suite/wind_river_compiler/ Diab C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__DCC__+` | {predef_detection}
[[`__DCC__`] [__predef_detection__]]
| `+__VERSION_NUMBER__+` | V.R.P
|===
*/ // end::reference[]
[[`__VERSION_NUMBER__`] [V.R.P]]
]
*/
#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_DMC`
/*`
[heading `BOOST_COMP_DMC`]
http://en.wikipedia.org/wiki/Digital_Mars[Digital Mars] compiler.
[@http://en.wikipedia.org/wiki/Digital_Mars Digital Mars] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__DMC__+` | {predef_detection}
[[`__DMC__`] [__predef_detection__]]
| `+__DMC__+` | V.R.P
|===
*/ // end::reference[]
[[`__DMC__`] [V.R.P]]
]
*/
#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_SYSC`
/*`
[heading `BOOST_COMP_SYSC`]
http://www.dignus.com/dcxx/[Dignus Systems/{CPP}] compiler.
[@http://www.dignus.com/dcxx/ Dignus Systems/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SYSC__+` | {predef_detection}
[[`__SYSC__`] [__predef_detection__]]
| `+__SYSC_VER__+` | V.R.P
|===
*/ // end::reference[]
[[`__SYSC_VER__`] [V.R.P]]
]
*/
#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_EDG`
/*`
[heading `BOOST_COMP_EDG`]
http://en.wikipedia.org/wiki/Edison_Design_Group[EDG {CPP} Frontend] compiler.
[@http://en.wikipedia.org/wiki/Edison_Design_Group EDG C++ Frontend] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__EDG__+` | {predef_detection}
[[`__EDG__`] [__predef_detection__]]
| `+__EDG_VERSION__+` | V.R.0
|===
*/ // end::reference[]
[[`__EDG_VERSION__`] [V.R.0]]
]
*/
#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_PATH`
/*`
[heading `BOOST_COMP_PATH`]
http://en.wikipedia.org/wiki/PathScale[EKOpath] compiler.
[@http://en.wikipedia.org/wiki/PathScale EKOpath] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__PATHCC__+` | {predef_detection}
[[`__PATHCC__`] [__predef_detection__]]
| `+__PATHCC__+`, `+__PATHCC_MINOR__+`, `+__PATHCC_PATCHLEVEL__+` | V.R.P
|===
*/ // end::reference[]
[[`__PATHCC__`, `__PATHCC_MINOR__`, `__PATHCC_PATCHLEVEL__`] [V.R.P]]
]
*/
#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,22 +15,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_GNUC`
/*`
[heading `BOOST_COMP_GNUC`]
http://en.wikipedia.org/wiki/GNU_Compiler_Collection[Gnu GCC C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/GNU_Compiler_Collection Gnu GCC C/C++] compiler.
Version number available as major, minor, and patch (if available).
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__GNUC__+` | {predef_detection}
[[`__GNUC__`] [__predef_detection__]]
| `+__GNUC__+`, `+__GNUC_MINOR__+`, `+__GNUC_PATCHLEVEL__+` | V.R.P
| `+__GNUC__+`, `+__GNUC_MINOR__+` | V.R.0
|===
*/ // end::reference[]
[[`__GNUC__`, `__GNUC_MINOR__`, `__GNUC_PATCHLEVEL__`] [V.R.P]]
[[`__GNUC__`, `__GNUC_MINOR__`] [V.R.0]]
]
*/
#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_GCCXML`
/*`
[heading `BOOST_COMP_GCCXML`]
http://www.gccxml.org/[GCC XML] compiler.
[@http://www.gccxml.org/ GCC XML] compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__GCCXML__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__GCCXML__`] [__predef_detection__]]
]
*/
#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_GHS`
/*`
[heading `BOOST_COMP_GHS`]
http://en.wikipedia.org/wiki/Green_Hills_Software[Green Hills C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/Green_Hills_Software Green Hills C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__ghs+` | {predef_detection}
| `+__ghs__+` | {predef_detection}
[[`__ghs`] [__predef_detection__]]
[[`__ghs__`] [__predef_detection__]]
| `+__GHS_VERSION_NUMBER__+` | V.R.P
| `+__ghs+` | V.R.P
|===
*/ // end::reference[]
[[`__GHS_VERSION_NUMBER__`] [V.R.P]]
[[`__ghs`] [V.R.P]]
]
*/
#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_HPACC`
/*`
[heading `BOOST_COMP_HPACC`]
HP a{CPP} compiler.
HP aC++ compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__HP_aCC+` | {predef_detection}
[[`__HP_aCC`] [__predef_detection__]]
| `+__HP_aCC+` | V.R.P
|===
*/ // end::reference[]
[[`__HP_aCC`] [V.R.P]]
]
*/
#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_IAR`
/*`
[heading `BOOST_COMP_IAR`]
IAR C/{CPP} compiler.
IAR C/C++ compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__IAR_SYSTEMS_ICC__+` | {predef_detection}
[[`__IAR_SYSTEMS_ICC__`] [__predef_detection__]]
| `+__VER__+` | V.R.P
|===
*/ // end::reference[]
[[`__VER__`] [V.R.P]]
]
*/
#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,26 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_IBM`
/*`
[heading `BOOST_COMP_IBM`]
http://en.wikipedia.org/wiki/VisualAge[IBM XL C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__IBMCPP__+` | {predef_detection}
| `+__xlC__+` | {predef_detection}
| `+__xlc__+` | {predef_detection}
[[`__IBMCPP__`] [__predef_detection__]]
[[`__xlC__`] [__predef_detection__]]
[[`__xlc__`] [__predef_detection__]]
| `+__COMPILER_VER__+` | V.R.P
| `+__xlC__+` | V.R.P
| `+__xlc__+` | V.R.P
| `+__IBMCPP__+` | V.R.P
|===
*/ // end::reference[]
[[`__COMPILER_VER__`] [V.R.P]]
[[`__xlC__`] [V.R.P]]
[[`__xlc__`] [V.R.P]]
[[`__IBMCPP__`] [V.R.P]]
]
*/
#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,34 +11,33 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_INTEL`
/*`
[heading `BOOST_COMP_INTEL`]
http://en.wikipedia.org/wiki/Intel_C%2B%2B[Intel C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/Intel_C%2B%2B Intel C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__INTEL_COMPILER+` | {predef_detection}
| `+__ICL+` | {predef_detection}
| `+__ICC+` | {predef_detection}
| `+__ECC+` | {predef_detection}
[[`__INTEL_COMPILER`] [__predef_detection__]]
[[`__ICL`] [__predef_detection__]]
[[`__ICC`] [__predef_detection__]]
[[`__ECC`] [__predef_detection__]]
| `+__INTEL_COMPILER+` | V.R
| `+__INTEL_COMPILER+` and `+__INTEL_COMPILER_UPDATE+` | V.R.P
|===
*/ // end::reference[]
[[`__INTEL_COMPILER`] [V.R]]
[[`__INTEL_COMPILER` and `__INTEL_COMPILER_UPDATE`] [V.R.P]]
]
*/
#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
defined(__ECC)
/* tag::reference[]
NOTE: Because of an Intel mistake in the release version numbering when
`__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.
*/ // end::reference[]
/*`
[note Because of an Intel mistake in the release version numbering when
`__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.]
*/
# if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 9999)
# define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER(12,1,0)
# endif

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_KCC`
/*`
[heading `BOOST_COMP_KCC`]
Kai {CPP} compiler.
Kai C++ compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__KCC+` | {predef_detection}
[[`__KCC`] [__predef_detection__]]
| `+__KCC_VERSION+` | V.R.P
|===
*/ // end::reference[]
[[`__KCC_VERSION`] [V.R.P]]
]
*/
#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,18 +15,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_LLVM`
/*`
[heading `BOOST_COMP_LLVM`]
http://en.wikipedia.org/wiki/LLVM[LLVM] compiler.
[@http://en.wikipedia.org/wiki/LLVM LLVM] compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__llvm__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__llvm__`] [__predef_detection__]]
]
*/
#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_HIGHC`
/*`
[heading `BOOST_COMP_HIGHC`]
MetaWare High C/{CPP} compiler.
MetaWare High C/C++ compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__HIGHC__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__HIGHC__`] [__predef_detection__]]
]
*/
#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,25 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MWERKS`
/*`
[heading `BOOST_COMP_MWERKS`]
http://en.wikipedia.org/wiki/CodeWarrior[Metrowerks CodeWarrior] compiler.
[@http://en.wikipedia.org/wiki/CodeWarrior Metrowerks CodeWarrior] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__MWERKS__+` | {predef_detection}
| `+__CWCC__+` | {predef_detection}
[[`__MWERKS__`] [__predef_detection__]]
[[`__CWCC__`] [__predef_detection__]]
| `+__CWCC__+` | V.R.P
| `+__MWERKS__+` | V.R.P >= 4.2.0
| `+__MWERKS__+` | 9.R.0
| `+__MWERKS__+` | 8.R.0
|===
*/ // end::reference[]
[[`__CWCC__`] [V.R.P]]
[[`__MWERKS__`] [V.R.P >= 4.2.0]]
[[`__MWERKS__`] [9.R.0]]
[[`__MWERKS__`] [8.R.0]]
]
*/
#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MRI`
/*`
[heading `BOOST_COMP_MRI`]
http://www.mentor.com/microtec/[Microtec C/{CPP}] compiler.
[@http://www.mentor.com/microtec/ Microtec C/C++] compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+_MRI+` | {predef_detection}
|===
*/ // end::reference[]
[[`_MRI`] [__predef_detection__]]
]
*/
#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MPW`
/*`
[heading `BOOST_COMP_MPW`]
http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop[MPW {CPP}] compiler.
[@http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop MPW C++] compiler.
Version number available as major, and minor.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__MRC__+` | {predef_detection}
| `MPW_C` | {predef_detection}
| `MPW_CPLUS` | {predef_detection}
[[`__MRC__`] [__predef_detection__]]
[[`MPW_C`] [__predef_detection__]]
[[`MPW_CPLUS`] [__predef_detection__]]
| `+__MRC__+` | V.R.0
|===
*/ // end::reference[]
[[`__MRC__`] [V.R.0]]
]
*/
#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_NVCC`
/*`
[heading `BOOST_COMP_NVCC`]
https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler[NVCC] compiler.
[@https://en.wikipedia.org/wiki/NVIDIA_CUDA_Compiler NVCC] compiler.
Version number available as major, minor, and patch beginning with version 7.5.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__NVCC__+` | {predef_detection}
[[`__NVCC__`] [__predef_detection__]]
| `+__CUDACC_VER_MAJOR__+`, `+__CUDACC_VER_MINOR__+`, `+__CUDACC_VER_BUILD__+` | V.R.P
|===
*/ // end::reference[]
[[`__CUDACC_VER_MAJOR__`, `__CUDACC_VER_MINOR__`, `__CUDACC_VER_BUILD__`] [V.R.P]]
]
*/
#define BOOST_COMP_NVCC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_PALM`
/*`
[heading `BOOST_COMP_PALM`]
Palm C/{CPP} compiler.
Palm C/C++ compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+_PACC_VER+` | {predef_detection}
[[`_PACC_VER`] [__predef_detection__]]
| `+_PACC_VER+` | V.R.P
|===
*/ // end::reference[]
[[`_PACC_VER`] [V.R.P]]
]
*/
#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,20 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_PGI`
/*`
[heading `BOOST_COMP_PGI`]
http://en.wikipedia.org/wiki/The_Portland_Group[Portland Group C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/The_Portland_Group Portland Group C/C++] compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__PGI+` | {predef_detection}
[[`__PGI`] [__predef_detection__]]
| `+__PGIC__+`, `+__PGIC_MINOR__+`, `+__PGIC_PATCHLEVEL__+` | V.R.P
|===
*/ // end::reference[]
[[`__PGIC__`, `__PGIC_MINOR__`, `__PGIC_PATCHLEVEL__`] [V.R.P]]
]
*/
#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,23 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_SGI`
/*`
[heading `BOOST_COMP_SGI`]
http://en.wikipedia.org/wiki/MIPSpro[SGI MIPSpro] compiler.
[@http://en.wikipedia.org/wiki/MIPSpro SGI MIPSpro] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__sgi+` | {predef_detection}
| `sgi` | {predef_detection}
[[`__sgi`] [__predef_detection__]]
[[`sgi`] [__predef_detection__]]
| `+_SGI_COMPILER_VERSION+` | V.R.P
| `+_COMPILER_VERSION+` | V.R.P
|===
*/ // end::reference[]
[[`_SGI_COMPILER_VERSION`] [V.R.P]]
[[`_COMPILER_VERSION`] [V.R.P]]
]
*/
#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,25 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_SUNPRO`
/*`
[heading `BOOST_COMP_SUNPRO`]
http://en.wikipedia.org/wiki/Oracle_Solaris_Studio[Oracle Solaris Studio] compiler.
[@http://en.wikipedia.org/wiki/Oracle_Solaris_Studio Oracle Solaris Studio] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SUNPRO_CC+` | {predef_detection}
| `+__SUNPRO_C+` | {predef_detection}
[[`__SUNPRO_CC`] [__predef_detection__]]
[[`__SUNPRO_C`] [__predef_detection__]]
| `+__SUNPRO_CC+` | V.R.P
| `+__SUNPRO_C+` | V.R.P
| `+__SUNPRO_CC+` | VV.RR.P
| `+__SUNPRO_C+` | VV.RR.P
|===
*/ // end::reference[]
[[`__SUNPRO_CC`] [V.R.P]]
[[`__SUNPRO_C`] [V.R.P]]
[[`__SUNPRO_CC`] [VV.RR.P]]
[[`__SUNPRO_C`] [VV.RR.P]]
]
*/
#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_TENDRA`
/*`
[heading `BOOST_COMP_TENDRA`]
http://en.wikipedia.org/wiki/TenDRA_Compiler[TenDRA C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/TenDRA_Compiler TenDRA C/C++] compiler.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__TenDRA__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__TenDRA__`] [__predef_detection__]]
]
*/
#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -15,26 +15,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_MSVC`
/*`
[heading `BOOST_COMP_MSVC`]
http://en.wikipedia.org/wiki/Visual_studio[Microsoft Visual C/{CPP}] compiler.
[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+_MSC_VER+` | {predef_detection}
[[`_MSC_VER`] [__predef_detection__]]
| `+_MSC_FULL_VER+` | V.R.P
| `+_MSC_VER+` | V.R.0
|===
[[`_MSC_FULL_VER`] [V.R.P]]
[[`_MSC_VER`] [V.R.0]]
]
NOTE: Release of Visual Studio after 2015 will no longer be identified
[note Release of Visual Studio after 2015 will no longer be identified
by Boost Predef as the marketing version number. Instead we use the
compiler version number directly, i.e. the _MSC_VER number.
*/ // end::reference[]
compiler version number directly, i.e. the _MSC_VER number.]
*/
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_COMP_WATCOM`
/*`
[heading `BOOST_COMP_WATCOM`]
http://en.wikipedia.org/wiki/Watcom[Watcom {CPP}] compiler.
[@http://en.wikipedia.org/wiki/Watcom Watcom C++] compiler.
Version number available as major, and minor.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__WATCOMC__+` | {predef_detection}
[[`__WATCOMC__`] [__predef_detection__]]
| `+__WATCOMC__+` | V.R.P
|===
*/ // end::reference[]
[[`__WATCOMC__`] [V.R.P]]
]
*/
#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -0,0 +1,28 @@
/*
Copyright Rene Rivera 2013-2018
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
*/
#ifndef BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
#pragma message("The use of BOOST_*_ENDIAN and BOOST_BYTE_ORDER is deprecated. Please include <boost/predef/other/endian.h> and use BOOST_ENDIAN_*_BYTE instead")
#include <boost/predef/other/endian.h>
#if BOOST_ENDIAN_BIG_BYTE
# define BOOST_BIG_ENDIAN
# define BOOST_BYTE_ORDER 4321
#endif
#if BOOST_ENDIAN_LITTLE_BYTE
# define BOOST_LITTLE_ENDIAN
# define BOOST_BYTE_ORDER 1234
#endif
#if BOOST_ENDIAN_LITTLE_WORD
# define BOOST_PDP_ENDIAN
# define BOOST_BYTE_ORDER 2134
#endif
#endif

View File

@ -16,104 +16,55 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= Using the `BOOST_HW_SIMD_*` predefs
/*`
[section Using the `BOOST_HW_SIMD_*` predefs]
[include ../doc/hardware_simd.qbk]
[endsect]
SIMD predefs depend on compiler options. For example, you will have to add the
option `-msse3` to clang or gcc to enable SSE3. SIMD predefs are also inclusive.
This means that if SSE3 is enabled, then every other extensions with a lower
version number will implicitly be enabled and detected. However, some extensions
are CPU specific, they may not be detected nor enabled when an upper version is
enabled.
[/ --------------------------- ]
NOTE: SSE(1) and SSE2 are automatically enabled by default when using x86-64
architecture.
[section `BOOST_HW_SIMD_*`]
To check if any SIMD extension has been enabled, you can use:
[heading `BOOST_HW_SIMD`]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
The SIMD extension detected for a specific architectures.
Version number depends on the detected extension.
int main()
{
#if defined(BOOST_HW_SIMD_AVAILABLE)
std::cout << "SIMD detected!" << std::endl;
#endif
return 0;
}
----
[table
[[__predef_symbol__] [__predef_version__]]
When writing SIMD specific code, you may want to check if a particular extension
has been detected. To do so you have to use the right architecture predef and
compare it. Those predef are of the form `BOOST_HW_SIMD_"ARCH"` (where `"ARCH"`
is either `ARM`, `PPC`, or `X86`). For example, if you compile code for x86
architecture, you will have to use `BOOST_HW_SIMD_X86`. Its value will be the
version number of the most recent SIMD extension detected for the architecture.
[[`BOOST_HW_SIMD_X86_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_X86_AMD_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_ARM_AVAILABLE`] [__predef_detection__]]
[[`BOOST_HW_SIMD_PPC_AVAILABLE`] [__predef_detection__]]
]
To check if an extension has been enabled:
[include ../include/boost/predef/hardware/simd/x86.h]
[include ../include/boost/predef/hardware/simd/x86_amd.h]
[include ../include/boost/predef/hardware/simd/arm.h]
[include ../include/boost/predef/hardware/simd/ppc.h]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[endsect]
int main()
{
#if BOOST_HW_SIMD_X86 >= BOOST_HW_SIMD_X86_SSE3_VERSION
std::cout << "This is SSE3!" << std::endl;
#endif
return 0;
}
----
[/ --------------------------- ]
NOTE: The *_VERSION* defines that map version number to actual real
identifiers. This way it is easier to write comparisons without messing up with
version numbers.
[section `BOOST_HW_SIMD_X86_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86/versions.h]
[endsect]
To *"strictly"* check the most recent detected extension:
[section `BOOST_HW_SIMD_X86_AMD_*_VERSION`]
[include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
[endsect]
[source]
----
#include <boost/predef/hardware/simd.h>
#include <iostream>
[section `BOOST_HW_SIMD_ARM_*_VERSION`]
[include ../include/boost/predef/hardware/simd/arm/versions.h]
[endsect]
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;
}
----
[section `BOOST_HW_SIMD_PPC_*_VERSION`]
[include ../include/boost/predef/hardware/simd/ppc/versions.h]
[endsect]
Because of the version systems of predefs and of the inclusive property of SIMD
extensions macros, you can easily check for ranges of supported extensions:
[source]
----
#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;
}
----
NOTE: Unlike gcc and clang, Visual Studio does not allow you to specify precisely
the SSE variants you want to use, the only detections that will take place are
SSE, SSE2, AVX and AVX2. For more informations,
see [@https://msdn.microsoft.com/en-us/library/b0084kay.aspx here].
*/ // end::reference[]
*/
// We check if SIMD extension of multiples architectures have been detected,
// if yes, then this is an error!

View File

@ -12,33 +12,31 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/arm/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_ARM`
/*`
[heading `BOOST_HW_SIMD_ARM`]
The SIMD extension for ARM (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for ARM (*if detected*).
Version number depends on the most recent detected extension.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__ARM_NEON__+` | {predef_detection}
| `+__aarch64__+` | {predef_detection}
| `+_M_ARM+` | {predef_detection}
| `+_M_ARM64+` | {predef_detection}
|===
[[`__ARM_NEON__`] [__predef_detection__]]
[[`__aarch64__`] [__predef_detection__]]
[[`_M_ARM`] [__predef_detection__]]
[[`_M_ARM64`] [__predef_detection__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__ARM_NEON__+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+__aarch64__+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+_M_ARM+` | BOOST_HW_SIMD_ARM_NEON_VERSION
| `+_M_ARM64+` | BOOST_HW_SIMD_ARM_NEON_VERSION
|===
[[`__ARM_NEON__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`__aarch64__`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`_M_ARM`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
[[`_M_ARM64`] [BOOST_HW_SIMD_ARM_NEON_VERSION]]
]
*/ // end::reference[]
*/
#define BOOST_HW_SIMD_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,28 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_*_VERSION`
/*`
Those defines represent ARM SIMD extensions versions.
Those defines represent ARM SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_ARM_NEON_VERSION`
/*`
[heading `BOOST_HW_SIMD_ARM_NEON_VERSION`]
The https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29[NEON]
ARM extension version number.
The [@https://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON]
ARM extension version number.
Version number is: *1.0.0*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_ARM_NEON_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,37 +12,35 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/ppc/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_PPC`
/*`
[heading `BOOST_HW_SIMD_PPC`]
The SIMD extension for PowerPC (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for PowerPC (*if detected*).
Version number depends on the most recent detected extension.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__VECTOR4DOUBLE__+` | {predef_detection}
[[`__VECTOR4DOUBLE__`] [__predef_detection__]]
| `+__ALTIVEC__+` | {predef_detection}
| `+__VEC__+` | {predef_detection}
[[`__ALTIVEC__`] [__predef_detection__]]
[[`__VEC__`] [__predef_detection__]]
| `+__VSX__+` | {predef_detection}
|===
[[`__VSX__`] [__predef_detection__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__VECTOR4DOUBLE__+` | BOOST_HW_SIMD_PPC_QPX_VERSION
[[`__VECTOR4DOUBLE__`] [BOOST_HW_SIMD_PPC_QPX_VERSION]]
| `+__ALTIVEC__+` | BOOST_HW_SIMD_PPC_VMX_VERSION
| `+__VEC__+` | BOOST_HW_SIMD_PPC_VMX_VERSION
[[`__ALTIVEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
[[`__VEC__`] [BOOST_HW_SIMD_PPC_VMX_VERSION]]
| `+__VSX__+` | BOOST_HW_SIMD_PPC_VSX_VERSION
|===
[[`__VSX__`] [BOOST_HW_SIMD_PPC_VSX_VERSION]]
]
*/ // end::reference[]
*/
#define BOOST_HW_SIMD_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,47 +11,41 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_*_VERSION`
/*`
Those defines represent Power PC SIMD extensions versions.
Those defines represent Power PC SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VMX_VERSION`
/*`
[heading `BOOST_HW_SIMD_PPC_VMX_VERSION`]
The https://en.wikipedia.org/wiki/AltiVec#VMX128[VMX] powerpc extension
version number.
The [@https://en.wikipedia.org/wiki/AltiVec#VMX128 VMX] powerpc extension
version number.
Version number is: *1.0.0*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_PPC_VMX_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_VSX_VERSION`
/*`
[heading `BOOST_HW_SIMD_PPC_VSX_VERSION`]
The https://en.wikipedia.org/wiki/AltiVec#VSX[VSX] powerpc extension version
number.
The [@https://en.wikipedia.org/wiki/AltiVec#VSX VSX] powerpc extension version
number.
Version number is: *1.1.0*.
*/ // end::reference[]
Version number is: *1.1.0*.
*/
#define BOOST_HW_SIMD_PPC_VSX_VERSION BOOST_VERSION_NUMBER(1, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_PPC_QPX_VERSION`
/*`
[heading `BOOST_HW_SIMD_PPC_QPX_VERSION`]
The QPX powerpc extension version number.
The QPX powerpc extension version number.
Version number is: *2.0.0*.
*/ // end::reference[]
Version number is: *2.0.0*.
*/
#define BOOST_HW_SIMD_PPC_QPX_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,67 +12,65 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86`
/*`
[heading `BOOST_HW_SIMD_X86`]
The SIMD extension for x86 (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for x86 (*if detected*).
Version number depends on the most recent detected extension.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SSE__+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
| `_M_IX86_FP >= 1` | {predef_detection}
[[`__SSE__`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
[[`_M_IX86_FP >= 1`] [__predef_detection__]]
| `+__SSE2__+` | {predef_detection}
| `+_M_X64+` | {predef_detection}
| `_M_IX86_FP >= 2` | {predef_detection}
[[`__SSE2__`] [__predef_detection__]]
[[`_M_X64`] [__predef_detection__]]
[[`_M_IX86_FP >= 2`] [__predef_detection__]]
| `+__SSE3__+` | {predef_detection}
[[`__SSE3__`] [__predef_detection__]]
| `+__SSSE3__+` | {predef_detection}
[[`__SSSE3__`] [__predef_detection__]]
| `+__SSE4_1__+` | {predef_detection}
[[`__SSE4_1__`] [__predef_detection__]]
| `+__SSE4_2__+` | {predef_detection}
[[`__SSE4_2__`] [__predef_detection__]]
| `+__AVX__+` | {predef_detection}
[[`__AVX__`] [__predef_detection__]]
| `+__FMA__+` | {predef_detection}
[[`__FMA__`] [__predef_detection__]]
| `+__AVX2__+` | {predef_detection}
|===
[[`__AVX2__`] [__predef_detection__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SSE__+` | BOOST_HW_SIMD_X86_SSE_VERSION
| `+_M_X64+` | BOOST_HW_SIMD_X86_SSE_VERSION
| `_M_IX86_FP >= 1` | BOOST_HW_SIMD_X86_SSE_VERSION
[[`__SSE__`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
[[`_M_X64`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
[[`_M_IX86_FP >= 1`] [BOOST_HW_SIMD_X86_SSE_VERSION]]
| `+__SSE2__+` | BOOST_HW_SIMD_X86_SSE2_VERSION
| `+_M_X64+` | BOOST_HW_SIMD_X86_SSE2_VERSION
| `_M_IX86_FP >= 2` | BOOST_HW_SIMD_X86_SSE2_VERSION
[[`__SSE2__`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
[[`_M_X64`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
[[`_M_IX86_FP >= 2`] [BOOST_HW_SIMD_X86_SSE2_VERSION]]
| `+__SSE3__+` | BOOST_HW_SIMD_X86_SSE3_VERSION
[[`__SSE3__`] [BOOST_HW_SIMD_X86_SSE3_VERSION]]
| `+__SSSE3__+` | BOOST_HW_SIMD_X86_SSSE3_VERSION
[[`__SSSE3__`] [BOOST_HW_SIMD_X86_SSSE3_VERSION]]
| `+__SSE4_1__+` | BOOST_HW_SIMD_X86_SSE4_1_VERSION
[[`__SSE4_1__`] [BOOST_HW_SIMD_X86_SSE4_1_VERSION]]
| `+__SSE4_2__+` | BOOST_HW_SIMD_X86_SSE4_2_VERSION
[[`__SSE4_2__`] [BOOST_HW_SIMD_X86_SSE4_2_VERSION]]
| `+__AVX__+` | BOOST_HW_SIMD_X86_AVX_VERSION
[[`__AVX__`] [BOOST_HW_SIMD_X86_AVX_VERSION]]
| `+__FMA__+` | BOOST_HW_SIMD_X86_FMA3_VERSION
[[`__FMA__`] [BOOST_HW_SIMD_X86_FMA3_VERSION]]
| `+__AVX2__+` | BOOST_HW_SIMD_X86_AVX2_VERSION
|===
[[`__AVX2__`] [BOOST_HW_SIMD_X86_AVX2_VERSION]]
]
*/ // end::reference[]
*/
#define BOOST_HW_SIMD_X86 BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,125 +11,119 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_*_VERSION`
/*`
Those defines represent x86 SIMD extensions versions.
Those defines represent x86 SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MMX_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_MMX_VERSION`]
The https://en.wikipedia.org/wiki/MMX_(instruction_set)[MMX] x86 extension
version number.
The [@https://en.wikipedia.org/wiki/MMX_(instruction_set) MMX] x86 extension
version number.
Version number is: *0.99.0*.
*/ // end::reference[]
Version number is: *0.99.0*.
*/
#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSE_VERSION`]
The https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions[SSE] x86 extension
version number.
The [@https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] x86 extension
version number.
Version number is: *1.0.0*.
*/ // end::reference[]
Version number is: *1.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE2_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSE2_VERSION`]
The https://en.wikipedia.org/wiki/SSE2[SSE2] x86 extension version number.
The [@https://en.wikipedia.org/wiki/SSE2 SSE2] x86 extension version number.
Version number is: *2.0.0*.
*/ // end::reference[]
Version number is: *2.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE3_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSE3_VERSION`]
The https://en.wikipedia.org/wiki/SSE3[SSE3] x86 extension version number.
The [@https://en.wikipedia.org/wiki/SSE3 SSE3] x86 extension version number.
Version number is: *3.0.0*.
*/ // end::reference[]
Version number is: *3.0.0*.
*/
#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSSE3_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSSE3_VERSION`]
The https://en.wikipedia.org/wiki/SSSE3[SSSE3] x86 extension version number.
The [@https://en.wikipedia.org/wiki/SSSE3 SSSE3] x86 extension version number.
Version number is: *3.1.0*.
*/ // end::reference[]
Version number is: *3.1.0*.
*/
#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_1_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSE4_1_VERSION`]
The https://en.wikipedia.org/wiki/SSE4#SSE4.1[SSE4_1] x86 extension version
number.
The [@https://en.wikipedia.org/wiki/SSE4#SSE4.1 SSE4_1] x86 extension version
number.
Version number is: *4.1.0*.
*/ // end::reference[]
Version number is: *4.1.0*.
*/
#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_SSE4_2_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_SSE4_2_VERSION`]
The https://en.wikipedia.org/wiki/SSE4##SSE4.2[SSE4_2] x86 extension version
number.
The [@https://en.wikipedia.org/wiki/SSE4##SSE4.2 SSE4_2] x86 extension version
number.
Version number is: *4.2.0*.
*/ // end::reference[]
Version number is: *4.2.0*.
*/
#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_AVX_VERSION`]
The https://en.wikipedia.org/wiki/Advanced_Vector_Extensions[AVX] x86
extension version number.
The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions AVX] x86
extension version number.
Version number is: *5.0.0*.
*/ // end::reference[]
Version number is: *5.0.0*.
*/
#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_FMA3_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_FMA3_VERSION`]
The https://en.wikipedia.org/wiki/FMA_instruction_set[FMA3] x86 extension
version number.
The [@https://en.wikipedia.org/wiki/FMA_instruction_set FMA3] x86 extension
version number.
Version number is: *5.2.0*.
*/ // end::reference[]
Version number is: *5.2.0*.
*/
#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AVX2_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_AVX2_VERSION`]
The https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2[AVX2]
x86 extension version number.
The [@https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2]
x86 extension version number.
Version number is: *5.3.0*.
*/ // end::reference[]
Version number is: *5.3.0*.
*/
#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_MIC_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_MIC_VERSION`]
The https://en.wikipedia.org/wiki/Xeon_Phi[MIC] (Xeon Phi) x86 extension
version number.
The [@https://en.wikipedia.org/wiki/Xeon_Phi MIC] (Xeon Phi) x86 extension
version number.
Version number is: *9.0.0*.
*/ // end::reference[]
Version number is: *9.0.0*.
*/
#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -12,44 +12,42 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/hardware/simd/x86_amd/versions.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD`
/*`
[heading `BOOST_HW_SIMD_X86_AMD`]
The SIMD extension for x86 (AMD) (*if detected*).
Version number depends on the most recent detected extension.
The SIMD extension for x86 (AMD) (*if detected*).
Version number depends on the most recent detected extension.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SSE4A__+` | {predef_detection}
[[`__SSE4A__`] [__predef_detection__]]
| `+__FMA4__+` | {predef_detection}
[[`__FMA4__`] [__predef_detection__]]
| `+__XOP__+` | {predef_detection}
[[`__XOP__`] [__predef_detection__]]
| `BOOST_HW_SIMD_X86` | {predef_detection}
|===
[[`BOOST_HW_SIMD_X86`] [__predef_detection__]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SSE4A__+` | BOOST_HW_SIMD_X86_SSE4A_VERSION
[[`__SSE4A__`] [BOOST_HW_SIMD_X86_SSE4A_VERSION]]
| `+__FMA4__+` | BOOST_HW_SIMD_X86_FMA4_VERSION
[[`__FMA4__`] [BOOST_HW_SIMD_X86_FMA4_VERSION]]
| `+__XOP__+` | BOOST_HW_SIMD_X86_XOP_VERSION
[[`__XOP__`] [BOOST_HW_SIMD_X86_XOP_VERSION]]
| `BOOST_HW_SIMD_X86` | BOOST_HW_SIMD_X86
|===
[[`BOOST_HW_SIMD_X86`] [BOOST_HW_SIMD_X86]]
]
NOTE: This predef includes every other x86 SIMD extensions and also has other
more specific extensions (FMA4, XOP, SSE4a). You should use this predef
instead of `BOOST_HW_SIMD_X86` to test if those specific extensions have
been detected.
[note This predef includes every other x86 SIMD extensions and also has other
more specific extensions (FMA4, XOP, SSE4a). You should use this predef
instead of `BOOST_HW_SIMD_X86` to test if those specific extensions have
been detected.]
*/ // end::reference[]
*/
#define BOOST_HW_SIMD_X86_AMD BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,46 +11,41 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_*_VERSION`
/*`
Those defines represent x86 (AMD specific) SIMD extensions versions.
Those defines represent x86 (AMD specific) SIMD extensions versions.
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.
*/ // end::reference[]
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.]
*/
// ---------------------------------
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`]
https://en.wikipedia.org/wiki/SSE4##SSE4A[SSE4A] x86 extension (AMD specific).
[@https://en.wikipedia.org/wiki/SSE4##SSE4A SSE4A] x86 extension (AMD specific).
Version number is: *4.0.0*.
*/ // end::reference[]
Version number is: *4.0.0*.
*/
#define BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION BOOST_VERSION_NUMBER(4, 0, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`]
https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set[FMA4] x86 extension (AMD specific).
[@https://en.wikipedia.org/wiki/FMA_instruction_set#FMA4_instruction_set FMA4] x86 extension (AMD specific).
Version number is: *5.1.0*.
*/ // end::reference[]
Version number is: *5.1.0*.
*/
#define BOOST_HW_SIMD_X86_AMD_FMA4_VERSION BOOST_VERSION_NUMBER(5, 1, 0)
/* tag::reference[]
= `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`
/*`
[heading `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`]
https://en.wikipedia.org/wiki/XOP_instruction_set[XOP] x86 extension (AMD specific).
[@https://en.wikipedia.org/wiki/XOP_instruction_set XOP] x86 extension (AMD specific).
Version number is: *5.1.1*.
*/ // end::reference[]
Version number is: *5.1.1*.
*/
#define BOOST_HW_SIMD_X86_AMD_XOP_VERSION BOOST_VERSION_NUMBER(5, 1, 1)
/* tag::reference[]
*/ // end::reference[]
#endif

View File

@ -11,22 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_CUDA`
/*`
[heading `BOOST_LANG_CUDA`]
https://en.wikipedia.org/wiki/CUDA[CUDA C/{CPP}] language.
[@https://en.wikipedia.org/wiki/CUDA CUDA C/C++] language.
If available, the version is detected as VV.RR.P.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__CUDACC__+` | {predef_detection}
| `+__CUDA__+` | {predef_detection}
[[`__CUDACC__`] [__predef_detection__]]
[[`__CUDA__`] [__predef_detection__]]
| `CUDA_VERSION` | VV.RR.P
|===
*/ // end::reference[]
[[`CUDA_VERSION`] [VV.RR.P]]
]
*/
#define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,18 +11,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_OBJC`
/*`
[heading `BOOST_LANG_OBJC`]
http://en.wikipedia.org/wiki/Objective-C[Objective-C] language.
[@http://en.wikipedia.org/wiki/Objective-C Objective-C] language.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__OBJC__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__OBJC__`] [__predef_detection__]]
]
*/
#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,21 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_STDC`
/*`
[heading `BOOST_LANG_STDC`]
http://en.wikipedia.org/wiki/C_(programming_language)[Standard C] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
[@http://en.wikipedia.org/wiki/C_(programming_language) Standard C] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__STDC__+` | {predef_detection}
[[`__STDC__`] [__predef_detection__]]
| `+__STDC_VERSION__+` | V.R.P
|===
*/ // end::reference[]
[[`__STDC_VERSION__`] [V.R.P]]
]
*/
#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -11,34 +11,29 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LANG_STDCPP`
/*`
[heading `BOOST_LANG_STDCPP`]
http://en.wikipedia.org/wiki/C%2B%2B[Standard {CPP}] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
Because of the way the {CPP} standardization process works the
[@http://en.wikipedia.org/wiki/C%2B%2B Standard C++] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
Because of the way the C++ standardization process works the
defined version year will not be the commonly known year of the standard.
Specifically the defined versions are:
.Detected Version Number vs. {CPP} Standard Year
[options="header"]
|===
| Detected Version Number | Standard Year | {CPP} Standard
| 27.11.1 | 1998 | ISO/IEC 14882:1998
| 41.3.1 | 2011 | ISO/IEC 14882:2011
| 44.2.1 | 2014 | ISO/IEC 14882:2014
| 47.3.1 | 2017 | ISO/IEC 14882:2017
|===
[table 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]]
]
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__cplusplus+` | {predef_detection}
[[`__cplusplus`] [__predef_detection__]]
| `+__cplusplus+` | YYYY.MM.1
|===
*/ // end::reference[]
[[`__cplusplus`] [YYYY.MM.1]]
]
*/
#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -57,21 +52,20 @@ Specifically the defined versions are:
#define BOOST_LANG_STDCPP_NAME "Standard C++"
/* tag::reference[]
= `BOOST_LANG_STDCPPCLI`
/*`
[heading `BOOST_LANG_STDCPPCLI`]
http://en.wikipedia.org/wiki/C%2B%2B/CLI[Standard {CPP}/CLI] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoch date.
[@http://en.wikipedia.org/wiki/C%2B%2B/CLI Standard C++/CLI] language.
If available, the year of the standard is detected as YYYY.MM.1 from the Epoc date.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__cplusplus_cli+` | {predef_detection}
[[`__cplusplus_cli`] [__predef_detection__]]
| `+__cplusplus_cli+` | YYYY.MM.1
|===
*/ // end::reference[]
[[`__cplusplus_cli`] [YYYY.MM.1]]
]
*/
#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
@ -90,18 +84,17 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoch d
#define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI"
/* tag::reference[]
= `BOOST_LANG_STDECPP`
/*`
[heading `BOOST_LANG_STDECPP`]
http://en.wikipedia.org/wiki/Embedded_C%2B%2B[Standard Embedded {CPP}] language.
[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__embedded_cplusplus+` | {predef_detection}
|===
*/ // end::reference[]
[[`__embedded_cplusplus`] [__predef_detection__]]
]
*/
#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -18,21 +18,20 @@
#include <stddef.h>
#endif
/* tag::reference[]
= `BOOST_LIB_C_CLOUDABI`
/*`
[heading `BOOST_LIB_C_CLOUDABI`]
https://github.com/NuxiNL/cloudlibc[cloudlibc] - CloudABI's standard C library.
[@https://github.com/NuxiNL/cloudlibc cloudlibc] - CloudABI's standard C library.
Version number available as major, and minor.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__cloudlibc__+` | {predef_detection}
[[`__cloudlibc__`] [__predef_detection__]]
| `+__cloudlibc_major__+`, `+__cloudlibc_minor__+` | V.R.0
|===
*/ // end::reference[]
[[`__cloudlibc_major__`, `__cloudlibc_minor__`] [V.R.0]]
]
*/
#define BOOST_LIB_C_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -19,23 +19,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <cstddef>
#endif
/* tag::reference[]
= `BOOST_LIB_C_GNU`
/*`
[heading `BOOST_LIB_C_GNU`]
http://en.wikipedia.org/wiki/Glibc[GNU glibc] Standard C library.
[@http://en.wikipedia.org/wiki/Glibc GNU glibc] Standard C library.
Version number available as major, and minor.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__GLIBC__+` | {predef_detection}
| `+__GNU_LIBRARY__+` | {predef_detection}
[[`__GLIBC__`] [__predef_detection__]]
[[`__GNU_LIBRARY__`] [__predef_detection__]]
| `+__GLIBC__+`, `+__GLIBC_MINOR__+` | V.R.0
| `+__GNU_LIBRARY__+`, `+__GNU_LIBRARY_MINOR__+` | V.R.0
|===
*/ // end::reference[]
[[`__GLIBC__`, `__GLIBC_MINOR__`] [V.R.0]]
[[`__GNU_LIBRARY__`, `__GNU_LIBRARY_MINOR__`] [V.R.0]]
]
*/
#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,20 +13,19 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_C_UC`
/*`
[heading `BOOST_LIB_C_UC`]
http://en.wikipedia.org/wiki/Uclibc[uClibc] Standard C library.
[@http://en.wikipedia.org/wiki/Uclibc uClibc] Standard C library.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__UCLIBC__+` | {predef_detection}
[[`__UCLIBC__`] [__predef_detection__]]
| `+__UCLIBC_MAJOR__+`, `+__UCLIBC_MINOR__+`, `+__UCLIBC_SUBLEVEL__+` | V.R.P
|===
*/ // end::reference[]
[[`__UCLIBC_MAJOR__`, `__UCLIBC_MINOR__`, `__UCLIBC_SUBLEVEL__`] [V.R.P]]
]
*/
#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_C_VMS`
/*`
[heading `BOOST_LIB_C_VMS`]
VMS libc Standard C library.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__CRTL_VER+` | {predef_detection}
[[`__CRTL_VER`] [__predef_detection__]]
| `+__CRTL_VER+` | V.R.P
|===
*/ // end::reference[]
[[`__CRTL_VER`] [V.R.P]]
]
*/
#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,22 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_C_ZOS`
/*`
[heading `BOOST_LIB_C_ZOS`]
z/OS libc Standard C library.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__LIBREL__+` | {predef_detection}
[[`__LIBREL__`] [__predef_detection__]]
| `+__LIBREL__+` | V.R.P
| `+__TARGET_LIB__+` | V.R.P
|===
*/ // end::reference[]
[[`__LIBREL__`] [V.R.P]]
[[`__TARGET_LIB__`] [V.R.P]]
]
*/
#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,26 +13,25 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_CXX`
/*`
[heading `BOOST_LIB_STD_CXX`]
http://libcxx.llvm.org/[libc++] {CPP} Standard Library.
[@http://libcxx.llvm.org/ libc++] C++ Standard Library.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+_LIBCPP_VERSION+` | {predef_detection}
[[`_LIBCPP_VERSION`] [__predef_detection__]]
| `+_LIBCPP_VERSION+` | V.0.P
|===
*/ // end::reference[]
[[`_LIBCPP_VERSION`] [V.0.P]]
]
*/
#define BOOST_LIB_STD_CXX BOOST_VERSION_NUMBER_NOT_AVAILABLE
#if defined(_LIBCPP_VERSION)
# undef BOOST_LIB_STD_CXX
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VVPPP(_LIBCPP_VERSION)
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VPPP(_LIBCPP_VERSION)
#endif
#if BOOST_LIB_STD_CXX

View File

@ -13,22 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_DINKUMWARE`
/*`
[heading `BOOST_LIB_STD_DINKUMWARE`]
http://en.wikipedia.org/wiki/Dinkumware[Dinkumware] Standard {CPP} Library.
[@http://en.wikipedia.org/wiki/Dinkumware Dinkumware] Standard C++ Library.
If available version number as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+_YVALS+`, `+__IBMCPP__+` | {predef_detection}
| `+_CPPLIB_VER+` | {predef_detection}
[[`_YVALS`, `__IBMCPP__`] [__predef_detection__]]
[[`_CPPLIB_VER`] [__predef_detection__]]
| `+_CPPLIB_VER+` | V.R.0
|===
*/ // end::reference[]
[[`_CPPLIB_VER`] [V.R.0]]
]
*/
#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_COMO`
/*`
[heading `BOOST_LIB_STD_COMO`]
http://www.comeaucomputing.com/libcomo/[Comeau Computing] Standard {CPP} Library.
[@http://www.comeaucomputing.com/libcomo/ Comeau Computing] Standard C++ Library.
Version number available as major.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__LIBCOMO__+` | {predef_detection}
[[`__LIBCOMO__`] [__predef_detection__]]
| `+__LIBCOMO_VERSION__+` | V.0.0
|===
*/ // end::reference[]
[[`__LIBCOMO_VERSION__`] [V.0.0]]
]
*/
#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,19 +13,18 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_MSIPL`
/*`
[heading `BOOST_LIB_STD_MSIPL`]
http://modena.us/[Modena Software Lib++] Standard {CPP} Library.
[@http://modena.us/ Modena Software Lib++] Standard C++ Library.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `MSIPL_COMPILE_H` | {predef_detection}
| `+__MSIPL_COMPILE_H+` | {predef_detection}
|===
*/ // end::reference[]
[[`MSIPL_COMPILE_H`] [__predef_detection__]]
[[`__MSIPL_COMPILE_H`] [__predef_detection__]]
]
*/
#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,23 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_MSL`
/*`
[heading `BOOST_LIB_STD_MSL`]
http://www.freescale.com/[Metrowerks] Standard {CPP} Library.
[@http://www.freescale.com/ Metrowerks] Standard C++ Library.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__MSL_CPP__+` | {predef_detection}
| `+__MSL__+` | {predef_detection}
[[`__MSL_CPP__`] [__predef_detection__]]
[[`__MSL__`] [__predef_detection__]]
| `+__MSL_CPP__+` | V.R.P
| `+__MSL__+` | V.R.P
|===
*/ // end::reference[]
[[`__MSL_CPP__`] [V.R.P]]
[[`__MSL__`] [V.R.P]]
]
*/
#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,22 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_RW`
/*`
[heading `BOOST_LIB_STD_RW`]
http://stdcxx.apache.org/[Roguewave] Standard {CPP} library.
[@http://stdcxx.apache.org/ Roguewave] Standard C++ library.
If available version number as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__STD_RWCOMPILER_H__+` | {predef_detection}
| `+_RWSTD_VER+` | {predef_detection}
[[`__STD_RWCOMPILER_H__`] [__predef_detection__]]
[[`_RWSTD_VER`] [__predef_detection__]]
| `+_RWSTD_VER+` | V.R.P
|===
*/ // end::reference[]
[[`_RWSTD_VER`] [V.R.P]]
]
*/
#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,21 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_SGI`
/*`
[heading `BOOST_LIB_STD_SGI`]
http://www.sgi.com/tech/stl/[SGI] Standard {CPP} library.
[@http://www.sgi.com/tech/stl/ SGI] Standard C++ library.
If available version number as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__STL_CONFIG_H+` | {predef_detection}
[[`__STL_CONFIG_H`] [__predef_detection__]]
| `+__SGI_STL+` | V.R.P
|===
*/ // end::reference[]
[[`__SGI_STL`] [V.R.P]]
]
*/
#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,23 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_GNU`
/*`
[heading `BOOST_LIB_STD_GNU`]
https://gcc.gnu.org/onlinedocs/libstdc%2b%2b/[GNU libstdc++] Standard {CPP} library.
[@http://gcc.gnu.org/libstdc++/ GNU libstdc++] Standard C++ library.
Version number available as year (from 1970), month, and day.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__GLIBCXX__+` | {predef_detection}
| `+__GLIBCPP__+` | {predef_detection}
[[`__GLIBCXX__`] [__predef_detection__]]
[[`__GLIBCPP__`] [__predef_detection__]]
| `+__GLIBCXX__+` | V.R.P
| `+__GLIBCPP__+` | V.R.P
|===
*/ // end::reference[]
[[`__GLIBCXX__`] [V.R.P]]
[[`__GLIBCPP__`] [V.R.P]]
]
*/
#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,24 +13,23 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_STLPORT`
/*`
[heading `BOOST_LIB_STD_STLPORT`]
http://sourceforge.net/projects/stlport/[STLport Standard {CPP}] library.
[@http://sourceforge.net/projects/stlport/ STLport Standard C++] library.
Version number available as major, minor, and patch.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__SGI_STL_PORT+` | {predef_detection}
| `+_STLPORT_VERSION+` | {predef_detection}
[[`__SGI_STL_PORT`] [__predef_detection__]]
[[`_STLPORT_VERSION`] [__predef_detection__]]
| `+_STLPORT_MAJOR+`, `+_STLPORT_MINOR+`, `+_STLPORT_PATCHLEVEL+` | V.R.P
| `+_STLPORT_VERSION+` | V.R.P
| `+__SGI_STL_PORT+` | V.R.P
|===
*/ // end::reference[]
[[`_STLPORT_MAJOR`, `_STLPORT_MINOR`, `_STLPORT_PATCHLEVEL`] [V.R.P]]
[[`_STLPORT_VERSION`] [V.R.P]]
[[`__SGI_STL_PORT`] [V.R.P]]
]
*/
#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,18 +13,17 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/version_number.h>
#include <boost/predef/make.h>
/* tag::reference[]
= `BOOST_LIB_STD_IBM`
/*`
[heading `BOOST_LIB_STD_IBM`]
http://www.ibm.com/software/awdtools/xlcpp/[IBM VACPP Standard {CPP}] library.
[@http://www.ibm.com/software/awdtools/xlcpp/ IBM VACPP Standard C++] library.
[options="header"]
|===
| {predef_symbol} | {predef_version}
[table
[[__predef_symbol__] [__predef_version__]]
| `+__IBMCPP__+` | {predef_detection}
|===
*/ // end::reference[]
[[`__IBMCPP__`] [__predef_detection__]]
]
*/
#define BOOST_LIB_STD_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE

View File

@ -13,8 +13,8 @@ http://www.boost.org/LICENSE_1_0.txt)
Shorthands for the common version number formats used by vendors...
*/
/* tag::reference[]
= `BOOST_PREDEF_MAKE_..` macros
/*`
[heading `BOOST_PREDEF_MAKE_..` macros]
These set of macros decompose common vendor version number
macros which are composed version, revision, and patch digits.
@ -27,137 +27,71 @@ The naming convention indicates:
indicates an ignored digit.
Macros are:
*/ // end::reference[]
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VRP(V)`
*/ // end::reference[]
*/
/*` `BOOST_PREDEF_MAKE_0X_VRP(V)` */
#define BOOST_PREDEF_MAKE_0X_VRP(V) BOOST_VERSION_NUMBER((V&0xF00)>>8,(V&0xF0)>>4,(V&0xF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VVRP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VVRP(V)` */
#define BOOST_PREDEF_MAKE_0X_VVRP(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xF0)>>4,(V&0xF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VRPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VRPP(V)` */
#define BOOST_PREDEF_MAKE_0X_VRPP(V) BOOST_VERSION_NUMBER((V&0xF000)>>12,(V&0xF00)>>8,(V&0xFF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VVRR(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VVRR(V)` */
#define BOOST_PREDEF_MAKE_0X_VVRR(V) BOOST_VERSION_NUMBER((V&0xFF00)>>8,(V&0xFF),0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VRRPPPP(V)` */
#define BOOST_PREDEF_MAKE_0X_VRRPPPP(V) BOOST_VERSION_NUMBER((V&0xF000000)>>24,(V&0xFF0000)>>16,(V&0xFFFF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VVRRP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VVRRP(V)` */
#define BOOST_PREDEF_MAKE_0X_VVRRP(V) BOOST_VERSION_NUMBER((V&0xFF000)>>12,(V&0xFF0)>>4,(V&0xF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VRRPP000(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VRRPP000(V)` */
#define BOOST_PREDEF_MAKE_0X_VRRPP000(V) BOOST_VERSION_NUMBER((V&0xF0000000)>>28,(V&0xFF00000)>>20,(V&0xFF000)>>12)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_0X_VVRRPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_0X_VVRRPP(V)` */
#define BOOST_PREDEF_MAKE_0X_VVRRPP(V) BOOST_VERSION_NUMBER((V&0xFF0000)>>16,(V&0xFF00)>>8,(V&0xFF))
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VPPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VPPP(V)` */
#define BOOST_PREDEF_MAKE_10_VPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,0,(V)%1000)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVPPP(V)`
*/ // end::reference[]
#define BOOST_PREDEF_MAKE_10_VVPPP(V) BOOST_VERSION_NUMBER(((V)/1000)%100,0,(V)%1000)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VR0(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VR0(V)` */
#define BOOST_PREDEF_MAKE_10_VR0(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRP(V)` */
#define BOOST_PREDEF_MAKE_10_VRP(V) BOOST_VERSION_NUMBER(((V)/100)%10,((V)/10)%10,(V)%10)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRP000(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRP000(V)` */
#define BOOST_PREDEF_MAKE_10_VRP000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,((V)/1000)%10)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRPPPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRPPPP(V)` */
#define BOOST_PREDEF_MAKE_10_VRPPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/10000)%10,(V)%10000)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRPP(V)` */
#define BOOST_PREDEF_MAKE_10_VRPP(V) BOOST_VERSION_NUMBER(((V)/1000)%10,((V)/100)%10,(V)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRR(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRR(V)` */
#define BOOST_PREDEF_MAKE_10_VRR(V) BOOST_VERSION_NUMBER(((V)/100)%10,(V)%100,0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRRPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRRPP(V)` */
#define BOOST_PREDEF_MAKE_10_VRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%10,((V)/100)%100,(V)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VRR000(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VRR000(V)` */
#define BOOST_PREDEF_MAKE_10_VRR000(V) BOOST_VERSION_NUMBER(((V)/100000)%10,((V)/1000)%100,0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VV00(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VV00(V)` */
#define BOOST_PREDEF_MAKE_10_VV00(V) BOOST_VERSION_NUMBER(((V)/100)%100,0,0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRR(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRR(V)` */
#define BOOST_PREDEF_MAKE_10_VVRR(V) BOOST_VERSION_NUMBER(((V)/100)%100,(V)%100,0)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRRP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRRP(V)` */
#define BOOST_PREDEF_MAKE_10_VVRRP(V) BOOST_VERSION_NUMBER(((V)/1000)%100,((V)/10)%100,(V)%10)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRRPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRRPP(V)` */
#define BOOST_PREDEF_MAKE_10_VVRRPP(V) BOOST_VERSION_NUMBER(((V)/10000)%100,((V)/100)%100,(V)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRRPPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRRPPP(V)` */
#define BOOST_PREDEF_MAKE_10_VVRRPPP(V) BOOST_VERSION_NUMBER(((V)/100000)%100,((V)/1000)%100,(V)%1000)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRR0PP00(V)` */
#define BOOST_PREDEF_MAKE_10_VVRR0PP00(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,((V)/100)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRR0PPPP(V)` */
#define BOOST_PREDEF_MAKE_10_VVRR0PPPP(V) BOOST_VERSION_NUMBER(((V)/10000000)%100,((V)/100000)%100,(V)%10000)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_10_VVRR00PP00(V)` */
#define BOOST_PREDEF_MAKE_10_VVRR00PP00(V) BOOST_VERSION_NUMBER(((V)/100000000)%100,((V)/1000000)%100,((V)/100)%100)
/* tag::reference[]
= `BOOST_PREDEF_MAKE_*..` date macros
/*`
[heading `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.
*/ // end::reference[]
/* tag::reference[]
* `BOOST_PREDEF_MAKE_DATE(Y,M,D)`
*/ // end::reference[]
*/
/*` `BOOST_PREDEF_MAKE_DATE(Y,M,D)` */
#define BOOST_PREDEF_MAKE_DATE(Y,M,D) BOOST_VERSION_NUMBER((Y)%10000-1970,(M)%100,(D)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_YYYYMMDD(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_YYYYMMDD(V)` */
#define BOOST_PREDEF_MAKE_YYYYMMDD(V) BOOST_PREDEF_MAKE_DATE(((V)/10000)%10000,((V)/100)%100,(V)%100)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_YYYY(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_YYYY(V)` */
#define BOOST_PREDEF_MAKE_YYYY(V) BOOST_PREDEF_MAKE_DATE(V,1,1)
/* tag::reference[]
* `BOOST_PREDEF_MAKE_YYYYMM(V)`
*/ // end::reference[]
/*` `BOOST_PREDEF_MAKE_YYYYMM(V)` */
#define BOOST_PREDEF_MAKE_YYYYMM(V) BOOST_PREDEF_MAKE_DATE((V)/100,(V)%100,1)
#endif

View File

@ -29,4 +29,6 @@ http://www.boost.org/LICENSE_1_0.txt)
#include <boost/predef/os/vms.h>
#include <boost/predef/os/windows.h>
#include <boost/predef/os/android.h>
#endif

Some files were not shown because too many files have changed in this diff Show More