forked from boostorg/predef
Compare commits
41 Commits
boost-1.70
...
esp-idf-co
Author | SHA1 | Date | |
---|---|---|---|
2d2f10715d | |||
af3e70ada5 | |||
499d28e34f | |||
9577047aa8 | |||
4abc13fa55 | |||
8e62bd04dd | |||
01f4cbe4a4 | |||
e777e38a43 | |||
76218d7a19 | |||
b48ed9ec62 | |||
1be0e4a2d8 | |||
df63bf3dca | |||
8ee83ef1aa | |||
c9ee4eb329 | |||
cfbda6e0cc | |||
d37f35e578 | |||
d3460e05aa | |||
f51e4ff45e | |||
40c6205858 | |||
caa0627ab5 | |||
a7ac034985 | |||
6bcceefb48 | |||
d990549214 | |||
e697cafd12 | |||
99cfb298de | |||
17cb5b78d5 | |||
095faae58d | |||
9c46a94ae5 | |||
f6979bd4a7 | |||
078226b9f8 | |||
966707dc1f | |||
c092d00770 | |||
fa099f3b2c | |||
3330514089 | |||
aa6e232bf1 | |||
fb59068deb | |||
73d7b4f66f | |||
29095cefd9 | |||
fc99bc29cb | |||
4bc7cc02ed | |||
094ac2ffdd |
49
.cirrus.yml
Normal file
49
.cirrus.yml
Normal file
@ -0,0 +1,49 @@
|
||||
# Use, modification, and distribution are
|
||||
# subject to the Boost Software License, Version 1.0. (See accompanying
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright René Ferdinand Rivera Morell 2020-2021.
|
||||
|
||||
freebsd_task:
|
||||
# All the GCC's and Clang's currently supported by FreeBSD ports.
|
||||
matrix:
|
||||
- { name: 'FreeBSD, GCC 11', env: { CXX: 'g++11', PACKAGE: 'gcc11-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 10', env: { CXX: 'g++10', PACKAGE: 'gcc10-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 9', env: { CXX: 'g++9', PACKAGE: 'gcc9-devel', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, GCC 8', env: { CXX: 'g++8', PACKAGE: 'gcc8', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
# - { name: 'FreeBSD, GCC 7', env: { CXX: 'g++7', PACKAGE: 'gcc7', TOOLSET: gcc }, freebsd_instance: { image_family: 'freebsd-12-2' } }
|
||||
- { name: 'FreeBSD, Clang 12', env: { CXX: 'clang++12', PACKAGE: 'devel/llvm12', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 11', env: { CXX: 'clang++11', PACKAGE: 'devel/llvm11', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 10', env: { CXX: 'clang++10', PACKAGE: 'devel/llvm10', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 9', env: { CXX: 'clang++90', PACKAGE: 'devel/llvm90', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 8', env: { CXX: 'clang++80', PACKAGE: 'devel/llvm80' , TOOLSET: clang}, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
- { name: 'FreeBSD, Clang 7', env: { CXX: 'clang++70', PACKAGE: 'devel/llvm70', TOOLSET: clang }, freebsd_instance: { image_family: 'freebsd-13-0' } }
|
||||
# To install with ports we need to initialize the package manager. To avoid
|
||||
# confirmation prompts we need to set an env var.
|
||||
install_script: [
|
||||
"uname -a",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg bootstrap",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install wget",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install ncurses",
|
||||
"env ASSUME_ALWAYS_YES=YES pkg install ${PACKAGE}"
|
||||
]
|
||||
# Install B2.
|
||||
install_b2_script: [
|
||||
"set -e",
|
||||
"export \"PCD=${PWD}\" ; cd ${HOME}",
|
||||
"wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz",
|
||||
"tar -zxf release.tar.gz",
|
||||
"cd b2-release",
|
||||
"CXX= ./bootstrap.sh",
|
||||
"sudo ./b2 install toolset=clang",
|
||||
"cd \"${PCD}\""
|
||||
]
|
||||
# Test.
|
||||
test_script: [
|
||||
"set -e",
|
||||
"CXX_PATH=`which ${CXX}`",
|
||||
"echo \"using ${TOOLSET} : : ${CXX_PATH} ;\" > ${HOME}/user-config.jam",
|
||||
"cd test",
|
||||
"b2 --verbose-test -a toolset=${TOOLSET} ${B2_ARGS} predef-info",
|
||||
"b2 --debug-configuration -a toolset=${TOOLSET} ${B2_ARGS} predef predef-headers"
|
||||
]
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,5 +1,7 @@
|
||||
bin
|
||||
/.conan/
|
||||
.bin
|
||||
boost-build.jam
|
||||
project-config.jam
|
||||
*.pyc
|
||||
.vscode/settings.json
|
||||
.vscode/ipch
|
||||
|
17
.project
17
.project
@ -1,17 +0,0 @@
|
||||
<?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>
|
@ -1,5 +0,0 @@
|
||||
<?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>
|
129
.travis.yml
129
.travis.yml
@ -1,129 +0,0 @@
|
||||
# Use, modification, and distribution are
|
||||
# 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 2015-2018.
|
||||
|
||||
# Setting up notifications like this is optional as the default behavior
|
||||
# of Travis is to notify the commiter of problems. But setting a specific
|
||||
# recipient this way ensures you get all the communications about the
|
||||
# builds.
|
||||
notifications:
|
||||
email:
|
||||
recipients:
|
||||
- grafikrobot@gmail.com
|
||||
|
||||
# We specify a generic language instead of C++ as Travis sets up
|
||||
# additional environment vars that point to its default toolset
|
||||
# instead of the one we install. The extra env doesn't interfere,
|
||||
# but at the same time it's misleading. So to avoid confusion and
|
||||
# possible unseen side effects we stick with no C++ default setup.
|
||||
language: generic
|
||||
|
||||
# Speficy the default as Linux here, to avoid duplication in the matrix
|
||||
# below. We use Trusty as that's the latest we can use. And it's better
|
||||
# supported by the whole range of C++ toolsets we like to test on.
|
||||
dist: trusty
|
||||
os: linux
|
||||
|
||||
# Because we install our own toolsets and other software we need
|
||||
# to run the sudo support.
|
||||
sudo: required
|
||||
|
||||
# Travis has a long standing bug with their rather complicated
|
||||
# build matrix evaluation that causes empty jobs to be created.
|
||||
# This global matrix entry in combination with the exclusion
|
||||
# below works around that bug. This is the suggested fix from
|
||||
# the Travis support people.
|
||||
env:
|
||||
matrix:
|
||||
- TRAVIS_EMPTY_JOB_WORKAROUND=true
|
||||
|
||||
# This lists all the toolsets we will test with the Boost CI
|
||||
# scripts. Predef needs to check all of them as its job is to
|
||||
# distiguish between all of them. For other libraries you would
|
||||
# want to limit the list to the toolsets that are important
|
||||
# for that.
|
||||
matrix:
|
||||
exclude:
|
||||
- env: TRAVIS_EMPTY_JOB_WORKAROUND=true
|
||||
include:
|
||||
# Check CMake project use support.
|
||||
- env: TEST_CMAKE
|
||||
# Skip all the unneeded steps from the normal unit test jobs
|
||||
install: true
|
||||
before_script: true
|
||||
before_cache: true
|
||||
before_cache: true
|
||||
after_success: true
|
||||
after_failure: true
|
||||
after_script: true
|
||||
# Build CMake simple test project that uses Predef.
|
||||
script:
|
||||
- mkdir __build__ && cd __build__
|
||||
- cmake ../test/test_cmake
|
||||
- cmake --build .
|
||||
|
||||
|
||||
- env: TOOLSET=clang-3.4
|
||||
- env: TOOLSET=clang-3.5
|
||||
- env: TOOLSET=clang-3.6
|
||||
- env: TOOLSET=clang-3.7
|
||||
- env: TOOLSET=clang-3.8
|
||||
- env: TOOLSET=clang-3.9
|
||||
- env: TOOLSET=clang-4.0
|
||||
- env: TOOLSET=clang-5.0
|
||||
- env: TOOLSET=gcc-4.7
|
||||
- env: TOOLSET=gcc-4.8
|
||||
- env: TOOLSET=gcc-4.9
|
||||
- env: TOOLSET=gcc-5
|
||||
- env: TOOLSET=gcc-6
|
||||
- env: TOOLSET=gcc-7
|
||||
- env: TOOLSET=gcc-8
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++03
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++11
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++14
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++17
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=c++2a
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++03
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++11
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++14
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++17
|
||||
- env: TOOLSET=gcc-8 CXXFLAGS=-std=gnu++2a
|
||||
- env: TOOLSET=xcode-6.1
|
||||
os: osx
|
||||
- env: TOOLSET=xcode-6.4
|
||||
os: osx
|
||||
osx_image: xcode6.4
|
||||
- env: TOOLSET=xcode-7.3
|
||||
os: osx
|
||||
osx_image: xcode7.3
|
||||
- env: TOOLSET=xcode-8.3
|
||||
os: osx
|
||||
osx_image: xcode8.3
|
||||
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++03
|
||||
os: osx
|
||||
osx_image: xcode9.4
|
||||
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++11
|
||||
os: osx
|
||||
osx_image: xcode9.4
|
||||
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++14
|
||||
os: osx
|
||||
osx_image: xcode9.4
|
||||
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++17
|
||||
os: osx
|
||||
osx_image: xcode9.4
|
||||
- env: TOOLSET=xcode-9.4 CXXFLAGS=-std=c++2a
|
||||
os: osx
|
||||
osx_image: xcode9.4
|
||||
- env: TOOLSET=xcode-10.0
|
||||
os: osx
|
||||
osx_image: xcode10.0
|
||||
|
||||
install: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" install
|
||||
before_script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" before_script
|
||||
script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" script
|
||||
before_cache: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" before_cache
|
||||
after_success: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_success
|
||||
after_failure: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_failure
|
||||
after_script: python "${TRAVIS_BUILD_DIR}/tools/ci/library_test.py" after_script
|
@ -1,9 +1,11 @@
|
||||
# Copyright Mike Dev 2018
|
||||
# Copyright Rene Rivera 2018
|
||||
# Copyright René Ferdinand Rivera Morell 2018-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
|
||||
|
||||
if(NOT DEFINED IDF_TARGET)
|
||||
|
||||
# NOTE:
|
||||
# CMake support for Boost.Predef is currently experimental at best and the
|
||||
# interface is likely to change in the future
|
||||
@ -25,7 +27,7 @@ cmake_minimum_required( VERSION 3.0 )
|
||||
# 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 )
|
||||
project( BoostPredef LANGUAGES NONE )
|
||||
|
||||
# Simple INTERFACE, and header only, library target.
|
||||
add_library( boost_predef INTERFACE )
|
||||
@ -36,3 +38,17 @@ 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 )
|
||||
|
||||
else()
|
||||
|
||||
FILE(GLOB_RECURSE headers include/*.h include/*.hpp)
|
||||
|
||||
idf_component_register(
|
||||
SRCS
|
||||
${headers}
|
||||
INCLUDE_DIRS
|
||||
include
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
|
230
appveyor.yml
230
appveyor.yml
@ -1,149 +1,101 @@
|
||||
# Use, modification, and distribution are
|
||||
# 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)
|
||||
# file LICENSE.txt)
|
||||
#
|
||||
# Copyright Rene Rivera 2015-2016.
|
||||
# Copyright René Ferdinand Rivera Morell 2020-2021.
|
||||
|
||||
# Set up notifications so that the maintainers of the library get
|
||||
# build status messages.
|
||||
notifications:
|
||||
- provider: Email
|
||||
to:
|
||||
- grafikrobot@gmail.com
|
||||
on_build_status_changed: true
|
||||
branches:
|
||||
only:
|
||||
- /master.*/
|
||||
- /develop.*/
|
||||
- /feature.*/
|
||||
|
||||
skip_commits:
|
||||
files:
|
||||
- .circleci/*
|
||||
- .cirrus.yml
|
||||
- .drone.star
|
||||
- .github/workflows/*
|
||||
- .semaphore/*
|
||||
- .travis.yml
|
||||
- azure-pipelines.yml
|
||||
|
||||
# This lists all the toolsets we will test with the Boost CI
|
||||
# scripts. Predef needs to check all of them as its job is to
|
||||
# distiguish between all of them. For other libraries you would
|
||||
# want to limit the list to the toolsets that are important
|
||||
# for that.
|
||||
#
|
||||
# This also includes setting up how to create the cache. We
|
||||
# opt for slightly better compression and solid archives.
|
||||
# As we have a lot of files in the boost tree which is what
|
||||
# we are putting in the cache.
|
||||
environment:
|
||||
APPVEYOR_CACHE_ENTRY_ZIP_ARGS: -t7z -m0=lzma2 -mx=3
|
||||
matrix:
|
||||
- TOOLSET: vs-2008
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2010
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2012
|
||||
platform: 32
|
||||
- TOOLSET: vs-2012
|
||||
COMMENT: UWP DESKTOP
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0602 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2012
|
||||
COMMENT: UWP STORE
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0602 /DWINAPI_FAMILY=WINAPI_FAMILY_APP
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2013
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2013
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2013
|
||||
COMMENT: UWP DESKTOP
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2013
|
||||
COMMENT: UWP PHONE
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2013
|
||||
COMMENT: UWP STORE
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0603 /DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2015
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2015
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: vs-2017
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
CXXFLAGS: /std:c++14
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
CXXFLAGS: /std:c++latest
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
COMMENT: UWP DESKTOP
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
COMMENT: UWP PHONE
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
COMMENT: UWP STORE
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_PC_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
COMMENT: UWP SERVER
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_SERVER
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: vs-2017
|
||||
COMMENT: UWP SYSTEM
|
||||
CXXFLAGS: /D_WIN32_WINNT=0x0A00 /DWINAPI_FAMILY=WINAPI_FAMILY_SYSTEM
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
- TOOLSET: mingw-5
|
||||
platform: 32
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: mingw64-6
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: mingw64-6
|
||||
COMMENT: UWP DESKTOP
|
||||
CXXFLAGS: -D_WIN32_WINNT=0x0602 -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- TOOLSET: mingw64-6
|
||||
COMMENT: UWP STORE
|
||||
CXXFLAGS: -D_WIN32_WINNT=0x0602 -DWINAPI_FAMILY=WINAPI_FAMILY_APP
|
||||
platform: 64
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
# All the Visual Studio installs available on Appveyor
|
||||
# - { job_name: 'VS 2019', TOOLSET: "msvc", TOOLSET_VERSION: '14.2', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
- { job_name: 'VS 2017', TOOLSET: "msvc", TOOLSET_VERSION: '14.1', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
- { job_name: 'VS 2015', TOOLSET: "msvc", TOOLSET_VERSION: '14.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'VS 2013', TOOLSET: "msvc", TOOLSET_VERSION: '12.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# - { job_name: 'VS 2012', TOOLSET: "msvc", TOOLSET_VERSION: '11.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# - { job_name: 'VS 2010', TOOLSET: "msvc", TOOLSET_VERSION: '10.0', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# The "recent" MinGW installs available on Appveyor.
|
||||
- { job_name: 'MinGW-w64 8.1', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'MinGW-w64 7.3', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-7.3.0-posix-seh-rt_v5-rev0/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
- { job_name: 'MinGW-w64 6.3', TOOLSET: "gcc", CXXPATH: 'C:/mingw-w64/x86_64-6.3.0-posix-seh-rt_v5-rev1/mingw64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' }
|
||||
# Cygwin versions available.
|
||||
# - { job_name: 'Cygwin32 3.1.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
# - { job_name: 'Cygwin64 3.1.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2019' }
|
||||
- { job_name: 'Cygwin32 3.0.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
- { job_name: 'Cygwin64 3.0.7', TOOLSET: 'gcc', CXXPATH: 'C:/cygwin64/bin/g++.exe', APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017' }
|
||||
|
||||
# We can also set up configurations for testing which map to
|
||||
# the b2 build variants.
|
||||
configuration:
|
||||
- debug
|
||||
- release
|
||||
platform:
|
||||
- x86
|
||||
- x64
|
||||
|
||||
# No need to test PR branch as the PR itself is already tested.
|
||||
skip_branch_with_pr: true
|
||||
matrix:
|
||||
exclude:
|
||||
# - { platform: x64, job_name: 'VS 2012' }
|
||||
# - { platform: x64, job_name: 'VS 2010' }
|
||||
- { platform: x64, job_name: 'Cygwin32 3.1.7' }
|
||||
- { platform: x86, job_name: 'Cygwin64 3.1.7' }
|
||||
- { platform: x64, job_name: 'Cygwin32 3.0.7' }
|
||||
- { platform: x86, job_name: 'Cygwin64 3.0.7' }
|
||||
|
||||
init:
|
||||
- cd %APPVEYOR_BUILD_FOLDER%
|
||||
install: python tools/ci/library_test.py install
|
||||
before_build: python tools/ci/library_test.py before_build
|
||||
build_script: python tools/ci/library_test.py build_script
|
||||
after_build: python tools/ci/library_test.py after_build
|
||||
before_test: python tools/ci/library_test.py before_test
|
||||
test_script: python tools/ci/library_test.py test_script
|
||||
after_test: python tools/ci/library_test.py after_test
|
||||
on_success: python tools/ci/library_test.py on_success
|
||||
on_failure: python tools/ci/library_test.py on_failure
|
||||
on_finish: python tools/ci/library_test.py on_finish
|
||||
for:
|
||||
# msvc job steps.
|
||||
- matrix:
|
||||
only:
|
||||
- TOOLSET: 'msvc'
|
||||
install:
|
||||
- cmd: |
|
||||
echo ">>>>> INSTALL .."
|
||||
choco install vswhere
|
||||
echo ">>>>> INSTALL B2 .."
|
||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
||||
7z x b2.zip -r
|
||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cmd.exe /c bootstrap.bat
|
||||
build_script:
|
||||
- cmd: |
|
||||
echo ">>>>>"
|
||||
echo ">>>>> TEST .."
|
||||
echo ">>>>>"
|
||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||
# Windows MinGW & Cygwin job steps.
|
||||
- matrix:
|
||||
only:
|
||||
- TOOLSET: 'gcc'
|
||||
install:
|
||||
- cmd: |
|
||||
echo ">>>>> INSTALL B2 .."
|
||||
cd %APPVEYOR_BUILD_FOLDER%/..
|
||||
curl "https://github.com/boostorg/build/archive/develop.zip" -L -o b2.zip
|
||||
7z x b2.zip -r
|
||||
echo using %TOOLSET% ^: %TOOLSET_VERSION% ^: %CXXPATH% ^; > %HOMEDRIVE%%HOMEPATH%/user-config.jam
|
||||
cd %APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cmd.exe /c bootstrap.bat
|
||||
build_script:
|
||||
# The build itself just calls the compiler directly.
|
||||
- cmd: |
|
||||
echo ">>>>> TEST .."
|
||||
set PATH=%CXXPATH%\..\;%PATH%
|
||||
set BOOST_BUILD_PATH=%APPVEYOR_BUILD_FOLDER%/../build-develop
|
||||
cd %APPVEYOR_BUILD_FOLDER%/test
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||
%APPVEYOR_BUILD_FOLDER%/../build-develop/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||
|
265
azure-pipelines.yml
Normal file
265
azure-pipelines.yml
Normal file
@ -0,0 +1,265 @@
|
||||
# Use, modification, and distribution are
|
||||
# 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 René Ferdinand Rivera Morell 2019-2021.
|
||||
|
||||
trigger:
|
||||
branches:
|
||||
include:
|
||||
- develop
|
||||
- master
|
||||
- feature/*
|
||||
paths:
|
||||
exclude:
|
||||
- .circleci/*
|
||||
- .cirrus.yml
|
||||
- .drone.star
|
||||
- .github/workflows/*
|
||||
- .semaphore/*
|
||||
- .travis.yml
|
||||
- appveyor.yml
|
||||
pr:
|
||||
branches:
|
||||
include:
|
||||
- develop
|
||||
|
||||
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:
|
||||
|
||||
- stage: Test
|
||||
jobs:
|
||||
|
||||
- job: 'Linux'
|
||||
strategy:
|
||||
matrix:
|
||||
GCC 11 (GNU): { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=gnu' }
|
||||
GCC 11 (ISO): { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc, B2_ARGS: 'cxxstd=03,11,14,17,20 cxxstd-dialect=iso' }
|
||||
GCC 11: { CXX: g++-11, PACKAGES: g++-11, VM_IMAGE: 'ubuntu-20.04', TOOLSET: gcc }
|
||||
GCC 10: { CXX: g++-10, PACKAGES: g++-10, VM_IMAGE: 'ubuntu-20.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 }
|
||||
Clang 13: { CXX: clang++-13, PACKAGES: clang-13, LLVM_OS: focal, LLVM_VER: 13, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||
Clang 12: { CXX: clang++-12, PACKAGES: clang-12, LLVM_OS: focal, LLVM_VER: 12, VM_IMAGE: 'ubuntu-20.04', TOOLSET: clang }
|
||||
Clang 11: { CXX: clang++-11, PACKAGES: clang-11, LLVM_OS: focal, LLVM_VER: 11, VM_IMAGE: 'ubuntu-20.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 }
|
||||
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/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
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 13.2.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.2.1.app, VM_IMAGE: 'macOS-11'}
|
||||
Xcode 13.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.1.app, VM_IMAGE: 'macOS-11'}
|
||||
Xcode 13.0: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_13.0.app, VM_IMAGE: 'macOS-11'}
|
||||
Xcode 12.4: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.4.app, VM_IMAGE: 'macOS-11'}
|
||||
Xcode 12.3: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.3.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 12.2: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.2.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 12.1.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.1.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 12.0.1: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_12.0.1.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 11.7: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.7.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 11.6: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.6.app, VM_IMAGE: 'macOS-10.15'}
|
||||
Xcode 11.5: {TOOLSET: clang, CXX: clang++, XCODE_APP: /Applications/Xcode_11.5.app, VM_IMAGE: 'macOS-10.15'}
|
||||
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'}
|
||||
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/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
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 2022:
|
||||
TOOLSET: msvc
|
||||
TOOLSET_VERSION: 14.3
|
||||
VM_IMAGE: 'windows-2022'
|
||||
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/bfgroup/b2/archive/release.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%/../b2-release
|
||||
cmd.exe /c bootstrap.bat
|
||||
displayName: Install B2
|
||||
- script: |
|
||||
set BOOST_BUILD_PATH=%BUILD_SOURCESDIRECTORY%/../b2-release
|
||||
cd %BUILD_SOURCESDIRECTORY%/test
|
||||
%BUILD_SOURCESDIRECTORY%/../b2-release/b2.exe --verbose-test -a toolset=%TOOLSET% %B2_ARGS% predef-info
|
||||
%BUILD_SOURCESDIRECTORY%/../b2-release/b2.exe --debug-configuration -a toolset=%TOOLSET% %B2_ARGS% predef predef-headers
|
||||
displayName: Test
|
||||
|
||||
- stage: WebsiteUpdate
|
||||
displayName: 'Website Update'
|
||||
condition: and(in(variables['Build.SourceBranch'], 'refs/heads/master', 'refs/heads/develop'), eq(variables['Build.Repository.Name'], 'grafikrobot/hash-predef'))
|
||||
jobs:
|
||||
|
||||
- job: Documentation
|
||||
pool:
|
||||
vmImage: 'ubuntu-latest'
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.x'
|
||||
- task: UseRubyVersion@0
|
||||
- bash: |
|
||||
gem install asciidoctor
|
||||
gem install rouge
|
||||
displayName: 'Install Doc Tools'
|
||||
- bash: |
|
||||
set -e
|
||||
pushd ${HOME}
|
||||
wget -nv https://github.com/bfgroup/b2/archive/release.tar.gz
|
||||
tar -zxf release.tar.gz
|
||||
cd b2-release
|
||||
CXX= ./bootstrap.sh
|
||||
sudo ./b2 install
|
||||
popd
|
||||
displayName: 'Install B2'
|
||||
- bash: |
|
||||
rm -rf ${WEB_DIR}
|
||||
git clone --verbose --branch gh-pages --depth 1 "https://${GH_TOKEN}github.com/grafikrobot/hash-predef.git" ${WEB_DIR} || exit 1
|
||||
pushd ${WEB_DIR}
|
||||
git rm --ignore-unmatch -r "${DOC_DIR}" || exit 1
|
||||
mkdir -p "${DOC_DIR}" || exit 1
|
||||
popd
|
||||
displayName: 'Clone Website'
|
||||
env:
|
||||
GH_TOKEN: $(GitHubToken)
|
||||
WEB_DIR: website
|
||||
DOC_DIR: manual/$(Build.SourceBranchName)
|
||||
- bash: |
|
||||
echo "using asciidoctor ;" > ${HOME}/user-config.jam
|
||||
pushd doc
|
||||
b2 --doc-dir=${WEB_DIR}/${DOC_DIR} html
|
||||
git config user.email "doc-bot"
|
||||
git config user.name "doc-bot"
|
||||
cd ${WEB_DIR}/${DOC_DIR}
|
||||
git add --verbose . || exit 1
|
||||
git commit -m "Update documentation."
|
||||
git push
|
||||
popd
|
||||
displayName: 'Build & Publish'
|
||||
env:
|
||||
GH_TOKEN: $(GitHubToken)
|
||||
WEB_DIR: website
|
||||
DOC_DIR: manual/$(Build.SourceBranchName)
|
@ -1,4 +1,4 @@
|
||||
# Copyright Rene Rivera 2014-2019
|
||||
# Copyright René Ferdinand Rivera Morell 2014-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)
|
||||
@ -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
1
doc/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/html/
|
829
doc/amber.css
Normal file
829
doc/amber.css
Normal file
@ -0,0 +1,829 @@
|
||||
@import url(https://fonts.googleapis.com/css2?family=Comfortaa&display=swap);
|
||||
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
|
||||
/* ========================================================================== HTML5 display definitions ========================================================================== */
|
||||
/** Correct `block` display not defined in IE 8/9. */
|
||||
@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap);
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
|
||||
|
||||
/** Correct `inline-block` display not defined in IE 8/9. */
|
||||
audio, canvas, video { display: inline-block; }
|
||||
|
||||
/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
|
||||
audio:not([controls]) { display: none; height: 0; }
|
||||
|
||||
/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */
|
||||
[hidden], template { display: none; }
|
||||
|
||||
script { display: none !important; }
|
||||
|
||||
/* ========================================================================== Base ========================================================================== */
|
||||
/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
|
||||
html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
|
||||
|
||||
/** Remove default margin. */
|
||||
body { margin: 0; }
|
||||
|
||||
/* ========================================================================== Links ========================================================================== */
|
||||
/** Remove the gray background color from active links in IE 10. */
|
||||
a { background: transparent; }
|
||||
|
||||
/** Address `outline` inconsistency between Chrome and other browsers. */
|
||||
a:focus { outline: thin dotted; }
|
||||
|
||||
/** Improve readability when focused and also mouse hovered in all browsers. */
|
||||
a:active, a:hover { outline: 0; }
|
||||
|
||||
/* ========================================================================== Typography ========================================================================== */
|
||||
/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
|
||||
h1 { font-size: 2em; margin: 0.67em 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
|
||||
abbr[title] { border-bottom: 1px dotted; }
|
||||
|
||||
/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
|
||||
b, strong { font-weight: bold; }
|
||||
|
||||
/** Address styling not present in Safari 5 and Chrome. */
|
||||
dfn { font-style: italic; }
|
||||
|
||||
/** Address differences between Firefox and other browsers. */
|
||||
hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
|
||||
|
||||
/** Address styling not present in IE 8/9. */
|
||||
mark { background: #ff0; color: #000; }
|
||||
|
||||
/** Correct font family set oddly in Safari 5 and Chrome. */
|
||||
code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
|
||||
|
||||
/** Improve readability of pre-formatted text in all browsers. */
|
||||
pre { white-space: pre-wrap; }
|
||||
|
||||
/** Set consistent quote types. */
|
||||
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
|
||||
|
||||
/** Address inconsistent and variable font size in all browsers. */
|
||||
small { font-size: 80%; }
|
||||
|
||||
/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
|
||||
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
||||
|
||||
sup { top: -0.5em; }
|
||||
|
||||
sub { bottom: -0.25em; }
|
||||
|
||||
/* ========================================================================== Embedded content ========================================================================== */
|
||||
/** Remove border when inside `a` element in IE 8/9. */
|
||||
img { border: 0; }
|
||||
|
||||
/** Correct overflow displayed oddly in IE 9. */
|
||||
svg:not(:root) { overflow: hidden; }
|
||||
|
||||
/* ========================================================================== Figures ========================================================================== */
|
||||
/** Address margin not present in IE 8/9 and Safari 5. */
|
||||
figure { margin: 0; }
|
||||
|
||||
/* ========================================================================== Forms ========================================================================== */
|
||||
/** Define consistent border, margin, and padding. */
|
||||
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
|
||||
|
||||
/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
|
||||
legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
|
||||
button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
|
||||
|
||||
/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
|
||||
button, input { line-height: normal; }
|
||||
|
||||
/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
|
||||
button, select { text-transform: none; }
|
||||
|
||||
/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
|
||||
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
|
||||
|
||||
/** Re-set default cursor for disabled elements. */
|
||||
button[disabled], html input[disabled] { cursor: default; }
|
||||
|
||||
/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
|
||||
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
|
||||
|
||||
/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
|
||||
input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
|
||||
|
||||
/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
|
||||
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
||||
|
||||
/** Remove inner padding and border in Firefox 4+. */
|
||||
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
|
||||
|
||||
/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
|
||||
textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
|
||||
|
||||
/* ========================================================================== Tables ========================================================================== */
|
||||
/** Remove most spacing between table cells. */
|
||||
table { border-collapse: collapse; border-spacing: 0; }
|
||||
|
||||
meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; }
|
||||
|
||||
meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; }
|
||||
|
||||
meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; }
|
||||
|
||||
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
|
||||
|
||||
html, body { font-size: 100%; }
|
||||
|
||||
body { background: #111; color: #aaa; padding: 0; margin: 0; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
|
||||
|
||||
a:hover { cursor: pointer; }
|
||||
|
||||
img, object, embed { max-width: 100%; height: auto; }
|
||||
|
||||
object, embed { height: 100%; }
|
||||
|
||||
img { -ms-interpolation-mode: bicubic; }
|
||||
|
||||
#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
|
||||
|
||||
.left { float: left !important; }
|
||||
|
||||
.right { float: right !important; }
|
||||
|
||||
.text-left { text-align: left !important; }
|
||||
|
||||
.text-right { text-align: right !important; }
|
||||
|
||||
.text-center { text-align: center !important; }
|
||||
|
||||
.text-justify { text-align: justify !important; }
|
||||
|
||||
.hide { display: none; }
|
||||
|
||||
.antialiased { -webkit-font-smoothing: antialiased; }
|
||||
|
||||
img { display: inline-block; vertical-align: middle; }
|
||||
|
||||
textarea { height: auto; min-height: 50px; }
|
||||
|
||||
select { width: 100%; }
|
||||
|
||||
p.lead { font-size: 1.21875em; line-height: 1.6; }
|
||||
|
||||
.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.45; color: #e18400; font-weight: normal; margin-top: 0; margin-bottom: 0.25em; }
|
||||
|
||||
/* Typography resets */
|
||||
div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
|
||||
|
||||
/* Default Link Styles */
|
||||
a { color: #FA9300; text-decoration: underline; line-height: inherit; }
|
||||
a:hover, a:focus { color: #e18400; }
|
||||
a img { border: none; }
|
||||
|
||||
/* Default paragraph styles */
|
||||
p { font-family: inherit; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; text-rendering: optimizeLegibility; }
|
||||
p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
|
||||
|
||||
/* Default header styles */
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-weight: 300; font-style: normal; color: #ffa92e; text-rendering: optimizeLegibility; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.0125em; }
|
||||
h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #ffe8c7; line-height: 0; }
|
||||
|
||||
h1 { font-size: 2.125em; }
|
||||
|
||||
h2 { font-size: 1.6875em; }
|
||||
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
|
||||
|
||||
h4 { font-size: 1.125em; }
|
||||
|
||||
h5 { font-size: 1.125em; }
|
||||
|
||||
h6 { font-size: 1em; }
|
||||
|
||||
hr { border: solid #2b2b2b; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
|
||||
|
||||
/* Helpful Typography Defaults */
|
||||
em, i { font-style: italic; line-height: inherit; }
|
||||
|
||||
strong, b { font-weight: bold; line-height: inherit; }
|
||||
|
||||
small { font-size: 60%; line-height: inherit; }
|
||||
|
||||
code { font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; font-weight: normal; color: #ffe8c7; }
|
||||
|
||||
/* Lists */
|
||||
ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 1.25em; list-style-position: outside; font-family: inherit; }
|
||||
|
||||
ul, ol { margin-left: 1.5em; }
|
||||
ul.no-bullet, ol.no-bullet { margin-left: 1.5em; }
|
||||
|
||||
/* Unordered Lists */
|
||||
ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
|
||||
ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
|
||||
ul.square { list-style-type: square; }
|
||||
ul.circle { list-style-type: circle; }
|
||||
ul.disc { list-style-type: disc; }
|
||||
ul.no-bullet { list-style: none; }
|
||||
|
||||
/* Ordered Lists */
|
||||
ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
|
||||
|
||||
/* Definition Lists */
|
||||
dl dt { margin-bottom: 0.3125em; font-weight: bold; }
|
||||
dl dd { margin-bottom: 1.25em; }
|
||||
|
||||
/* Abbreviations */
|
||||
abbr, acronym { text-transform: uppercase; font-size: 90%; color: #aaa; border-bottom: 1px dotted #ddd; cursor: help; }
|
||||
|
||||
abbr { text-transform: none; }
|
||||
|
||||
/* Blockquotes */
|
||||
blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; }
|
||||
blockquote cite { display: block; font-size: 0.9375em; color: #aaa; }
|
||||
blockquote cite:before { content: "\2014 \0020"; }
|
||||
blockquote cite a, blockquote cite a:visited { color: #aaa; }
|
||||
|
||||
blockquote, blockquote p { line-height: 1.6; color: #ffa92e; }
|
||||
|
||||
/* Microformats */
|
||||
.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; }
|
||||
.vcard li { margin: 0; display: block; }
|
||||
.vcard .fn { font-weight: bold; font-size: 0.9375em; }
|
||||
|
||||
.vevent .summary { font-weight: bold; }
|
||||
.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; }
|
||||
h1 { font-size: 2.75em; }
|
||||
h2 { font-size: 2.3125em; }
|
||||
h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
|
||||
h4 { font-size: 1.4375em; } }
|
||||
/* Tables */
|
||||
table { background: #111; margin-bottom: 1.25em; border: solid 1px #613900; }
|
||||
table thead, table tfoot { background: #2e1b00; font-weight: bold; }
|
||||
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #aaa; text-align: left; }
|
||||
table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #aaa; }
|
||||
table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #040404; }
|
||||
table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; }
|
||||
|
||||
body { tab-size: 4; word-wrap: anywhere; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }
|
||||
|
||||
table { word-wrap: normal; }
|
||||
|
||||
h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.2; word-spacing: -0.05em; }
|
||||
h1 strong, h2 strong, h3 strong, #toctitle strong, .sidebarblock > .content > .title strong, h4 strong, h5 strong, h6 strong { font-weight: 400; }
|
||||
|
||||
object, svg { display: inline-block; vertical-align: middle; }
|
||||
|
||||
.center { margin-left: auto; margin-right: auto; }
|
||||
|
||||
.stretch { width: 100%; }
|
||||
|
||||
.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
|
||||
.clearfix:after, .float-group:after { clear: both; }
|
||||
|
||||
:not(pre).nobreak { word-wrap: normal; }
|
||||
:not(pre).nowrap { white-space: nowrap; }
|
||||
:not(pre).pre-wrap { white-space: pre-wrap; }
|
||||
|
||||
:not(pre):not([class^=L]) > code { font-size: 0.875em; font-style: normal !important; letter-spacing: 0; padding: 0.1em 0.5ex; word-spacing: -0.15em; background-color: black; border: 1px solid #111; -webkit-border-radius: 8px; border-radius: 8px; line-height: 1.45; text-rendering: optimizeSpeed; }
|
||||
|
||||
pre { color: #FA9300; font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; line-height: 1.45; text-rendering: optimizeSpeed; }
|
||||
pre code, pre pre { color: inherit; font-size: inherit; line-height: inherit; }
|
||||
pre > code { display: block; }
|
||||
|
||||
pre.nowrap, pre.nowrap pre { white-space: pre; word-wrap: normal; }
|
||||
|
||||
em em { font-style: normal; }
|
||||
|
||||
strong strong { font-weight: normal; }
|
||||
|
||||
.keyseq { color: #dddddd; }
|
||||
|
||||
kbd { font-family: "IBM Plex Mono", "Droid Sans Mono", "DejaVu Sans Mono", "Monospace", monospace; display: inline-block; color: #aaa; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; }
|
||||
|
||||
.keyseq kbd:first-child { margin-left: 0; }
|
||||
|
||||
.keyseq kbd:last-child { margin-right: 0; }
|
||||
|
||||
.menuseq, .menuref { color: #000; }
|
||||
|
||||
.menuseq b:not(.caret), .menuref { font-weight: inherit; }
|
||||
|
||||
.menuseq { word-spacing: -0.02em; }
|
||||
.menuseq b.caret { font-size: 1.25em; line-height: 0.8; }
|
||||
.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; }
|
||||
|
||||
b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
|
||||
|
||||
b.button:before { content: "["; padding: 0 3px 0 2px; }
|
||||
|
||||
b.button:after { content: "]"; padding: 0 2px 0 3px; }
|
||||
|
||||
p a > code:hover { color: #ffddae; }
|
||||
|
||||
#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; }
|
||||
#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
|
||||
#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
|
||||
|
||||
#content { margin-top: 1.25em; }
|
||||
|
||||
#content:before { content: none; }
|
||||
|
||||
#header > h1:first-child { color: #ffa92e; margin-top: 2.25rem; margin-bottom: 0; }
|
||||
#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #2b2b2b; }
|
||||
#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #2b2b2b; padding-bottom: 8px; }
|
||||
#header .details { border-bottom: 1px solid #2b2b2b; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #aaa; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; }
|
||||
#header .details span:first-child { margin-left: -0.125em; }
|
||||
#header .details span.email a { color: #ffa92e; }
|
||||
#header .details br { display: none; }
|
||||
#header .details br + span:before { content: "\00a0\2013\00a0"; }
|
||||
#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #ffa92e; }
|
||||
#header .details br + span#revremark:before { content: "\00a0|\00a0"; }
|
||||
#header #revnumber { text-transform: capitalize; }
|
||||
#header #revnumber:after { content: "\00a0"; }
|
||||
|
||||
#content > h1:first-child:not([class]) { color: #ffa92e; border-bottom: 1px solid #2b2b2b; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }
|
||||
|
||||
#toc { border-bottom: 1px solid #1e1e1e; padding-bottom: 0.5em; }
|
||||
#toc > ul { margin-left: 0.125em; }
|
||||
#toc ul.sectlevel0 > li > a { font-style: italic; }
|
||||
#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; }
|
||||
#toc ul { font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; list-style-type: none; }
|
||||
#toc li { line-height: 1.3334; margin-top: 0.3334em; }
|
||||
#toc a { text-decoration: none; }
|
||||
#toc a:active { text-decoration: underline; }
|
||||
|
||||
#toctitle { color: #e18400; font-size: 1.2em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; }
|
||||
body.toc2 { padding-left: 15em; padding-right: 0; }
|
||||
#toc.toc2 { margin-top: 0 !important; background: black; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #1e1e1e; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
|
||||
#toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; }
|
||||
#toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; }
|
||||
#toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
|
||||
#toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
|
||||
body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
|
||||
body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #1e1e1e; left: auto; right: 0; } }
|
||||
@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
|
||||
#toc.toc2 { width: 20em; }
|
||||
#toc.toc2 #toctitle { font-size: 1.375em; }
|
||||
#toc.toc2 > ul { font-size: 0.95em; }
|
||||
#toc.toc2 ul ul { padding-left: 1.25em; }
|
||||
body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
|
||||
#content #toc { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: black; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
#content #toc > :first-child { margin-top: 0; }
|
||||
#content #toc > :last-child { margin-bottom: 0; }
|
||||
|
||||
#footer { max-width: none; background: #aaa; padding: 1.25em; }
|
||||
|
||||
#footer-text { color: #555555; line-height: 1.44; }
|
||||
|
||||
#content { margin-bottom: 0.625em; }
|
||||
|
||||
.sect1 { padding-bottom: 0.625em; }
|
||||
|
||||
@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; }
|
||||
.sect1 { padding-bottom: 1.25em; } }
|
||||
.sect1:last-child { padding-bottom: 0; }
|
||||
|
||||
.sect1 + .sect1 { border-top: 1px solid #1e1e1e; }
|
||||
|
||||
#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; }
|
||||
#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; }
|
||||
#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
|
||||
#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: #ffa92e; text-decoration: none; }
|
||||
#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: #ff9e15; }
|
||||
|
||||
details, .audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
|
||||
|
||||
details > summary:first-of-type { cursor: pointer; display: list-item; outline: none; margin-bottom: 0.75em; }
|
||||
|
||||
.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; font-style: italic; }
|
||||
|
||||
table.tableblock.fit-content > caption.title { white-space: nowrap; width: 0; }
|
||||
|
||||
.paragraph.lead > p, #preamble > .sectionbody > [class="paragraph"]:first-of-type p { font-size: 1.21875em; line-height: 1.6; color: #ffa92e; }
|
||||
|
||||
table.tableblock #preamble > .sectionbody > [class="paragraph"]:first-of-type p { font-size: inherit; }
|
||||
|
||||
.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
|
||||
.admonitionblock > table td.icon { text-align: center; width: 80px; }
|
||||
.admonitionblock > table td.icon img { max-width: none; }
|
||||
.admonitionblock > table td.icon .title { font-weight: bold; font-family: "Comfortaa", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Roboto", "Helvetica Neue", "Arial", "sans-serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; text-transform: uppercase; }
|
||||
.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #2b2b2b; color: #aaa; word-wrap: anywhere; }
|
||||
.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.exampleblock > .content { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: #111; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
.exampleblock > .content > :first-child { margin-top: 0; }
|
||||
.exampleblock > .content > :last-child { margin-bottom: 0; }
|
||||
|
||||
.sidebarblock { border-style: solid; border-width: 1px; border-color: black; margin-bottom: 1.25em; padding: 1.25em; background: black; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
.sidebarblock > :first-child { margin-top: 0; }
|
||||
.sidebarblock > :last-child { margin-bottom: 0; }
|
||||
.sidebarblock > .content > .title { color: #e18400; margin-top: 0; text-align: center; }
|
||||
|
||||
.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { border: 1px solid #2e1b00; -webkit-border-radius: 8px; border-radius: 8px; overflow-x: auto; padding: 1em; font-size: 0.8125em; }
|
||||
@media only screen and (min-width: 768px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.90625em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock pre, .listingblock > .content > pre { font-size: 1em; } }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre:not(.highlight), .listingblock > .content > pre[class="highlight"], .listingblock > .content > pre[class^="highlight "] { background: black; }
|
||||
|
||||
.literalblock.output pre { color: black; background-color: #FA9300; }
|
||||
|
||||
.listingblock > .content { position: relative; }
|
||||
|
||||
.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: inherit; opacity: 0.5; }
|
||||
|
||||
.listingblock:hover code[data-lang]:before { display: block; }
|
||||
|
||||
.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: inherit; opacity: 0.5; }
|
||||
|
||||
.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; }
|
||||
|
||||
.listingblock pre.highlightjs { padding: 0; }
|
||||
.listingblock pre.highlightjs > code { padding: 1em; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
|
||||
.prettyprint { background: black; }
|
||||
|
||||
pre.prettyprint .linenums { line-height: 1.45; margin-left: 2em; }
|
||||
|
||||
pre.prettyprint li { background: none; list-style-type: inherit; padding-left: 0; }
|
||||
|
||||
pre.prettyprint li code[data-lang]:before { opacity: 1; }
|
||||
|
||||
pre.prettyprint li:not(:first-child) code[data-lang]:before { display: none; }
|
||||
|
||||
table.linenotable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; }
|
||||
table.linenotable td[class] { color: inherit; vertical-align: top; padding: 0; line-height: inherit; white-space: normal; }
|
||||
table.linenotable td.code { padding-left: 0.75em; }
|
||||
table.linenotable td.linenos { border-right: 1px solid currentColor; opacity: 0.35; padding-right: 0.5em; }
|
||||
|
||||
pre.pygments .lineno { border-right: 1px solid currentColor; opacity: 0.35; display: inline-block; margin-right: 0.75em; }
|
||||
pre.pygments .lineno:before { content: ""; margin-right: -0.125em; }
|
||||
|
||||
.quoteblock { margin: 0 1em 1.25em 1.5em; display: table; }
|
||||
.quoteblock:not(.excerpt) > .title { margin-left: -1.5em; margin-bottom: 0.75em; }
|
||||
.quoteblock blockquote, .quoteblock p { color: #ffa92e; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; }
|
||||
.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
|
||||
.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: #e18400; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
|
||||
.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
|
||||
.quoteblock .attribution { margin-top: 0.75em; margin-right: 0.5ex; text-align: right; }
|
||||
|
||||
.verseblock { margin: 0 1em 1.25em 1em; }
|
||||
.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #ffa92e; font-weight: 300; text-rendering: optimizeLegibility; }
|
||||
.verseblock pre strong { font-weight: 400; }
|
||||
.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; }
|
||||
|
||||
.quoteblock .attribution, .verseblock .attribution { font-size: 0.9375em; line-height: 1.45; font-style: italic; }
|
||||
.quoteblock .attribution br, .verseblock .attribution br { display: none; }
|
||||
.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #aaa; }
|
||||
|
||||
.quoteblock.abstract blockquote:before, .quoteblock.excerpt blockquote:before, .quoteblock .quoteblock blockquote:before { display: none; }
|
||||
.quoteblock.abstract blockquote, .quoteblock.abstract p, .quoteblock.excerpt blockquote, .quoteblock.excerpt p, .quoteblock .quoteblock blockquote, .quoteblock .quoteblock p { line-height: 1.6; word-spacing: 0; }
|
||||
.quoteblock.abstract { margin: 0 1em 1.25em 1em; display: block; }
|
||||
.quoteblock.abstract > .title { margin: 0 0 0.375em 0; font-size: 1.15em; text-align: center; }
|
||||
.quoteblock.excerpt > blockquote, .quoteblock .quoteblock { padding: 0 0 0.25em 1em; border-left: 0.25em solid #2b2b2b; }
|
||||
.quoteblock.excerpt, .quoteblock .quoteblock { margin-left: 0; }
|
||||
.quoteblock.excerpt blockquote, .quoteblock.excerpt p, .quoteblock .quoteblock blockquote, .quoteblock .quoteblock p { color: inherit; font-size: 1.0625rem; }
|
||||
.quoteblock.excerpt .attribution, .quoteblock .quoteblock .attribution { color: inherit; text-align: left; margin-right: 0; }
|
||||
|
||||
p.tableblock:last-child { margin-bottom: 0; }
|
||||
|
||||
td.tableblock > .content { margin-bottom: 1.25em; word-wrap: anywhere; }
|
||||
td.tableblock > .content > :last-child { margin-bottom: -1.25em; }
|
||||
|
||||
table.tableblock, th.tableblock, td.tableblock { border: 0 solid #613900; }
|
||||
|
||||
table.grid-all > * > tr > * { border-width: 1px; }
|
||||
|
||||
table.grid-cols > * > tr > * { border-width: 0 1px; }
|
||||
|
||||
table.grid-rows > * > tr > * { border-width: 1px 0; }
|
||||
|
||||
table.frame-all { border-width: 1px; }
|
||||
|
||||
table.frame-ends { border-width: 1px 0; }
|
||||
|
||||
table.frame-sides { border-width: 0 1px; }
|
||||
|
||||
table.frame-none > colgroup + * > :first-child > *, table.frame-sides > colgroup + * > :first-child > * { border-top-width: 0; }
|
||||
|
||||
table.frame-none > :last-child > :last-child > *, table.frame-sides > :last-child > :last-child > * { border-bottom-width: 0; }
|
||||
|
||||
table.frame-none > * > tr > :first-child, table.frame-ends > * > tr > :first-child { border-left-width: 0; }
|
||||
|
||||
table.frame-none > * > tr > :last-child, table.frame-ends > * > tr > :last-child { border-right-width: 0; }
|
||||
|
||||
table.stripes-all tr, table.stripes-odd tr:nth-of-type(odd), table.stripes-even tr:nth-of-type(even), table.stripes-hover tr:hover { background: #040404; }
|
||||
|
||||
th.halign-left, td.halign-left { text-align: left; }
|
||||
|
||||
th.halign-right, td.halign-right { text-align: right; }
|
||||
|
||||
th.halign-center, td.halign-center { text-align: center; }
|
||||
|
||||
th.valign-top, td.valign-top { vertical-align: top; }
|
||||
|
||||
th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
|
||||
|
||||
th.valign-middle, td.valign-middle { vertical-align: middle; }
|
||||
|
||||
table thead th, table tfoot th { font-weight: bold; }
|
||||
|
||||
tbody tr th { display: table-cell; line-height: 1.6; background: #2e1b00; }
|
||||
|
||||
tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #aaa; font-weight: bold; }
|
||||
|
||||
p.tableblock > code:only-child { background: none; padding: 0; }
|
||||
|
||||
p.tableblock { font-size: 1em; }
|
||||
|
||||
ol { margin-left: 1.75em; }
|
||||
|
||||
ul li ol { margin-left: 1.5em; }
|
||||
|
||||
dl dd { margin-left: 1.125em; }
|
||||
|
||||
dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
|
||||
|
||||
ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.625em; }
|
||||
|
||||
ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; }
|
||||
|
||||
ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; }
|
||||
|
||||
ul.unstyled, ol.unstyled { margin-left: 0; }
|
||||
|
||||
ul.checklist { margin-left: 0.625em; }
|
||||
|
||||
ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; }
|
||||
|
||||
ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }
|
||||
|
||||
ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.625em -1.25em; }
|
||||
|
||||
ul.inline > li { margin-left: 1.25em; }
|
||||
|
||||
.unstyled dl dt { font-weight: normal; font-style: normal; }
|
||||
|
||||
ol.arabic { list-style-type: decimal; }
|
||||
|
||||
ol.decimal { list-style-type: decimal-leading-zero; }
|
||||
|
||||
ol.loweralpha { list-style-type: lower-alpha; }
|
||||
|
||||
ol.upperalpha { list-style-type: upper-alpha; }
|
||||
|
||||
ol.lowerroman { list-style-type: lower-roman; }
|
||||
|
||||
ol.upperroman { list-style-type: upper-roman; }
|
||||
|
||||
ol.lowergreek { list-style-type: lower-greek; }
|
||||
|
||||
.hdlist > table, .colist > table { border: 0; background: none; }
|
||||
.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
|
||||
|
||||
td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; }
|
||||
|
||||
td.hdlist1 { font-weight: bold; padding-bottom: 1.25em; }
|
||||
|
||||
td.hdlist2 { word-wrap: anywhere; }
|
||||
|
||||
.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
|
||||
|
||||
.colist td:not([class]):first-child { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; }
|
||||
.colist td:not([class]):first-child img { max-width: none; }
|
||||
.colist td:not([class]):last-child { padding: 0.25em 0; }
|
||||
|
||||
.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; }
|
||||
|
||||
.imageblock.left { margin: 0.25em 0.625em 1.25em 0; }
|
||||
.imageblock.right { margin: 0.25em 0 1.25em 0.625em; }
|
||||
.imageblock > .title { margin-bottom: 0; }
|
||||
.imageblock.thumb, .imageblock.th { border-width: 6px; }
|
||||
.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
|
||||
|
||||
.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
|
||||
.image.left { margin-right: 0.625em; }
|
||||
.image.right { margin-left: 0.625em; }
|
||||
|
||||
a.image { text-decoration: none; display: inline-block; }
|
||||
a.image object { pointer-events: none; }
|
||||
|
||||
sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; }
|
||||
sup.footnote a, sup.footnoteref a { text-decoration: none; }
|
||||
sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
|
||||
|
||||
#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
|
||||
#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; }
|
||||
#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; }
|
||||
#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; }
|
||||
#footnotes .footnote:last-of-type { margin-bottom: 0; }
|
||||
#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
|
||||
|
||||
.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; }
|
||||
.gist .file-data > table td.line-data { width: 99%; }
|
||||
|
||||
div.unbreakable { page-break-inside: avoid; }
|
||||
|
||||
.big { font-size: larger; }
|
||||
|
||||
.small { font-size: smaller; }
|
||||
|
||||
.underline { text-decoration: underline; }
|
||||
|
||||
.overline { text-decoration: overline; }
|
||||
|
||||
.line-through { text-decoration: line-through; }
|
||||
|
||||
.aqua { color: #00bfbf; }
|
||||
|
||||
.aqua-background { background-color: #00fafa; }
|
||||
|
||||
.black { color: black; }
|
||||
|
||||
.black-background { background-color: black; }
|
||||
|
||||
.blue { color: #0000bf; }
|
||||
|
||||
.blue-background { background-color: #0000fa; }
|
||||
|
||||
.fuchsia { color: #bf00bf; }
|
||||
|
||||
.fuchsia-background { background-color: #fa00fa; }
|
||||
|
||||
.gray { color: #606060; }
|
||||
|
||||
.gray-background { background-color: #7d7d7d; }
|
||||
|
||||
.green { color: #006000; }
|
||||
|
||||
.green-background { background-color: #007d00; }
|
||||
|
||||
.lime { color: #00bf00; }
|
||||
|
||||
.lime-background { background-color: #00fa00; }
|
||||
|
||||
.maroon { color: #600000; }
|
||||
|
||||
.maroon-background { background-color: #7d0000; }
|
||||
|
||||
.navy { color: #000060; }
|
||||
|
||||
.navy-background { background-color: #00007d; }
|
||||
|
||||
.olive { color: #606000; }
|
||||
|
||||
.olive-background { background-color: #7d7d00; }
|
||||
|
||||
.purple { color: #600060; }
|
||||
|
||||
.purple-background { background-color: #7d007d; }
|
||||
|
||||
.red { color: #bf0000; }
|
||||
|
||||
.red-background { background-color: #fa0000; }
|
||||
|
||||
.silver { color: #909090; }
|
||||
|
||||
.silver-background { background-color: #bcbcbc; }
|
||||
|
||||
.teal { color: #006060; }
|
||||
|
||||
.teal-background { background-color: #007d7d; }
|
||||
|
||||
.white { color: #bfbfbf; }
|
||||
|
||||
.white-background { background-color: #fafafa; }
|
||||
|
||||
.yellow { color: #bfbf00; }
|
||||
|
||||
.yellow-background { background-color: #fafa00; }
|
||||
|
||||
span.icon > .fa { cursor: default; }
|
||||
a span.icon > .fa { cursor: inherit; }
|
||||
|
||||
.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 0px 0px 5px #c77500; cursor: default; }
|
||||
.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #bc6e00; }
|
||||
.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
|
||||
.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
|
||||
.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
|
||||
.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
|
||||
|
||||
.conum[data-value] { display: inline-block; color: #fff !important; background-color: #aaa; -webkit-border-radius: 50%; border-radius: 50%; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; }
|
||||
.conum[data-value] * { color: #fff !important; }
|
||||
.conum[data-value] + b { display: none; }
|
||||
.conum[data-value]:after { content: attr(data-value); }
|
||||
pre .conum[data-value] { position: relative; top: -0.125em; }
|
||||
|
||||
b.conum * { color: inherit !important; }
|
||||
|
||||
.conum:not([data-value]):empty { display: none; }
|
||||
|
||||
dt, th.tableblock, td.content, div.footnote { text-rendering: optimizeLegibility; }
|
||||
|
||||
h1, h2, p, td.content, span.alt { letter-spacing: -0.01em; }
|
||||
|
||||
p strong, td.content strong, div.footnote strong { letter-spacing: -0.005em; }
|
||||
|
||||
strong { text-shadow: 0px 0px 2px; }
|
||||
|
||||
p, blockquote, dt, td.content, span.alt { font-size: 1.0625rem; }
|
||||
|
||||
p { margin-bottom: 1.25rem; }
|
||||
|
||||
.sidebarblock p, .sidebarblock dt, .sidebarblock td.content, p.tableblock { font-size: 1em; }
|
||||
|
||||
.exampleblock > .content { border-color: #2e1b00; -moz-box-shadow: 0 1px 4px #2e1b00; -webkit-box-shadow: 0 1px 4px #2e1b00; box-shadow: 0 1px 4px #2e1b00; }
|
||||
|
||||
.admonitionblock .icon .title { font-size: 2.5em; text-shadow: 0px 0px 5px #c77500; }
|
||||
|
||||
.caution .icon .title { color: #6610f2; }
|
||||
|
||||
.important .icon .title { color: #e74c3c; }
|
||||
|
||||
.note .icon .title { color: #3498db; }
|
||||
|
||||
.tip .icon .title { color: #00bc8c; }
|
||||
|
||||
.warning .icon .title { color: #f39c12; }
|
||||
|
||||
pre.pygments { background: #000 !important; }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { font-size: 0.875em; }
|
||||
@media only screen and (min-width: 768px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.875em; } }
|
||||
@media only screen and (min-width: 1280px) { .literalblock pre, .listingblock > .content > pre { font-size: 0.875em; } }
|
||||
|
||||
.literalblock pre, .listingblock > .content > pre { background: black !important; }
|
||||
|
||||
.sidebarblock { border-color: #2e1b00; }
|
||||
|
||||
a { color: inherit; }
|
||||
|
||||
#header .details { color: #c77500; }
|
||||
|
||||
#toc { scrollbar-width: none; scrollbar-color: #613900 transparent; }
|
||||
|
||||
#toc:hover { scrollbar-width: thin; scrollbar-color: #c77500 #2e1b00; }
|
||||
|
||||
#toc::-webkit-scrollbar { width: 0px; }
|
||||
|
||||
#toc::-webkit-scrollbar-thumb { background: #613900; }
|
||||
|
||||
#toc::-webkit-scrollbar-track { background: transparent; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar { width: 6px; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar-thumb { background: #c77500; }
|
||||
|
||||
#toc:hover::-webkit-scrollbar-track { background: #2e1b00; }
|
||||
|
||||
.print-only { display: none !important; }
|
||||
|
||||
@page { margin: 1.25cm 0.75cm; }
|
||||
@media print { * { -moz-box-shadow: none !important; -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; }
|
||||
html { font-size: 80%; }
|
||||
a { color: inherit !important; text-decoration: underline !important; }
|
||||
a.bare, a[href^="#"], a[href^="mailto:"] { text-decoration: none !important; }
|
||||
a[href^="http:"]:not(.bare):after, a[href^="https:"]:not(.bare):after { content: "(" attr(href) ")"; display: inline-block; font-size: 0.875em; padding-left: 0.25em; }
|
||||
abbr[title]:after { content: " (" attr(title) ")"; }
|
||||
pre, blockquote, tr, img, object, svg { page-break-inside: avoid; }
|
||||
thead { display: table-header-group; }
|
||||
svg { max-width: 100%; }
|
||||
p, blockquote, dt, td.content { font-size: 1em; orphans: 3; widows: 3; }
|
||||
h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; }
|
||||
#header, #content, #footnotes, #footer { max-width: none; }
|
||||
#toc, .sidebarblock, .exampleblock > .content { background: none !important; }
|
||||
#toc { border-bottom: 1px solid #2b2b2b !important; padding-bottom: 0 !important; }
|
||||
body.book #header { text-align: center; }
|
||||
body.book #header > h1:first-child { border: 0 !important; margin: 2.5em 0 1em 0; }
|
||||
body.book #header .details { border: 0 !important; display: block; padding: 0 !important; }
|
||||
body.book #header .details span:first-child { margin-left: 0 !important; }
|
||||
body.book #header .details br { display: block; }
|
||||
body.book #header .details br + span:before { content: none !important; }
|
||||
body.book #toc { border: 0 !important; text-align: left !important; padding: 0 !important; margin: 0 !important; }
|
||||
body.book #toc, body.book #preamble, body.book h1.sect0, body.book .sect1 > h2 { page-break-before: always; }
|
||||
.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0 !important; }
|
||||
.listingblock code[data-lang]:before { display: block; }
|
||||
#footer { padding: 0 0.9375em; }
|
||||
.hide-on-print { display: none !important; }
|
||||
.print-only { display: block !important; }
|
||||
.hide-for-print { display: none !important; }
|
||||
.show-for-print { display: inherit !important; } }
|
||||
@media print, amzn-kf8 { #header > h1:first-child { margin-top: 1.25rem; }
|
||||
.sect1 { padding: 0 !important; }
|
||||
.sect1 + .sect1 { border: 0; }
|
||||
#footer { background: none; }
|
||||
#footer-text { color: #aaa; font-size: 0.9em; } }
|
||||
@media amzn-kf8 { #header, #content, #footnotes, #footer { padding: 0; } }
|
||||
.menubar { position: fixed; display: block; top: 0px; left: 0px; right: 0px; z-index: 99; background-color: black; border-bottom: 1px solid #2e1b00; padding: 10px; text-align: center; }
|
||||
|
||||
.menubar p { margin: 0px; }
|
||||
|
||||
.menubar image { padding-right: 1em; }
|
||||
|
||||
.menubar-item { padding-left: 1em; }
|
||||
|
||||
@media print { .menubar { display: none; } }
|
110
doc/build.jam
110
doc/build.jam
@ -1,100 +1,36 @@
|
||||
# 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)
|
||||
#|
|
||||
Copyright René Ferdinand Rivera Morell 2011-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)
|
||||
|#
|
||||
|
||||
using quickbook ;
|
||||
using boostbook ;
|
||||
import asciidoctor ;
|
||||
import modules ;
|
||||
import path ;
|
||||
|
||||
if ! $(BOOST_ROOT)
|
||||
{
|
||||
BOOST_ROOT = [ modules.peek : BOOST_ROOT ] ;
|
||||
}
|
||||
project predefdoc ;
|
||||
|
||||
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..
|
||||
|
||||
# Quickbok to boostbook target.
|
||||
xml predef
|
||||
html index : predef.adoc :
|
||||
:
|
||||
predef.qbk
|
||||
:
|
||||
<dependency>$(BOOST_PREDEF_INCLUDE_ROOT)/boost/predef.h
|
||||
<dependency>$(BOOST_PREDEF_HEADERS)
|
||||
<flags>--trace
|
||||
<flags>--verbose
|
||||
<flags>--attribute=stylesheet=amber.css
|
||||
<flags>--attribute=rouge-style=base16.solarized
|
||||
<dependency>$(headers)
|
||||
;
|
||||
explicit predef ;
|
||||
explicit index ;
|
||||
|
||||
# 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 ;
|
||||
install html : index : <location>$(doc-dir) ;
|
||||
explicit html ;
|
||||
|
||||
# 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 ;
|
||||
alias boostdoc ;
|
||||
explicit boostdoc ;
|
||||
|
||||
# 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 ;
|
||||
alias boostrelease : html ;
|
||||
explicit boostrelease ;
|
||||
|
||||
###############################################################################
|
||||
|
@ -1,89 +0,0 @@
|
||||
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].]
|
||||
|
@ -1,13 +1,51 @@
|
||||
[/
|
||||
Copyright 2014-2016 Rene Rivera
|
||||
////
|
||||
Copyright 2014-2021 René Ferdinand Rivera Morell
|
||||
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)
|
||||
]
|
||||
////
|
||||
|
||||
[section History]
|
||||
= History
|
||||
|
||||
[heading 1.10]
|
||||
== 1.14.0
|
||||
|
||||
* Add detection of LoongArch (from Zhang Na).
|
||||
|
||||
== 1.13.1
|
||||
|
||||
* Fix spelling of "epoch".
|
||||
* Add missing parenthesis in `sparc.h` (from tkoecker).
|
||||
* Update documentation to use Rouge code styling and Amber general style.
|
||||
|
||||
== 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
|
||||
|
||||
* 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
|
||||
|
||||
* Fix bad include of sub-BSD os headers from main BSD header.
|
||||
* Fix use of deprecated `TARGET_IPHONE_SIMULATOR` instead of newer
|
||||
@ -18,12 +56,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.
|
||||
|
||||
[heading 1.9]
|
||||
== 1.9
|
||||
|
||||
* Fixes for `BOOST_COMP_NVCC*` predefs. (from Benjamin Worpitz)
|
||||
* Add specific version information for Cygwin OS predef. (from James E. King III)
|
||||
|
||||
[heading 1.8]
|
||||
== 1.8
|
||||
|
||||
* Add support for __ARM_ARCH macro. (from Tim Blechmann)
|
||||
* Add detection for PTX architecture. (from Benjamin Worpitz)
|
||||
@ -31,15 +69,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)
|
||||
|
||||
[heading 1.7]
|
||||
== 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)
|
||||
|
||||
[heading 1.6]
|
||||
== 1.6
|
||||
|
||||
* Fix Intel C/C++ version 9999 detection to be 12.1.0.
|
||||
* Fix Intel C/{CPP} 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)
|
||||
@ -47,21 +85,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
Baratov)
|
||||
* Fix MinGW incorrect header guard. (from Ruslan Baratov)
|
||||
|
||||
[heading 1.5]
|
||||
== 1.5
|
||||
|
||||
* Fix Intel C/C++ compiler version specification.
|
||||
* Fix Intel C/{CPP} 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.
|
||||
|
||||
[heading 1.4.1]
|
||||
== 1.4.1
|
||||
|
||||
* Small fixes for some redefinition errors, and mispelled macros.
|
||||
* Slightly rearrangement of structure to comply with current library requirements.
|
||||
|
||||
[heading 1.4]
|
||||
== 1.4
|
||||
|
||||
* Add detection of SIMD hardware. With the addition of the `BOOST_HW_*`
|
||||
category (from Charly Chevalier).
|
||||
@ -70,16 +108,16 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
* Fix test warnings.
|
||||
* Fix typos on `AVAILABLE` macros for Windows Platform. (from Vemund Handeland)
|
||||
|
||||
[heading 1.3]
|
||||
== 1.3
|
||||
|
||||
* Fix many problems with `predef_check` functionality.
|
||||
* Update SunPro detection to accomodate latest version of compiler from Oracle.
|
||||
* Update SunPro detection to accommodate 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).
|
||||
|
||||
[heading 1.2]
|
||||
== 1.2
|
||||
|
||||
* Account for skip in Visual Studio product version vs. compiler version.
|
||||
This supports version of VS 2015 an onward.
|
||||
@ -89,7 +127,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
* Add `predef_check` program and BBv2 integration for build configuration
|
||||
checks.
|
||||
|
||||
[heading 1.1]
|
||||
== 1.1
|
||||
|
||||
* Addition of `BOOST_PLAT_*` platform definitions for MinGW and
|
||||
Windows platform variants.
|
||||
@ -101,9 +139,7 @@ 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).]
|
||||
|
||||
[endsect]
|
||||
(except for sub-categories).
|
7694
doc/index.html
Normal file
7694
doc/index.html
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,10 @@
|
||||
[/
|
||||
Copyright 2014-2017 Rene Rivera
|
||||
////
|
||||
Copyright 2014-2017 René Ferdinand Rivera Morell
|
||||
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)
|
||||
]
|
||||
////
|
||||
|
||||
[section To Do]
|
||||
= To Do
|
||||
|
||||
* Improve reference documentation.
|
||||
|
||||
[endsect]
|
@ -1,11 +0,0 @@
|
||||
// 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
|
@ -14,13 +14,16 @@ 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/loongarch.h>
|
||||
#include <boost/predef/architecture/m68k.h>
|
||||
#include <boost/predef/architecture/mips.h>
|
||||
#include <boost/predef/architecture/parisc.h>
|
||||
#include <boost/predef/architecture/ppc.h>
|
||||
#include <boost/predef/architecture/ptx.h>
|
||||
#include <boost/predef/architecture/pyramid.h>
|
||||
#include <boost/predef/architecture/riscv.h>
|
||||
#include <boost/predef/architecture/rs6k.h>
|
||||
#include <boost/predef/architecture/sparc.h>
|
||||
#include <boost/predef/architecture/superh.h>
|
||||
@ -28,6 +31,5 @@ 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
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_ALPHA`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_ALPHA`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/DEC_Alpha DEC Alpha] architecture.
|
||||
http://en.wikipedia.org/wiki/DEC_Alpha[DEC Alpha] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[[`__alpha__`] [__predef_detection__]]
|
||||
[[`__alpha`] [__predef_detection__]]
|
||||
[[`_M_ALPHA`] [__predef_detection__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__alpha_ev4__+` | 4.0.0
|
||||
| `+__alpha_ev5__+` | 5.0.0
|
||||
| `+__alpha_ev6__+` | 6.0.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_ALPHA BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -51,6 +52,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -13,59 +13,60 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_ARM`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_ARM`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/ARM_architecture ARM] architecture.
|
||||
http://en.wikipedia.org/wiki/ARM_architecture[ARM] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_ARM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -125,6 +126,16 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_BLACKFIN`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_BLACKFIN`
|
||||
|
||||
Blackfin Processors from Analog Devices.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__bfin__`] [__predef_detection__]]
|
||||
[[`__BFIN__`] [__predef_detection__]]
|
||||
[[`bfin`] [__predef_detection__]]
|
||||
[[`BFIN`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__bfin__+` | {predef_detection}
|
||||
| `+__BFIN__+` | {predef_detection}
|
||||
| `bfin` | {predef_detection}
|
||||
| `BFIN` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_BLACKFIN BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -38,6 +39,11 @@ 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
|
||||
|
@ -11,23 +11,24 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_CONVEX`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_CONVEX`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Convex_Computer Convex Computer] architecture.
|
||||
http://en.wikipedia.org/wiki/Convex_Computer[Convex Computer] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_CONVEX BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -57,6 +58,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
54
include/boost/predef/architecture/e2k.h
Normal file
54
include/boost/predef/architecture/e2k.h
Normal file
@ -0,0 +1,54 @@
|
||||
/*
|
||||
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)
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_IA64`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_IA64`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Ia64 Intel Itanium 64] architecture.
|
||||
http://en.wikipedia.org/wiki/Ia64[Intel Itanium 64] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__ia64__`] [__predef_detection__]]
|
||||
[[`_IA64`] [__predef_detection__]]
|
||||
[[`__IA64__`] [__predef_detection__]]
|
||||
[[`__ia64`] [__predef_detection__]]
|
||||
[[`_M_IA64`] [__predef_detection__]]
|
||||
[[`__itanium__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__ia64__+` | {predef_detection}
|
||||
| `+_IA64+` | {predef_detection}
|
||||
| `+__IA64__+` | {predef_detection}
|
||||
| `+__ia64+` | {predef_detection}
|
||||
| `+_M_IA64+` | {predef_detection}
|
||||
| `+__itanium__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_IA64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -41,6 +42,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
41
include/boost/predef/architecture/loongarch.h
Normal file
41
include/boost/predef/architecture/loongarch.h
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright Zhang Na 2022
|
||||
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_LOONGARCH_H
|
||||
#define BOOST_PREDEF_ARCHITECTURE_LOONGARCH_H
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_LOONGARCH`
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
| `+__loongarch__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__loongarch__)
|
||||
# undef BOOST_ARCH_LOONGARCH
|
||||
# define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_LOONGARCH
|
||||
# define BOOST_ARCH_LOONGARCH_AVAILABLE
|
||||
#endif
|
||||
|
||||
#define BOOST_ARCH_LOONGARCH_NAME "LoongArch"
|
||||
|
||||
#endif
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_LOONGARCH,BOOST_ARCH_LOONGARCH_NAME)
|
@ -11,37 +11,38 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_M68K`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_M68K`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/M68k Motorola 68k] architecture.
|
||||
http://en.wikipedia.org/wiki/M68k[Motorola 68k] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_M68K BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -74,6 +75,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,30 +11,31 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_MIPS`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_MIPS`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/MIPS_architecture MIPS] architecture.
|
||||
http://en.wikipedia.org/wiki/MIPS_architecture[MIPS] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_MIPS BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -65,6 +66,16 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,28 +11,29 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_PARISC`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+_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[]
|
||||
|
||||
#define BOOST_ARCH_PARISC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -56,6 +57,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,40 +11,49 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_PPC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_PPC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/PowerPC PowerPC] architecture.
|
||||
http://en.wikipedia.org/wiki/PowerPC[PowerPC] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__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__]]
|
||||
| `+__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}
|
||||
|
||||
[[`__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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_PPC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__powerpc) || defined(__powerpc__) || \
|
||||
defined(__POWERPC__) || defined(__ppc__) || \
|
||||
defined(_M_PPC) || defined(_ARCH_PPC) || \
|
||||
#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) || \
|
||||
defined(__PPCGECKO__) || defined(__PPCBROADWAY__) || \
|
||||
defined(_XENON)
|
||||
defined(_XENON) || \
|
||||
defined(__ppc)
|
||||
# undef BOOST_ARCH_PPC
|
||||
# if !defined (BOOST_ARCH_PPC) && (defined(__ppc601__) || defined(_ARCH_601))
|
||||
# define BOOST_ARCH_PPC BOOST_VERSION_NUMBER(6,1,0)
|
||||
@ -66,7 +75,50 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#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)
|
||||
|
@ -11,19 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_PTX`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_PTX`
|
||||
|
||||
[@https://en.wikipedia.org/wiki/Parallel_Thread_Execution PTX] architecture.
|
||||
https://en.wikipedia.org/wiki/Parallel_Thread_Execution[PTX] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__CUDA_ARCH__`] [__predef_detection__]]
|
||||
| `+__CUDA_ARCH__+` | {predef_detection}
|
||||
|
||||
[[`__CUDA_ARCH__`] [V.R.0]]
|
||||
]
|
||||
*/
|
||||
| `+__CUDA_ARCH__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_PTX BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -36,6 +37,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_PYRAMID`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_PYRAMID`
|
||||
|
||||
Pyramid 9810 architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`pyr`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `pyr` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_PYRAMID BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -34,6 +35,11 @@ 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
|
||||
|
48
include/boost/predef/architecture/riscv.h
Normal file
48
include/boost/predef/architecture/riscv.h
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright Andreas Schwab 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)
|
||||
*/
|
||||
|
||||
#ifndef BOOST_PREDEF_ARCHITECTURE_RISCV_H
|
||||
#define BOOST_PREDEF_ARCHITECTURE_RISCV_H
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_RISCV`
|
||||
|
||||
http://en.wikipedia.org/wiki/RISC-V[RISC-V] architecture.
|
||||
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
| `+__riscv+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__riscv)
|
||||
# undef BOOST_ARCH_RISCV
|
||||
# define BOOST_ARCH_RISCV BOOST_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
#if BOOST_ARCH_RISCV
|
||||
# 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
|
||||
|
||||
#include <boost/predef/detail/test.h>
|
||||
BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_RISCV,BOOST_ARCH_RISCV_NAME)
|
@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_RS6000`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_RS6000`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/RS/6000 RS/6000] architecture.
|
||||
http://en.wikipedia.org/wiki/RS/6000[RS/6000] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__THW_RS6000`] [__predef_detection__]]
|
||||
[[`_IBMR2`] [__predef_detection__]]
|
||||
[[`_POWER`] [__predef_detection__]]
|
||||
[[`_ARCH_PWR`] [__predef_detection__]]
|
||||
[[`_ARCH_PWR2`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__THW_RS6000+` | {predef_detection}
|
||||
| `+_IBMR2+` | {predef_detection}
|
||||
| `+_POWER+` | {predef_detection}
|
||||
| `+_ARCH_PWR+` | {predef_detection}
|
||||
| `+_ARCH_PWR2+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_RS6000 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -40,6 +41,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
@ -48,6 +54,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,30 +11,33 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_SPARC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_SPARC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/SPARC SPARC] architecture.
|
||||
http://en.wikipedia.org/wiki/SPARC[SPARC] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__sparc__`] [__predef_detection__]]
|
||||
[[`__sparc`] [__predef_detection__]]
|
||||
| `+__sparc__+` | {predef_detection}
|
||||
| `+__sparc+` | {predef_detection}
|
||||
|
||||
[[`__sparcv9`] [9.0.0]]
|
||||
[[`__sparcv8`] [8.0.0]]
|
||||
]
|
||||
*/
|
||||
| `+__sparcv9+` | 9.0.0
|
||||
| `+__sparc_v9__+` | 9.0.0
|
||||
| `+__sparcv8+` | 8.0.0
|
||||
| `+__sparc_v8__+` | 8.0.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#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)
|
||||
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv9) || defined(__sparc_v9__))
|
||||
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(9,0,0)
|
||||
# endif
|
||||
# if !defined(BOOST_ARCH_SPARC) && defined(__sparcv8)
|
||||
# if !defined(BOOST_ARCH_SPARC) && (defined(__sparcv8) || defined(__sparc_v8__))
|
||||
# define BOOST_ARCH_SPARC BOOST_VERSION_NUMBER(8,0,0)
|
||||
# endif
|
||||
# if !defined(BOOST_ARCH_SPARC)
|
||||
@ -46,6 +49,16 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,25 +11,26 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_SH`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_SH BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -59,6 +60,19 @@ 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
|
||||
|
@ -11,18 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_SYS370`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_SYS370`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/System/370 System/370] architecture.
|
||||
http://en.wikipedia.org/wiki/System/370[System/370] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__370__`] [__predef_detection__]]
|
||||
[[`__THW_370__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__370__+` | {predef_detection}
|
||||
| `+__THW_370__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_SYS370 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -35,6 +36,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,18 +11,19 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_SYS390`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_SYS390`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/System/390 System/390] architecture.
|
||||
http://en.wikipedia.org/wiki/System/390[System/390] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__s390__`] [__predef_detection__]]
|
||||
[[`__s390x__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__s390__+` | {predef_detection}
|
||||
| `+__s390x__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_SYS390 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -35,6 +36,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,13 +11,13 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#ifndef BOOST_PREDEF_ARCHITECTURE_X86_H
|
||||
#define BOOST_PREDEF_ARCHITECTURE_X86_H
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_X86`]
|
||||
/* tag::reference[]
|
||||
= `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
|
||||
|
||||
|
@ -11,35 +11,36 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_X86_32`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__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[]
|
||||
|
||||
#define BOOST_ARCH_X86_32 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -77,6 +78,11 @@ 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>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
Copyright Rene Rivera 2008-2015
|
||||
Copyright Rene Rivera 2008-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)
|
||||
@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_X86_64`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_X86_64`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Ia64 Intel IA-64] architecture.
|
||||
https://en.wikipedia.org/wiki/X86-64[X86-64] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__x86_64`] [__predef_detection__]]
|
||||
[[`__x86_64__`] [__predef_detection__]]
|
||||
[[`__amd64__`] [__predef_detection__]]
|
||||
[[`__amd64`] [__predef_detection__]]
|
||||
[[`_M_X64`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__x86_64+` | {predef_detection}
|
||||
| `+__x86_64__+` | {predef_detection}
|
||||
| `+__amd64__+` | {predef_detection}
|
||||
| `+__amd64+` | {predef_detection}
|
||||
| `+_M_X64+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_X86_64 BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -40,6 +41,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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>
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_ARCH_Z`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_ARCH_Z`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Z/Architecture z/Architecture] architecture.
|
||||
http://en.wikipedia.org/wiki/Z/Architecture[z/Architecture] architecture.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__SYSC_ZARCH__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__SYSC_ZARCH__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_ARCH_Z BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -34,6 +35,11 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
# 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
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_BORLAND`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_BORLAND`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/C_plus_plus_builder Borland C++] compiler.
|
||||
http://en.wikipedia.org/wiki/C_plus_plus_builder[Borland {CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__BORLANDC__`] [__predef_detection__]]
|
||||
[[`__CODEGEARC__`] [__predef_detection__]]
|
||||
| `+__BORLANDC__+` | {predef_detection}
|
||||
| `+__CODEGEARC__+` | {predef_detection}
|
||||
|
||||
[[`__BORLANDC__`] [V.R.P]]
|
||||
[[`__CODEGEARC__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__BORLANDC__+` | V.R.P
|
||||
| `+__CODEGEARC__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_BORLAND BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_CLANG`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__clang__`] [__predef_detection__]]
|
||||
| `+__clang__+` | {predef_detection}
|
||||
|
||||
[[`__clang_major__`, `__clang_minor__`, `__clang_patchlevel__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__clang_major__+`, `+__clang_minor__+`, `+__clang_patchlevel__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_CLANG BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#define BOOST_COMP_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_COMO`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_COMO`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B Comeau C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Comeau_C/C%2B%2B[Comeau {CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__COMO__`] [__predef_detection__]]
|
||||
| `+__COMO__+` | {predef_detection}
|
||||
|
||||
[[`__COMO_VERSION__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__COMO_VERSION__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#if defined(__COMO__)
|
||||
# if !defined(BOOST_COMP_COMO_DETECTION) && defined(__COMO_VERSION__)
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_DEC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_DEC`
|
||||
|
||||
[@http://www.openvms.compaq.com/openvms/brochures/deccplus/ Compaq C/C++] compiler.
|
||||
http://www.openvms.compaq.com/openvms/brochures/deccplus/[Compaq C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__DECCXX_VER+` | V.R.P
|
||||
| `+__DECC_VER+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_DEC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_DIAB`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_DIAB`
|
||||
|
||||
[@http://www.windriver.com/products/development_suite/wind_river_compiler/ Diab C/C++] compiler.
|
||||
http://www.windriver.com/products/development_suite/wind_river_compiler/[Diab C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__DCC__`] [__predef_detection__]]
|
||||
| `+__DCC__+` | {predef_detection}
|
||||
|
||||
[[`__VERSION_NUMBER__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__VERSION_NUMBER__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_DIAB BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_DMC`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__DMC__`] [__predef_detection__]]
|
||||
| `+__DMC__+` | {predef_detection}
|
||||
|
||||
[[`__DMC__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__DMC__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_DMC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_SYSC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_SYSC`
|
||||
|
||||
[@http://www.dignus.com/dcxx/ Dignus Systems/C++] compiler.
|
||||
http://www.dignus.com/dcxx/[Dignus Systems/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__SYSC__`] [__predef_detection__]]
|
||||
| `+__SYSC__+` | {predef_detection}
|
||||
|
||||
[[`__SYSC_VER__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__SYSC_VER__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_SYSC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_EDG`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_EDG`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Edison_Design_Group EDG C++ Frontend] compiler.
|
||||
http://en.wikipedia.org/wiki/Edison_Design_Group[EDG {CPP} Frontend] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__EDG__`] [__predef_detection__]]
|
||||
| `+__EDG__+` | {predef_detection}
|
||||
|
||||
[[`__EDG_VERSION__`] [V.R.0]]
|
||||
]
|
||||
*/
|
||||
| `+__EDG_VERSION__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_EDG BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_PATH`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__PATHCC__`] [__predef_detection__]]
|
||||
| `+__PATHCC__+` | {predef_detection}
|
||||
|
||||
[[`__PATHCC__`, `__PATHCC_MINOR__`, `__PATHCC_PATCHLEVEL__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__PATHCC__+`, `+__PATHCC_MINOR__+`, `+__PATHCC_PATCHLEVEL__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_PATH BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -15,21 +15,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_GNUC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_GNUC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/GNU_Compiler_Collection Gnu GCC C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/GNU_Compiler_Collection[Gnu GCC C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch (if available).
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__GNUC__`] [__predef_detection__]]
|
||||
| `+__GNUC__+` | {predef_detection}
|
||||
|
||||
[[`__GNUC__`, `__GNUC_MINOR__`, `__GNUC_PATCHLEVEL__`] [V.R.P]]
|
||||
[[`__GNUC__`, `__GNUC_MINOR__`] [V.R.0]]
|
||||
]
|
||||
*/
|
||||
| `+__GNUC__+`, `+__GNUC_MINOR__+`, `+__GNUC_PATCHLEVEL__+` | V.R.P
|
||||
| `+__GNUC__+`, `+__GNUC_MINOR__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_GNUC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_GCCXML`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_GCCXML`
|
||||
|
||||
[@http://www.gccxml.org/ GCC XML] compiler.
|
||||
http://www.gccxml.org/[GCC XML] compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__GCCXML__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__GCCXML__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_GCCXML BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_GHS`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_GHS`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Green_Hills_Software Green Hills C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Green_Hills_Software[Green Hills C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__GHS_VERSION_NUMBER__+` | V.R.P
|
||||
| `+__ghs+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_GHS BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_HPACC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_HPACC`
|
||||
|
||||
HP aC++ compiler.
|
||||
HP a{CPP} compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__HP_aCC`] [__predef_detection__]]
|
||||
| `+__HP_aCC+` | {predef_detection}
|
||||
|
||||
[[`__HP_aCC`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__HP_aCC+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_HPACC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_IAR`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_IAR`
|
||||
|
||||
IAR C/C++ compiler.
|
||||
IAR C/{CPP} compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__IAR_SYSTEMS_ICC__`] [__predef_detection__]]
|
||||
| `+__IAR_SYSTEMS_ICC__+` | {predef_detection}
|
||||
|
||||
[[`__VER__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__VER__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_IAR BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,25 +11,26 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_IBM`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_IBM`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/VisualAge IBM XL C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/VisualAge[IBM XL C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__COMPILER_VER__+` | V.R.P
|
||||
| `+__xlC__+` | V.R.P
|
||||
| `+__xlc__+` | V.R.P
|
||||
| `+__IBMCPP__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_IBM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,33 +11,34 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_INTEL`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_INTEL`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Intel_C%2B%2B Intel C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Intel_C%2B%2B[Intel C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__INTEL_COMPILER+` | V.R
|
||||
| `+__INTEL_COMPILER+` and `+__INTEL_COMPILER_UPDATE+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_INTEL BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || \
|
||||
defined(__ECC)
|
||||
/*`
|
||||
[note Because of an Intel mistake in the release version numbering when
|
||||
`__INTEL_COMPILER` is `9999` it is detected as version 12.1.0.]
|
||||
*/
|
||||
/* 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[]
|
||||
# if !defined(BOOST_COMP_INTEL_DETECTION) && defined(__INTEL_COMPILER) && (__INTEL_COMPILER == 9999)
|
||||
# define BOOST_COMP_INTEL_DETECTION BOOST_VERSION_NUMBER(12,1,0)
|
||||
# endif
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_KCC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_KCC`
|
||||
|
||||
Kai C++ compiler.
|
||||
Kai {CPP} compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__KCC`] [__predef_detection__]]
|
||||
| `+__KCC+` | {predef_detection}
|
||||
|
||||
[[`__KCC_VERSION`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__KCC_VERSION+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_KCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -15,17 +15,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_LLVM`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_LLVM`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/LLVM LLVM] compiler.
|
||||
http://en.wikipedia.org/wiki/LLVM[LLVM] compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__llvm__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__llvm__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_LLVM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_HIGHC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_HIGHC`
|
||||
|
||||
MetaWare High C/C++ compiler.
|
||||
MetaWare High C/{CPP} compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__HIGHC__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__HIGHC__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_HIGHC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,24 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_MWERKS`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__CWCC__+` | V.R.P
|
||||
| `+__MWERKS__+` | V.R.P >= 4.2.0
|
||||
| `+__MWERKS__+` | 9.R.0
|
||||
| `+__MWERKS__+` | 8.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_MWERKS BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_MRI`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_MRI`
|
||||
|
||||
[@http://www.mentor.com/microtec/ Microtec C/C++] compiler.
|
||||
http://www.mentor.com/microtec/[Microtec C/{CPP}] compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`_MRI`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+_MRI+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_MRI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_MPW`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_MPW`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop MPW C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop[MPW {CPP}] compiler.
|
||||
Version number available as major, and minor.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__MRC__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_MPW BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_NVCC`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__NVCC__`] [__predef_detection__]]
|
||||
| `+__NVCC__+` | {predef_detection}
|
||||
|
||||
[[`__CUDACC_VER_MAJOR__`, `__CUDACC_VER_MINOR__`, `__CUDACC_VER_BUILD__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__CUDACC_VER_MAJOR__+`, `+__CUDACC_VER_MINOR__+`, `+__CUDACC_VER_BUILD__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_NVCC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_PALM`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_PALM`
|
||||
|
||||
Palm C/C++ compiler.
|
||||
Palm C/{CPP} compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`_PACC_VER`] [__predef_detection__]]
|
||||
| `+_PACC_VER+` | {predef_detection}
|
||||
|
||||
[[`_PACC_VER`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+_PACC_VER+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_PALM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,19 +11,20 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_PGI`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_PGI`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/The_Portland_Group Portland Group C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/The_Portland_Group[Portland Group C/{CPP}] compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__PGI`] [__predef_detection__]]
|
||||
| `+__PGI+` | {predef_detection}
|
||||
|
||||
[[`__PGIC__`, `__PGIC_MINOR__`, `__PGIC_PATCHLEVEL__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__PGIC__+`, `+__PGIC_MINOR__+`, `+__PGIC_PATCHLEVEL__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_PGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,22 +11,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_SGI`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+_SGI_COMPILER_VERSION+` | V.R.P
|
||||
| `+_COMPILER_VERSION+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,24 +11,25 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_SUNPRO`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__SUNPRO_CC+` | V.R.P
|
||||
| `+__SUNPRO_C+` | V.R.P
|
||||
| `+__SUNPRO_CC+` | VV.RR.P
|
||||
| `+__SUNPRO_C+` | VV.RR.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_SUNPRO BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_TENDRA`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_TENDRA`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/TenDRA_Compiler TenDRA C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/TenDRA_Compiler[TenDRA C/{CPP}] compiler.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__TenDRA__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__TenDRA__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_TENDRA BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -15,25 +15,26 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_MSVC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_MSVC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Visual_studio Microsoft Visual C/C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Visual_studio[Microsoft Visual C/{CPP}] compiler.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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.]
|
||||
*/
|
||||
compiler version number directly, i.e. the _MSC_VER number.
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_MSVC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_COMP_WATCOM`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_COMP_WATCOM`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Watcom Watcom C++] compiler.
|
||||
http://en.wikipedia.org/wiki/Watcom[Watcom {CPP}] compiler.
|
||||
Version number available as major, and minor.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__WATCOMC__`] [__predef_detection__]]
|
||||
| `+__WATCOMC__+` | {predef_detection}
|
||||
|
||||
[[`__WATCOMC__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__WATCOMC__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_COMP_WATCOM BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
/*
|
||||
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
|
@ -16,55 +16,104 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
/*`
|
||||
[section Using the `BOOST_HW_SIMD_*` predefs]
|
||||
[include ../doc/hardware_simd.qbk]
|
||||
[endsect]
|
||||
/* tag::reference[]
|
||||
= Using the `BOOST_HW_SIMD_*` predefs
|
||||
|
||||
[/ --------------------------- ]
|
||||
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.
|
||||
|
||||
[section `BOOST_HW_SIMD_*`]
|
||||
NOTE: SSE(1) and SSE2 are automatically enabled by default when using x86-64
|
||||
architecture.
|
||||
|
||||
[heading `BOOST_HW_SIMD`]
|
||||
To check if any SIMD extension has been enabled, you can use:
|
||||
|
||||
The SIMD extension detected for a specific architectures.
|
||||
Version number depends on the detected extension.
|
||||
[source]
|
||||
----
|
||||
#include <boost/predef/hardware/simd.h>
|
||||
#include <iostream>
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
int main()
|
||||
{
|
||||
#if defined(BOOST_HW_SIMD_AVAILABLE)
|
||||
std::cout << "SIMD detected!" << std::endl;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
----
|
||||
|
||||
[[`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__]]
|
||||
]
|
||||
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.
|
||||
|
||||
[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]
|
||||
To check if an extension has been enabled:
|
||||
|
||||
[endsect]
|
||||
[source]
|
||||
----
|
||||
#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;
|
||||
}
|
||||
----
|
||||
|
||||
[section `BOOST_HW_SIMD_X86_*_VERSION`]
|
||||
[include ../include/boost/predef/hardware/simd/x86/versions.h]
|
||||
[endsect]
|
||||
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_AMD_*_VERSION`]
|
||||
[include ../include/boost/predef/hardware/simd/x86_amd/versions.h]
|
||||
[endsect]
|
||||
To *"strictly"* check the most recent detected extension:
|
||||
|
||||
[section `BOOST_HW_SIMD_ARM_*_VERSION`]
|
||||
[include ../include/boost/predef/hardware/simd/arm/versions.h]
|
||||
[endsect]
|
||||
[source]
|
||||
----
|
||||
#include <boost/predef/hardware/simd.h>
|
||||
#include <iostream>
|
||||
|
||||
[section `BOOST_HW_SIMD_PPC_*_VERSION`]
|
||||
[include ../include/boost/predef/hardware/simd/ppc/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;
|
||||
}
|
||||
----
|
||||
|
||||
*/
|
||||
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!
|
||||
|
@ -12,31 +12,33 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/hardware/simd/arm/versions.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_ARM`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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}
|
||||
|===
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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
|
||||
|
||||
|
@ -11,22 +11,28 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
/*`
|
||||
Those defines represent ARM SIMD extensions versions.
|
||||
/* tag::reference[]
|
||||
= `BOOST_HW_SIMD_ARM_*_VERSION`
|
||||
|
||||
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.]
|
||||
*/
|
||||
Those defines represent ARM SIMD extensions versions.
|
||||
|
||||
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_ARM`.
|
||||
*/ // end::reference[]
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_ARM_NEON_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *1.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_ARM_NEON_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
/* tag::reference[]
|
||||
|
||||
*/ // end::reference[]
|
||||
|
||||
#endif
|
||||
|
@ -12,35 +12,37 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/hardware/simd/ppc/versions.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_PPC`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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}
|
||||
|===
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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
|
||||
|
||||
|
@ -11,41 +11,47 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
/*`
|
||||
Those defines represent Power PC SIMD extensions versions.
|
||||
/* tag::reference[]
|
||||
= `BOOST_HW_SIMD_PPC_*_VERSION`
|
||||
|
||||
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.]
|
||||
*/
|
||||
Those defines represent Power PC SIMD extensions versions.
|
||||
|
||||
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_PPC`.
|
||||
*/ // end::reference[]
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_PPC_VMX_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *1.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_PPC_VMX_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_PPC_VSX_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *1.1.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_PPC_VSX_VERSION BOOST_VERSION_NUMBER(1, 1, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_PPC_QPX_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_HW_SIMD_PPC_QPX_VERSION`
|
||||
|
||||
The QPX powerpc extension version number.
|
||||
The QPX powerpc extension version number.
|
||||
|
||||
Version number is: *2.0.0*.
|
||||
*/
|
||||
Version number is: *2.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_PPC_QPX_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
/* tag::reference[]
|
||||
|
||||
*/ // end::reference[]
|
||||
|
||||
#endif
|
||||
|
@ -12,65 +12,67 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/hardware/simd/x86/versions.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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}
|
||||
|===
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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
|
||||
|
||||
|
@ -11,119 +11,125 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
/*`
|
||||
Those defines represent x86 SIMD extensions versions.
|
||||
/* tag::reference[]
|
||||
= `BOOST_HW_SIMD_X86_*_VERSION`
|
||||
|
||||
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.]
|
||||
*/
|
||||
Those defines represent x86 SIMD extensions versions.
|
||||
|
||||
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86`.
|
||||
*/ // end::reference[]
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_MMX_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *0.99.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_MMX_VERSION BOOST_VERSION_NUMBER(0, 99, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSE_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *1.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSE_VERSION BOOST_VERSION_NUMBER(1, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSE2_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *2.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSE2_VERSION BOOST_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSE3_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *3.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSE3_VERSION BOOST_VERSION_NUMBER(3, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSSE3_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *3.1.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSSE3_VERSION BOOST_VERSION_NUMBER(3, 1, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSE4_1_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *4.1.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSE4_1_VERSION BOOST_VERSION_NUMBER(4, 1, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_SSE4_2_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *4.2.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_SSE4_2_VERSION BOOST_VERSION_NUMBER(4, 2, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AVX_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *5.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_AVX_VERSION BOOST_VERSION_NUMBER(5, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_FMA3_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *5.2.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_FMA3_VERSION BOOST_VERSION_NUMBER(5, 2, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AVX2_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *5.3.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_AVX2_VERSION BOOST_VERSION_NUMBER(5, 3, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_MIC_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *9.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_MIC_VERSION BOOST_VERSION_NUMBER(9, 0, 0)
|
||||
|
||||
/* tag::reference[]
|
||||
|
||||
*/ // end::reference[]
|
||||
|
||||
#endif
|
||||
|
@ -12,42 +12,44 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/hardware/simd/x86_amd/versions.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AMD`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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}
|
||||
|===
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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
|
||||
|
||||
|
@ -11,41 +11,46 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#include <boost/predef/version_number.h>
|
||||
|
||||
/*`
|
||||
Those defines represent x86 (AMD specific) SIMD extensions versions.
|
||||
/* tag::reference[]
|
||||
= `BOOST_HW_SIMD_X86_AMD_*_VERSION`
|
||||
|
||||
[note You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.]
|
||||
*/
|
||||
Those defines represent x86 (AMD specific) SIMD extensions versions.
|
||||
|
||||
NOTE: You *MUST* compare them with the predef `BOOST_HW_SIMD_X86_AMD`.
|
||||
*/ // end::reference[]
|
||||
|
||||
|
||||
// ---------------------------------
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *4.0.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_AMD_SSE4A_VERSION BOOST_VERSION_NUMBER(4, 0, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AMD_FMA4_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *5.1.0*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_AMD_FMA4_VERSION BOOST_VERSION_NUMBER(5, 1, 0)
|
||||
|
||||
/*`
|
||||
[heading `BOOST_HW_SIMD_X86_AMD_XOP_VERSION`]
|
||||
/* tag::reference[]
|
||||
= `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*.
|
||||
*/
|
||||
Version number is: *5.1.1*.
|
||||
*/ // end::reference[]
|
||||
#define BOOST_HW_SIMD_X86_AMD_XOP_VERSION BOOST_VERSION_NUMBER(5, 1, 1)
|
||||
|
||||
/* tag::reference[]
|
||||
|
||||
*/ // end::reference[]
|
||||
|
||||
#endif
|
||||
|
@ -11,21 +11,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_CUDA`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LANG_CUDA`
|
||||
|
||||
[@https://en.wikipedia.org/wiki/CUDA CUDA C/C++] language.
|
||||
https://en.wikipedia.org/wiki/CUDA[CUDA C/{CPP}] language.
|
||||
If available, the version is detected as VV.RR.P.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__CUDACC__`] [__predef_detection__]]
|
||||
[[`__CUDA__`] [__predef_detection__]]
|
||||
| `+__CUDACC__+` | {predef_detection}
|
||||
| `+__CUDA__+` | {predef_detection}
|
||||
|
||||
[[`CUDA_VERSION`] [VV.RR.P]]
|
||||
]
|
||||
*/
|
||||
| `CUDA_VERSION` | VV.RR.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_CUDA BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,17 +11,18 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_OBJC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LANG_OBJC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Objective-C Objective-C] language.
|
||||
http://en.wikipedia.org/wiki/Objective-C[Objective-C] language.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__OBJC__`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__OBJC__+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_OBJC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,20 +11,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_STDC`]
|
||||
/* tag::reference[]
|
||||
= `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 Epoc 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 Epoch date.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__STDC__`] [__predef_detection__]]
|
||||
| `+__STDC__+` | {predef_detection}
|
||||
|
||||
[[`__STDC_VERSION__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__STDC_VERSION__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_STDC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -11,29 +11,34 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_STDCPP`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LANG_STDCPP`
|
||||
|
||||
[@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
|
||||
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
|
||||
defined version year will not be the commonly known year of the standard.
|
||||
Specifically the defined versions are:
|
||||
|
||||
[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]]
|
||||
]
|
||||
.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
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__cplusplus`] [__predef_detection__]]
|
||||
| `+__cplusplus+` | {predef_detection}
|
||||
|
||||
[[`__cplusplus`] [YYYY.MM.1]]
|
||||
]
|
||||
*/
|
||||
| `+__cplusplus+` | YYYY.MM.1
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_STDCPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -52,20 +57,21 @@ Specifically the defined versions are:
|
||||
|
||||
#define BOOST_LANG_STDCPP_NAME "Standard C++"
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_STDCPPCLI`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LANG_STDCPPCLI`
|
||||
|
||||
[@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.
|
||||
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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__cplusplus_cli`] [__predef_detection__]]
|
||||
| `+__cplusplus_cli+` | {predef_detection}
|
||||
|
||||
[[`__cplusplus_cli`] [YYYY.MM.1]]
|
||||
]
|
||||
*/
|
||||
| `+__cplusplus_cli+` | YYYY.MM.1
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_STDCPPCLI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
@ -84,17 +90,18 @@ If available, the year of the standard is detected as YYYY.MM.1 from the Epoc da
|
||||
|
||||
#define BOOST_LANG_STDCPPCLI_NAME "Standard C++/CLI"
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LANG_STDECPP`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LANG_STDECPP`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Embedded_C%2B%2B Standard Embedded C++] language.
|
||||
http://en.wikipedia.org/wiki/Embedded_C%2B%2B[Standard Embedded {CPP}] language.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__embedded_cplusplus`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `+__embedded_cplusplus+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LANG_STDECPP BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -18,20 +18,21 @@
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_C_CLOUDABI`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__cloudlibc__`] [__predef_detection__]]
|
||||
| `+__cloudlibc__+` | {predef_detection}
|
||||
|
||||
[[`__cloudlibc_major__`, `__cloudlibc_minor__`] [V.R.0]]
|
||||
]
|
||||
*/
|
||||
| `+__cloudlibc_major__+`, `+__cloudlibc_minor__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_C_CLOUDABI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -19,22 +19,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <cstddef>
|
||||
#endif
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_C_GNU`]
|
||||
/* tag::reference[]
|
||||
= `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.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__GLIBC__+`, `+__GLIBC_MINOR__+` | V.R.0
|
||||
| `+__GNU_LIBRARY__+`, `+__GNU_LIBRARY_MINOR__+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_C_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,19 +13,20 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_C_UC`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_C_UC`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Uclibc uClibc] Standard C library.
|
||||
http://en.wikipedia.org/wiki/Uclibc[uClibc] Standard C library.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__UCLIBC__`] [__predef_detection__]]
|
||||
| `+__UCLIBC__+` | {predef_detection}
|
||||
|
||||
[[`__UCLIBC_MAJOR__`, `__UCLIBC_MINOR__`, `__UCLIBC_SUBLEVEL__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__UCLIBC_MAJOR__+`, `+__UCLIBC_MINOR__+`, `+__UCLIBC_SUBLEVEL__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_C_UC BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_C_VMS`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_C_VMS`
|
||||
|
||||
VMS libc Standard C library.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__CRTL_VER`] [__predef_detection__]]
|
||||
| `+__CRTL_VER+` | {predef_detection}
|
||||
|
||||
[[`__CRTL_VER`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__CRTL_VER+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_C_VMS BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_C_ZOS`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_C_ZOS`
|
||||
|
||||
z/OS libc Standard C library.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__LIBREL__`] [__predef_detection__]]
|
||||
| `+__LIBREL__+` | {predef_detection}
|
||||
|
||||
[[`__LIBREL__`] [V.R.P]]
|
||||
[[`__TARGET_LIB__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__LIBREL__+` | V.R.P
|
||||
| `+__TARGET_LIB__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_C_ZOS BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,25 +13,26 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_CXX`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_CXX`
|
||||
|
||||
[@http://libcxx.llvm.org/ libc++] C++ Standard Library.
|
||||
http://libcxx.llvm.org/[libc++] {CPP} Standard Library.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`_LIBCPP_VERSION`] [__predef_detection__]]
|
||||
| `+_LIBCPP_VERSION+` | {predef_detection}
|
||||
|
||||
[[`_LIBCPP_VERSION`] [V.0.P]]
|
||||
]
|
||||
*/
|
||||
| `+_LIBCPP_VERSION+` | V.0.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#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_VPPP(_LIBCPP_VERSION)
|
||||
# define BOOST_LIB_STD_CXX BOOST_PREDEF_MAKE_10_VVPPP(_LIBCPP_VERSION)
|
||||
#endif
|
||||
|
||||
#if BOOST_LIB_STD_CXX
|
||||
|
@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_DINKUMWARE`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_DINKUMWARE`
|
||||
|
||||
[@http://en.wikipedia.org/wiki/Dinkumware Dinkumware] Standard C++ Library.
|
||||
http://en.wikipedia.org/wiki/Dinkumware[Dinkumware] Standard {CPP} Library.
|
||||
If available version number as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+_CPPLIB_VER+` | V.R.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_DINKUMWARE BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_COMO`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_COMO`
|
||||
|
||||
[@http://www.comeaucomputing.com/libcomo/ Comeau Computing] Standard C++ Library.
|
||||
http://www.comeaucomputing.com/libcomo/[Comeau Computing] Standard {CPP} Library.
|
||||
Version number available as major.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__LIBCOMO__`] [__predef_detection__]]
|
||||
| `+__LIBCOMO__+` | {predef_detection}
|
||||
|
||||
[[`__LIBCOMO_VERSION__`] [V.0.0]]
|
||||
]
|
||||
*/
|
||||
| `+__LIBCOMO_VERSION__+` | V.0.0
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_COMO BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,18 +13,19 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_MSIPL`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_MSIPL`
|
||||
|
||||
[@http://modena.us/ Modena Software Lib++] Standard C++ Library.
|
||||
http://modena.us/[Modena Software Lib++] Standard {CPP} Library.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`MSIPL_COMPILE_H`] [__predef_detection__]]
|
||||
[[`__MSIPL_COMPILE_H`] [__predef_detection__]]
|
||||
]
|
||||
*/
|
||||
| `MSIPL_COMPILE_H` | {predef_detection}
|
||||
| `+__MSIPL_COMPILE_H+` | {predef_detection}
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_MSIPL BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,22 +13,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_MSL`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_MSL`
|
||||
|
||||
[@http://www.freescale.com/ Metrowerks] Standard C++ Library.
|
||||
http://www.freescale.com/[Metrowerks] Standard {CPP} Library.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+__MSL_CPP__+` | V.R.P
|
||||
| `+__MSL__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_MSL BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,21 +13,22 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_RW`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_RW`
|
||||
|
||||
[@http://stdcxx.apache.org/ Roguewave] Standard C++ library.
|
||||
http://stdcxx.apache.org/[Roguewave] Standard {CPP} library.
|
||||
If available version number as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+_RWSTD_VER+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_RW BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,20 +13,21 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_SGI`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_SGI`
|
||||
|
||||
[@http://www.sgi.com/tech/stl/ SGI] Standard C++ library.
|
||||
http://www.sgi.com/tech/stl/[SGI] Standard {CPP} library.
|
||||
If available version number as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__STL_CONFIG_H`] [__predef_detection__]]
|
||||
| `+__STL_CONFIG_H+` | {predef_detection}
|
||||
|
||||
[[`__SGI_STL`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__SGI_STL+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_SGI BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,22 +13,23 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_GNU`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_GNU`
|
||||
|
||||
[@http://gcc.gnu.org/libstdc++/ GNU libstdc++] Standard C++ library.
|
||||
https://gcc.gnu.org/onlinedocs/libstdc%2b%2b/[GNU libstdc++] Standard {CPP} library.
|
||||
Version number available as year (from 1970), month, and day.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {predef_symbol} | {predef_version}
|
||||
|
||||
[[`__GLIBCXX__`] [__predef_detection__]]
|
||||
[[`__GLIBCPP__`] [__predef_detection__]]
|
||||
| `+__GLIBCXX__+` | {predef_detection}
|
||||
| `+__GLIBCPP__+` | {predef_detection}
|
||||
|
||||
[[`__GLIBCXX__`] [V.R.P]]
|
||||
[[`__GLIBCPP__`] [V.R.P]]
|
||||
]
|
||||
*/
|
||||
| `+__GLIBCXX__+` | V.R.P
|
||||
| `+__GLIBCPP__+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_GNU BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
@ -13,23 +13,24 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||
#include <boost/predef/version_number.h>
|
||||
#include <boost/predef/make.h>
|
||||
|
||||
/*`
|
||||
[heading `BOOST_LIB_STD_STLPORT`]
|
||||
/* tag::reference[]
|
||||
= `BOOST_LIB_STD_STLPORT`
|
||||
|
||||
[@http://sourceforge.net/projects/stlport/ STLport Standard C++] library.
|
||||
http://sourceforge.net/projects/stlport/[STLport Standard {CPP}] library.
|
||||
Version number available as major, minor, and patch.
|
||||
|
||||
[table
|
||||
[[__predef_symbol__] [__predef_version__]]
|
||||
[options="header"]
|
||||
|===
|
||||
| {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]]
|
||||
]
|
||||
*/
|
||||
| `+_STLPORT_MAJOR+`, `+_STLPORT_MINOR+`, `+_STLPORT_PATCHLEVEL+` | V.R.P
|
||||
| `+_STLPORT_VERSION+` | V.R.P
|
||||
| `+__SGI_STL_PORT+` | V.R.P
|
||||
|===
|
||||
*/ // end::reference[]
|
||||
|
||||
#define BOOST_LIB_STD_STLPORT BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user