Compare commits

..

1 Commits

Author SHA1 Message Date
b287244527 Release 1.51.0
[SVN r80098]
2012-08-20 22:07:05 +00:00
455 changed files with 4529 additions and 122573 deletions

View File

@ -1,52 +0,0 @@
# Use, modification, and distribution are
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE.txt)
#
# Copyright Rene Rivera 2020.
# For Drone CI we use the Starlark scripting language to reduce duplication.
# As the yaml syntax for Drone CI is rather limited.
#
#
globalenv={}
linuxglobalimage="cppalliance/droneubuntu1604:1"
windowsglobalimage="cppalliance/dronevs2019"
def main(ctx):
return [
linux_cxx("TOOLSET=gcc COMPILER=g++ CXXSTD=03,11 Job 0", "g++", packages="", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'b6589fc6ab'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98 Job 1", "g++", packages="g++-4.4", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.4', 'CXXSTD': '98', 'DRONE_JOB_UUID': '356a192b79'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x Job 2", "g++", packages="g++-4.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.6', 'CXXSTD': '03,0x', 'DRONE_JOB_UUID': 'da4b9237ba'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11 Job 3", "g++-4.7", packages="g++-4.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.7', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '77de68daec'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11 Job 4", "g++-4.8", packages="g++-4.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.8', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '1b64538924'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11 Job 5", "g++-4.9", packages="g++-4.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-4.9', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'ac3478d69a'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z Job 6", "g++-5", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-5', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'c1dfd96eea'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z Job 7", "g++-6", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-6', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '902ba3cda1'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17 Job 8", "g++-7", packages="g++-7", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-7', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'fe5dbbcea5'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17 Job 9", "g++-8", packages="g++-8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-8', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '0ade7c2cf9'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17 Job 10", "g++-9", packages="g++-9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-9', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'b1d5781111'}, globalenv=globalenv),
linux_cxx("TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,1 Job 11", "g++-10", packages="g++-10", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1804:1", environment={'TOOLSET': 'gcc', 'COMPILER': 'g++-10', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': '17ba079149'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++ CXXSTD=03,11 Job 12", "clang++", packages="", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': '7b52009b64'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 13", "/usr/bin/clang++", packages="clang-3.3", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': '/usr/bin/clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'bd307a3ec3'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=/usr/bin/clang++ CXXST Job 14", "/usr/bin/clang++", packages="clang-3.4", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': '/usr/bin/clang++', 'CXXSTD': '03,11', 'DRONE_JOB_UUID': 'fa35e19212'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03, Job 15", "clang++", packages="clang-3.5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.5', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'f1abd67035'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03, Job 16", "clang++", packages="clang-3.6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.6', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '1574bddb75'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03, Job 17", "clang++", packages="clang-3.7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.7', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '0716d9708d'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03, Job 18", "clang++-3.8", packages="clang-3.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.8', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '9e6a55b6b4'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03, Job 19", "clang++-3.9", packages="clang-3.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-3.9', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'b3f0c7f6bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03, Job 20", "clang++-4.0", packages="clang-4.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-4.0', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '91032ad7bb'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03, Job 21", "clang++-5.0", packages="clang-5.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-5.0', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '472b07b9fc'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03, Job 22", "clang++-6.0", packages="clang-6.0", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-6.0', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '12c6fc06c9'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11 Job 23", "clang++-7", packages="clang-7", llvm_os="xenial", llvm_ver="7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-7', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': 'd435a6cdd7'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11 Job 24", "clang++-8", packages="clang-8", llvm_os="xenial", llvm_ver="8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-8', 'CXXSTD': '03,11,14,17', 'DRONE_JOB_UUID': '4d134bc072'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11 Job 25", "clang++-9", packages="clang-9", llvm_os="xenial", llvm_ver="9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-9', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': 'f6e1126ced'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,1 Job 26", "clang++-10", packages="clang-10", llvm_os="xenial", llvm_ver="10", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-10', 'CXXSTD': '03,11,14,17,2a', 'DRONE_JOB_UUID': '887309d048'}, globalenv=globalenv),
linux_cxx("TOOLSET=clang COMPILER=clang++-libc++ CXXSTD= Job 27", "clang++-libc++", packages="libc++-dev", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu1404:1", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++-libc++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': 'bc33ea4e26'}, globalenv=globalenv),
osx_cxx("TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,1 Job 28", "clang++", packages="", buildtype="boost", buildscript="drone", environment={'TOOLSET': 'clang', 'COMPILER': 'clang++', 'CXXSTD': '03,11,14,1z', 'DRONE_JOB_UUID': '0a57cb53ba'}, globalenv=globalenv),
linux_cxx("CMAKE_TEST=1 Job 29", "g++", packages="", buildtype="cmake-test-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_TEST': '1', 'DRONE_JOB_UUID': '7719a1c782'}, globalenv=globalenv),
linux_cxx("CMAKE_SUBDIR_TEST=1 Job 30", "g++", packages="", buildtype="cmake-subdir-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_SUBDIR_TEST': '1', 'DRONE_JOB_UUID': '22d200f867'}, globalenv=globalenv),
linux_cxx("CMAKE_INSTALL_TEST=1 Job 31", "g++", packages="", buildtype="cmake-install-script", buildscript="drone", image=linuxglobalimage, environment={'CMAKE_INSTALL_TEST': '1', 'DRONE_JOB_UUID': '632667547e'}, globalenv=globalenv),
]
# from https://github.com/boostorg/boost-ci
load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx")

View File

@ -1,88 +0,0 @@
#!/bin/bash
set -ex
export TRAVIS_BUILD_DIR=$(pwd)
export DRONE_BUILD_DIR=$(pwd)
export TRAVIS_BRANCH=$DRONE_BRANCH
export VCS_COMMIT_ID=$DRONE_COMMIT
export GIT_COMMIT=$DRONE_COMMIT
export REPO_NAME=$DRONE_REPO
export PATH=~/.local/bin:/usr/local/bin:$PATH
if [ "$DRONE_JOB_BUILDTYPE" == "boost" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
./b2 libs/preprocessor/test -j 3 toolset=$TOOLSET cxxstd=$CXXSTD $ADDRMD
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-install-script" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
mkdir __build__ && cd __build__
cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build . --target install
cd ../libs/preprocessor/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build .
cmake --build . --target check
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-subdir-script" ]; then
echo '==================================> INSTALL'
true
echo '==================================> SCRIPT'
cd test/cmake_subdir_test && mkdir __build__ && cd __build__
cmake ..
cmake --build .
cmake --build . --target check
elif [ "$DRONE_JOB_BUILDTYPE" == "cmake-test-script" ]; then
echo '==================================> INSTALL'
BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
git submodule update --init tools/boostdep
cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
python tools/boostdep/depinst/depinst.py preprocessor
./bootstrap.sh
./b2 headers
echo '==================================> SCRIPT'
mkdir __build__ && cd __build__
cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
ctest --output-on-failure -R boost_preprocessor
fi

View File

@ -1,643 +0,0 @@
name: CI
on:
pull_request:
push:
branches:
- master
- develop
- feature/**
env:
UBSAN_OPTIONS: print_stacktrace=1
jobs:
posix:
strategy:
fail-fast: false
matrix:
include:
- toolset: gcc-4.8
cxxstd: "03,11"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-4.8
- toolset: gcc-5
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-5
- toolset: gcc-6
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-6
- toolset: gcc-7
cxxstd: "03,11,14,17"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-7
- toolset: gcc-8
cxxstd: "03,11,14,17,2a"
container: ubuntu:18.04
os: ubuntu-latest
install: g++-8
- toolset: gcc-9
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
- toolset: gcc-10
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: g++-10
- toolset: gcc-11
cxxstd: "03,11,14,17,2a"
os: ubuntu-22.04
install: g++-11
- toolset: gcc-12
cxxstd: "03,11,14,17,20,2b"
os: ubuntu-22.04
install: g++-12
- toolset: gcc-13
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-13
- toolset: gcc-14
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: g++-14
- toolset: clang
compiler: clang++-3.9
cxxstd: "03,11,14"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-3.9
- toolset: clang
compiler: clang++-4.0
cxxstd: "03,11,14"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-4.0
- toolset: clang
compiler: clang++-5.0
cxxstd: "03,11,14,1z"
container: ubuntu:18.04
os: ubuntu-latest
install: clang-5.0
- toolset: clang
compiler: clang++-6.0
cxxstd: "03,11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-6.0
- toolset: clang
compiler: clang++-7
cxxstd: "03,11,14,17"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-7
- toolset: clang
compiler: clang++-8
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-8
- toolset: clang
compiler: clang++-9
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-9
- toolset: clang
compiler: clang++-10
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-10
- toolset: clang
compiler: clang++-11
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-11
- toolset: clang
compiler: clang++-12
cxxstd: "03,11,14,17,2a"
container: ubuntu:20.04
os: ubuntu-latest
install: clang-12
- toolset: clang
compiler: clang++-13
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-13
- toolset: clang
compiler: clang++-14
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-14
- toolset: clang
compiler: clang++-15
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:22.04
os: ubuntu-latest
install: clang-15
- toolset: clang
compiler: clang++-16
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-16
- toolset: clang
compiler: clang++-17
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-17
- toolset: clang
compiler: clang++-18
cxxstd: "03,11,14,17,20,2b"
container: ubuntu:24.04
os: ubuntu-latest
install: clang-18
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-13
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-14
- toolset: clang
cxxstd: "03,11,14,17,20,2b"
os: macos-15
runs-on: ${{matrix.os}}
container:
image: ${{matrix.container}}
volumes:
- /node20217:/node20217:rw,rshared
- ${{ startsWith(matrix.container, 'ubuntu:1') && '/node20217:/__e/node20:ro,rshared' || ' ' }}
defaults:
run:
shell: bash
steps:
- name: Setup container environment
if: matrix.container
run: |
apt-get update
apt-get -y install sudo python3 git g++ curl xz-utils
- name: Install nodejs20glibc2.17
if: ${{ startsWith( matrix.container, 'ubuntu:1' ) }}
run: |
curl -LO https://archives.boost.io/misc/node/node-v20.9.0-linux-x64-glibc-217.tar.xz
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
ldd /__e/node20/bin/node
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: |
sudo apt-get update
sudo apt-get -y install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python3 tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
./bootstrap.sh
./b2 -d0 headers
- name: Create user-config.jam
if: matrix.compiler
run: |
echo "using ${{matrix.toolset}} : : ${{matrix.compiler}} ;" > ~/user-config.jam
- name: Run tests
run: |
cd ../boost-root
./b2 -j3 libs/$LIBRARY/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} variant=debug,release
windows:
strategy:
fail-fast: false
matrix:
include:
- toolset: msvc-14.0
cxxstd: "14,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.2
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2019
- toolset: msvc-14.3
cxxstd: "14,17,20,latest"
addrmd: 32,64
os: windows-2022
- toolset: clang-win
cxxstd: "14,17,latest"
addrmd: 32,64
os: windows-2022
- toolset: gcc
cxxstd: "03,11,14,17,2a"
addrmd: 64
os: windows-2022
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
cmd /c bootstrap
b2 -d0 headers
- name: Run tests
shell: cmd
run: |
cd ../boost-root
b2 -j3 libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release embed-manifest-via=linker
posix-cmake-subdir:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt-get -y install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Use library with add_subdirectory
run: |
cd ../boost-root/libs/$LIBRARY/test/cmake_subdir_test
mkdir __build__ && cd __build__
cmake ..
cmake --build .
ctest --output-on-failure --no-tests=error
posix-cmake-install:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt-get -y install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Configure
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DCMAKE_INSTALL_PREFIX=~/.local ..
- name: Install
run: |
cd ../boost-root/__build__
cmake --build . --target install
- name: Use the installed library
run: |
cd ../boost-root/libs/$LIBRARY/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
cmake --build .
ctest --output-on-failure --no-tests=error
posix-cmake-test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
- os: macos-13
- os: macos-14
- os: macos-15
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Install packages
if: matrix.install
run: sudo apt-get -y install ${{matrix.install}}
- name: Setup Boost
run: |
echo GITHUB_REPOSITORY: $GITHUB_REPOSITORY
LIBRARY=${GITHUB_REPOSITORY#*/}
echo LIBRARY: $LIBRARY
echo "LIBRARY=$LIBRARY" >> $GITHUB_ENV
echo GITHUB_BASE_REF: $GITHUB_BASE_REF
echo GITHUB_REF: $GITHUB_REF
REF=${GITHUB_BASE_REF:-$GITHUB_REF}
REF=${REF#refs/heads/}
echo REF: $REF
BOOST_BRANCH=develop && [ "$REF" == "master" ] && BOOST_BRANCH=master || true
echo BOOST_BRANCH: $BOOST_BRANCH
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/$LIBRARY
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" $LIBRARY
- name: Configure
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=$LIBRARY -DBUILD_TESTING=ON ..
- name: Build tests
run: |
cd ../boost-root/__build__
cmake --build . --target tests
- name: Run tests
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error
windows-cmake-subdir:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
- os: windows-2025
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Use library with add_subdirectory (Debug)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test
mkdir __build__ && cd __build__
cmake ..
cmake --build . --config Debug
ctest --output-on-failure --no-tests=error -C Debug
- name: Use library with add_subdirectory (Release)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_subdir_test/__build__
cmake --build . --config Release
ctest --output-on-failure --no-tests=error -C Release
windows-cmake-install:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
- os: windows-2025
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Configure
shell: cmd
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
- name: Install (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target install --config Debug
- name: Install (Release)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target install --config Release
- name: Use the installed library (Debug)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test && mkdir __build__ && cd __build__
cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
cmake --build . --config Debug
ctest --output-on-failure --no-tests=error -C Debug
- name: Use the installed library (Release)
shell: cmd
run: |
cd ../boost-root/libs/%LIBRARY%/test/cmake_install_test/__build__
cmake --build . --config Release
ctest --output-on-failure --no-tests=error -C Release
windows-cmake-test:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
- os: windows-2025
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Setup Boost
shell: cmd
run: |
echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY%
for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi
echo LIBRARY: %LIBRARY%
echo LIBRARY=%LIBRARY%>>%GITHUB_ENV%
echo GITHUB_BASE_REF: %GITHUB_BASE_REF%
echo GITHUB_REF: %GITHUB_REF%
if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF%
set BOOST_BRANCH=develop
for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master
echo BOOST_BRANCH: %BOOST_BRANCH%
cd ..
git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" %LIBRARY%
- name: Configure
shell: cmd
run: |
cd ../boost-root
mkdir __build__ && cd __build__
cmake -DBOOST_INCLUDE_LIBRARIES=%LIBRARY% -DBUILD_TESTING=ON ..
- name: Build tests (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target tests --config Debug
- name: Run tests (Debug)
shell: cmd
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error -C Debug
- name: Build tests (Release)
shell: cmd
run: |
cd ../boost-root/__build__
cmake --build . --target tests --config Release
- name: Run tests (Release)
shell: cmd
run: |
cd ../boost-root/__build__
ctest --output-on-failure --no-tests=error -C Release

View File

@ -1,348 +0,0 @@
# Copyright 2016-2019 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
language: cpp
dist: xenial
branches:
only:
- master
- develop
- /feature\/.*/
env:
matrix:
- BOGUS_JOB=true
matrix:
exclude:
- env: BOGUS_JOB=true
include:
- os: linux
compiler: g++
env: TOOLSET=gcc COMPILER=g++ CXXSTD=03,11
- os: linux
compiler: g++-4.4
env: TOOLSET=gcc COMPILER=g++-4.4 CXXSTD=98
addons:
apt:
packages:
- g++-4.4
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.6
env: TOOLSET=gcc COMPILER=g++-4.6 CXXSTD=03,0x
addons:
apt:
packages:
- g++-4.6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.7
env: TOOLSET=gcc COMPILER=g++-4.7 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.8
env: TOOLSET=gcc COMPILER=g++-4.8 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-4.9
env: TOOLSET=gcc COMPILER=g++-4.9 CXXSTD=03,11
addons:
apt:
packages:
- g++-4.9
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-5
env: TOOLSET=gcc COMPILER=g++-5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-5
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-6
env: TOOLSET=gcc COMPILER=g++-6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- g++-6
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: trusty
compiler: g++-7
env: TOOLSET=gcc COMPILER=g++-7 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-8
env: TOOLSET=gcc COMPILER=g++-8 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: g++-9
env: TOOLSET=gcc COMPILER=g++-9 CXXSTD=03,11,14,17
addons:
apt:
packages:
- g++-9
sources:
- ubuntu-toolchain-r-test
- os: linux
dist: bionic
compiler: g++-10
env: TOOLSET=gcc COMPILER=g++-10 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- g++-10
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11
- os: linux
dist: trusty
compiler: /usr/bin/clang++
env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
addons:
apt:
packages:
- clang-3.3
- os: linux
dist: trusty
compiler: /usr/bin/clang++
env: TOOLSET=clang COMPILER=/usr/bin/clang++ CXXSTD=03,11
addons:
apt:
packages:
- clang-3.4
- os: linux
compiler: clang++-3.5
env: TOOLSET=clang COMPILER=clang++-3.5 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.5
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.6
env: TOOLSET=clang COMPILER=clang++-3.6 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.6
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.7
env: TOOLSET=clang COMPILER=clang++-3.7 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.7
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.8
env: TOOLSET=clang COMPILER=clang++-3.8 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.8
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-3.9
env: TOOLSET=clang COMPILER=clang++-3.9 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-3.9
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-4.0
env: TOOLSET=clang COMPILER=clang++-4.0 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-4.0
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-5.0
env: TOOLSET=clang COMPILER=clang++-5.0 CXXSTD=03,11,14,1z
addons:
apt:
packages:
- clang-5.0
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-6.0
env: TOOLSET=clang COMPILER=clang++-6.0 CXXSTD=03,11,14,17
addons:
apt:
packages:
- clang-6.0
sources:
- ubuntu-toolchain-r-test
- os: linux
compiler: clang++-7
env: TOOLSET=clang COMPILER=clang++-7 CXXSTD=03,11,14,17
addons:
apt:
packages:
- clang-7
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-7
- os: linux
compiler: clang++-8
env: TOOLSET=clang COMPILER=clang++-8 CXXSTD=03,11,14,17
addons:
apt:
packages:
- clang-8
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-xenial-8
- os: linux
compiler: clang++-9
env: TOOLSET=clang COMPILER=clang++-9 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-9
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
- os: linux
compiler: clang++-10
env: TOOLSET=clang COMPILER=clang++-10 CXXSTD=03,11,14,17,2a
addons:
apt:
packages:
- clang-10
sources:
- ubuntu-toolchain-r-test
- sourceline: 'deb https://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main'
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
- os: linux
dist: trusty
compiler: clang++-libc++
env: TOOLSET=clang COMPILER=clang++-libc++ CXXSTD=03,11,14,1z
addons:
apt:
packages:
- libc++-dev
- os: osx
compiler: clang++
env: TOOLSET=clang COMPILER=clang++ CXXSTD=03,11,14,1z
- os: linux
env: CMAKE_TEST=1
script:
- mkdir __build__ && cd __build__
- cmake -DBUILD_TESTING=ON -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
- cmake --build . --target tests
- ctest --output-on-failure
- os: linux
env: CMAKE_SUBDIR_TEST=1
install: true
script:
- cd test/cmake_subdir_test && mkdir __build__ && cd __build__
- cmake ..
- cmake --build .
- cmake --build . --target check
- os: linux
env: CMAKE_INSTALL_TEST=1
script:
- pip install --user cmake
- mkdir __build__ && cd __build__
- cmake -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=~/.local ..
- cmake --build . --target install
- cd ../libs/preprocessor/test/cmake_install_test && mkdir __build__ && cd __build__
- cmake -DCMAKE_INSTALL_PREFIX=~/.local ..
- cmake --build .
- cmake --build . --target check
install:
- BOOST_BRANCH=develop && [ "$TRAVIS_BRANCH" == "master" ] && BOOST_BRANCH=master || true
- cd ..
- git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
- python tools/boostdep/depinst/depinst.py preprocessor
- ./bootstrap.sh
- ./b2 headers
script:
- |-
echo "using $TOOLSET : : $COMPILER ;" > ~/user-config.jam
- ./b2 libs/preprocessor/test -j 3 toolset=$TOOLSET cxxstd=$CXXSTD $ADDRMD
notifications:
email:
on_success: always

View File

@ -1,18 +0,0 @@
# Copyright 2019 Peter Dimov
# 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
cmake_minimum_required(VERSION 3.5...3.16)
project(boost_preprocessor VERSION "${BOOST_SUPERPROJECT_VERSION}" LANGUAGES CXX)
add_library(boost_preprocessor INTERFACE)
add_library(Boost::preprocessor ALIAS boost_preprocessor)
target_include_directories(boost_preprocessor INTERFACE include)
if(BUILD_TESTING)
add_subdirectory(test)
endif()

View File

@ -1,123 +0,0 @@
# Copyright 2017 Edward Diener
# Copyright 2018 Mike Dev
# Copyright 2019 Peter Dimov
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)
version: 1.0.{build}-{branch}
shallow_clone: true
configuration:
- boost_build_test
- cmake_test
- cmake_subdir_test
- cmake_install_test
branches:
only:
- master
- develop
- /feature\/.*/
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-10.0
ADDRMD: 32
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-11.0
ADDRMD: 32
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-12.0
ADDRMD: 32,64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0
ADDRMD: 32,64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1
ADDRMD: 32,64
CXXSTD: 14,17,latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
TOOLSET: msvc-14.2
ADDRMD: 32,64
CXXSTD: 14,17,latest
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
TOOLSET: msvc-14.2
ADDRMD: 32,64
CXXSTD: 14,17,latest
PREPROCESSOR: /Zc:preprocessor
matrix:
exclude:
- configuration: cmake_test
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- configuration: cmake_test
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- configuration: cmake_test
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
build: off
install:
- set BOOST_BRANCH=develop
- if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master
- cd ..
- git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- git submodule update --init tools/boost_install
- git submodule update --init libs/headers
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\preprocessor\
- python tools/boostdep/depinst/depinst.py preprocessor
for:
-
matrix:
only:
- configuration: boost_build_test
test_script:
- bootstrap
- b2 -d0 headers
- if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD%
- if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD%
- if not "%PREPROCESSOR%" == "" set PREPROCESSOR=cflags="%PREPROCESSOR%"
- b2 libs/preprocessor/test -j3 toolset=%TOOLSET% %CXXSTD% %ADDRMD% %PREPROCESSOR% variant=debug,release
-
matrix:
only:
- configuration: cmake_test
test_script:
- mkdir __build__ && cd __build__
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
- ctest --output-on-failure -R boost_preprocessor -C Debug
-
matrix:
only:
- configuration: cmake_subdir_test
test_script:
- cd libs/preprocessor/test/cmake_subdir_test && mkdir __build__ && cd __build__
- cmake ..
- cmake --build .
- cmake --build . --target check
-
matrix:
only:
- configuration: cmake_install_test
test_script:
- mkdir __build__ && cd __build__
- cmake -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
- cmake --build . --target install
- cd ../libs/preprocessor/test/cmake_install_test && mkdir __build__ && cd __build__
- cmake -DCMAKE_INSTALL_PREFIX=C:/cmake-prefix ..
- cmake --build .
- cmake --build . --target check

View File

@ -1,18 +0,0 @@
# Copyright René Ferdinand Rivera Morell 2023-2024
# 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)
require-b2 5.2 ;
project /boost/preprocessor
;
explicit
[ alias boost_preprocessor : : :
: <include>include <library>$(boost_dependencies) ]
[ alias all : boost_preprocessor test ]
;
call-if : boost-library preprocessor
;

File diff suppressed because it is too large Load Diff

View File

@ -1,37 +1,29 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" <title>contents.html</title>
http-equiv="content-type"> <link rel="stylesheet" type="text/css" href="styles.css">
<title>contents.html</title> <style>
<link rel="stylesheet" type="text/css" href="styles.css">
<style>
a, a:link, a:visited { color: black; font-weight: bold; } a, a:link, a:visited { color: black; font-weight: bold; }
</style> </style>
</head> </head>
<body> <body>
<h4><a href="index.html" target="_top">Introduction</a></h4>
<h4><a <h4><a href="http://www.boostpro.com/mplbook/preprocessor.html" target="_top">Introduction</a></h4>
href="AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html" <h4><a href="topics.html">Topics</h4>
target="_top">Basic Intro</a></h4> <h4><a href="terms.html">Terminology</h4>
<a href="topics.html"> </a> <h4><a href="data.html">Data Types</h4>
<h4><a href="topics.html">Topics</a></h4> <h4><a href="ref.html">Reference</h4>
<a href="topics.html"> </a> <h4><a href="headers.html">Headers</h4>
<h4><a href="terms.html">Terminology</a></h4> <h4><a href="examples.html">Examples</h4>
<a href="terms.html"> </a> <h4><a href="miscellanea.html">Miscellanea</h4>
<h4><a href="data.html">Data Types</a></h4>
<a href="data.html"> </a> <!--
<h4><a href="ref.html">Reference</a></h4> <EFBFBD> Copyright Housemarque Oy 2002
<a href="ref.html"> </a> <EFBFBD> Copyright Paul Mensonides 2002
<h4><a href="headers.html">Headers</a></h4> Distributed under the Boost Software License, Version 1.0.
<a href="headers.html"> </a> (See accompanying file LICENSE_1_0.txt or copy at
<h4><a href="examples.html">Examples</a></h4> http://www.boost.org/LICENSE_1_0.txt)
<a href="examples.html"> </a> -->
<h4><a href="miscellanea.html">Miscellanea</a></h4>
<a href="miscellanea.html"> </body>
<!-- </html>
<EFBFBD> Copyright Housemarque Oy 2002<30> Copyright Paul Mensonides 2002
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)--> </a>
</body>
</html>

View File

@ -1,53 +1,53 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>arrays.html</title>
<title>arrays.html</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <h4>Arrays</h4>
<h4>Arrays</h4> <div>
<div> An <i>array</i> is a data structure consisting of a two-element <i>tuple</i>.&nbsp; An <i>array</i> is a data structure consisting of a two-element <i>tuple</i>.&nbsp;
The first element is the number of elements in the <i>array</i>.&nbsp; The first element is the number of elements in the <i>array</i>.&nbsp;
The second element is another <i>tuple</i> of the elements in the <i>array</i>.&nbsp; The second element is another <i>tuple</i> of the elements in the <i>array</i>.&nbsp;
For example, </div> For example,
<div class="code"> (<i>3</i>, (<i>a</i>, <i>b</i>, <i>c</i>)) </div> </div>
<div> ...is an <i>array</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <div class="code">
<i>c</i>. </div> (<i>3</i>, (<i>a</i>, <i>b</i>, <i>c</i>))
<div> The primary strength of <i>arrays</i> is that they store their own </div>
size.&nbsp; Because of this, access to elements does not require the <div>
size.&nbsp; It only requires that an element exists at a certain index. </div> ...is an <i>array</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
<div> This allows macro parameters to be variable in size and allows data </div>
states to change size without the user explicitly keeping track of the <div>
size independently.<br> The primary strength of <i>arrays</i> is that they store their own size.&nbsp;
<br> Because of this, access to elements does not require the size.&nbsp;
An <i>array </i>can be empty and have no elements. An empty array has a It only requires that an element exists at a certain index.
0 size. The notation for an empty array is '(0,())'.<br> </div>
<br> <div>
<span style="font-style: italic;"> </span></div> This allows macro parameters to be variable in size and allows data states to change
<div>A <i>tuple </i>has all of the size without the user explicitly keeping track of the size independently.
functionality as an <i>array</i>, knows its own size, and is easier </div>
syntactically to use. The only advantage an <i>array </i>has over a <i>tuple <div>
</i>is that an <i>array </i>can be empty while a <i>tuple </i>always Elements of an <i>array</i> can be extracted with <b>BOOST_PP_ARRAY_ELEM</b>,
has at least one element and therefore can never have a size of 0.<br> an <i>array's</i> size can be extracted with <b>BOOST_PP_ARRAY_SIZE</b>, and
<br> an <i>array</i> can be converted to the more primitive <i>tuple</i> data structure
Elements of an <i>array</i> can be extracted with <b>BOOST_PP_ARRAY_ELEM</b>, with <b>BOOST_PP_ARRAY_DATA</b>.
an <i>array's</i> size can be extracted with <b>BOOST_PP_ARRAY_SIZE</b>, </div>
and an <i>array</i> can be converted to the more primitive <i>tuple</i> <h4>Primitives</h4>
data structure with <b>BOOST_PP_ARRAY_DATA</b>. </div> <ul>
<h4>Primitives</h4> <li><a href="../ref/array_data.html">BOOST_PP_ARRAY_DATA</a></li>
<ul> <li><a href="../ref/array_elem.html">BOOST_PP_ARRAY_ELEM</a></li>
<li><a href="../ref/array_data.html">BOOST_PP_ARRAY_DATA</a></li> <li><a href="../ref/array_size.html">BOOST_PP_ARRAY_SIZE</a></li>
<li><a href="../ref/array_elem.html">BOOST_PP_ARRAY_ELEM</a></li> </ul>
<li><a href="../ref/array_size.html">BOOST_PP_ARRAY_SIZE</a></li> <hr size="1">
</ul> <div style="margin-left: 0px;">
<hr size="1"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
target="_top">Housemarque Oy</a> 2002</i> <br> </div>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> copy at <a href=
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,42 +1,46 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>lists.html</title>
<title>lists.html</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <h4>Lists</h4>
<h4>Lists</h4> <div>
<div> A <i>list</i> is a simple cons-style list with a head and a A <i>list</i> is a simple cons-style list with a head and a tail.&nbsp;
tail.&nbsp; The head of a <i>list</i> is an element, and the tail is The head of a <i>list</i> is an element,
either another <i>list</i> or <b>BOOST_PP_NIL</b>. For example, </div> and the tail is either another <i>list</i> or <b>BOOST_PP_NIL</b>.
<div class="code"> (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))) For example,
</div> </div>
<div> ...is a <i>list</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>. <div class="code">
</div> (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>)))
<div> This allows macro parameters to be variable in size and allows data </div>
states to change size without the user explicitly keeping track of the <div>
size independently.<br> ...is a <i>list</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
<br> </div>
A list can be empty and therefore have a size of 0. An empty list is <div>
represented by the notation <b>BOOST_PP_NIL.<br> This allows macro parameters to be variable in size and allows data states to change
<br> size without the user explicitly keeping track of the size independently.
</b></div> </div>
<div> Elements of a <i>list</i> can be extracted with <b>BOOST_PP_LIST_FIRST</b> <div>
and <b>BOOST_PP_LIST_REST</b>.&nbsp; </div> Elements of a <i>list</i> can be extracted with
<h4>Primitives</h4> <b>BOOST_PP_LIST_FIRST</b> and <b>BOOST_PP_LIST_REST</b>.&nbsp;
<ul> </div>
<li><a href="../ref/list_first.html">BOOST_PP_LIST_FIRST</a></li> <h4>Primitives</h4>
<li><a href="../ref/list_rest.html">BOOST_PP_LIST_REST</a></li> <ul>
<li><a href="../ref/nil.html">BOOST_PP_NIL</a></li> <li><a href="../ref/list_first.html">BOOST_PP_LIST_FIRST</a></li>
</ul> <li><a href="../ref/list_rest.html">BOOST_PP_LIST_REST</a></li>
<hr size="1"> <li><a href="../ref/nil.html">BOOST_PP_NIL</a></li>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" </ul>
target="_top">Housemarque Oy</a> 2002</i> <br> <hr size="1">
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<p><small>Distributed under the Boost Software License, Version 1.0. (See </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> </div>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> <div style="margin-left: 0px;">
</div> <p><small>Distributed under the Boost Software License, Version 1.0. (See
</body> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,23 +1,30 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>sequences.html</title>
<title>sequences.html</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <h4>
<h4> Sequences </h4> Sequences
<div> A <i>sequence</i> (abbreviated to <i>seq</i>) is a group of adjacent </h4>
parenthesized elements. For example, </div> <div>
<div class="code"> (<i>a</i>)(<i>b</i>)(<i>c</i>) </div> A <i>sequence</i> (abbreviated to <i>seq</i>) is a group of adjacent parenthesized elements. For example,
<div> ...is a <i>seq</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>. </div>
</div> <div class="code">
<div> <i>Sequences</i> are data structures that merge the properties of (<i>a</i>)(<i>b</i>)(<i>c</i>)
both <i>lists</i> and <i>tuples</i> with the exception that a <i>seq, </i>like </div>
a <i>tuple, </i>cannot be empty.&nbsp; Therefore, an "empty" <i>seq</i> <div>
is considered a special case scenario that must be handled separately in ...is a <i>seq</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
C++. </div> </div>
<div class="code"> <div>
<pre>#define SEQ (x)(y)(z) <i>Sequences</i> are data structures that merge the properties of both <i>lists</i> and
<i>tuples</i> with the exception that a <i>seq</i> cannot be empty.&nbsp;
Therefore, an "empty" <i>seq</i> is considered a special case scenario that
must be handled separately in C++.
</div>
<div class="code">
<pre>
#define SEQ (x)(y)(z)
#define REVERSE(s, state, elem) (elem) state #define REVERSE(s, state, elem) (elem) state
// append to head ^ // append to head ^
@ -34,27 +41,35 @@ BOOST_PP_SEQ_FOLD_RIGHT(INC, BOOST_PP_SEQ_NIL, SEQ)
// ^ // ^
// special placeholder that will be "eaten" // special placeholder that will be "eaten"
// by appending to the tail // by appending to the tail
</pre> </div> </pre>
<div> <i>Sequences</i> are extremely efficient.&nbsp; Element access speed </div>
approaches random access--even with <i>seqs</i> of up to <i>256</i> <div>
elements.&nbsp; This is because element access (among other things) is <i>Sequences</i> are extremely efficient.&nbsp; Element access speed approaches
implemented iteratively rather than recursively.&nbsp; Therefore, elements random access--even with <i>seqs</i> of up to <i>256</i> elements.&nbsp; This
can be accessed at extremely high indices even on preprocessors with low is because element access (among other things) is implemented iteratively
maximum expansion depths. </div> rather than recursively.&nbsp; Therefore, elements can be accessed at extremely
<div> Elements of a <i>seq</i> can be extracted with <b>BOOST_PP_SEQ_ELEM</b>. high indices even on preprocessors with low maximum expansion depths.
</div> </div>
<h4> Primitives </h4> <div>
<ul> Elements of a <i>seq</i> can be extracted with <b>BOOST_PP_SEQ_ELEM</b>.
<li> <a href="../ref/seq_elem.html">BOOST_PP_SEQ_ELEM</a></li> </div>
</ul> <h4>
<hr size="1"> Primitives
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" </h4>
target="_top">Housemarque Oy</a> 2002</i> <br> <ul>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <li>
<div style="margin-left: 0px;"> <a href="../ref/seq_elem.html">BOOST_PP_SEQ_ELEM</a></li>
<p><small>Distributed under the Boost Software License, Version 1.0. (See </ul>
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> <hr size="1">
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> <div style="margin-left: 0px;">
</div> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</body> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,40 +1,42 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>tuples.html</title>
<title>tuples.html</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <h4>Tuples</h4>
<h4>Tuples</h4> <div>
<div> A <i>tuple</i> is a simple comma-separated list of elements inside A <i>tuple</i> is a simple comma-separated list of elements inside parenthesis.&nbsp;
parenthesis.&nbsp; For example, </div> For example,
<div class="code"> (<i>a</i>, <i>b</i>, <i>c</i>) </div> </div>
<div> ...is a <i>tuple</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <div class="code">
<i>c</i>.<br> (<i>a</i>, <i>b</i>, <i>c</i>)
<br> </div>
A <i>tuple </i>cannot be empty. The notation '()' as a <i>tuple </i>is <div>
a single element <i>tuple </i>of size 1, where the element is empty. </div> ...is a <i>tuple</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
<div> <i>Tuples</i> are fast and easy to use.&nbsp; With variadic macro </div>
support it is not necessary to know the size of a <i>tuple</i>. <div>
Use a <i>tuple </i>instead of an <i>array</i>, since a <i>tuple </i>has all of <i>Tuples</i> are fast and easy to use.&nbsp;
the functionality as an <i>array </i>and is easier syntactically to use. However, all access to <i>tuples</i> requires knowledge of its size.
The only functionality an <i>array </i>has which a <i>tuple </i>does </div>
not have is that an <i>array </i>can be empty whereas a <i>tuple </i>cannot <div>
be empty.</div> Elements of a <i>tuple</i> can be extracted with
<div> Elements of a <i>tuple</i> can be extracted with <b>BOOST_PP_TUPLE_ELEM</b>. <b>BOOST_PP_TUPLE_ELEM</b>.
</div> </div>
<h4>Primitives</h4> <h4>Primitives</h4>
<ul> <ul>
<li><a href="../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a></li> <li><a href="../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a></li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
target="_top">Housemarque Oy</a> 2002</i> <br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<div style="margin-left: 0px;"> </div>
<p><small>Distributed under the Boost Software License, Version 1.0. (See <div style="margin-left: 0px;">
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> <p><small>Distributed under the Boost Software License, Version 1.0. (See
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
</div> copy at <a href=
</body> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,254 +1,232 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>headers.html</title>
<title>headers.html</title> <link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" type="text/css" href="styles.css"> <base target="desc">
<base target="desc"> <style>
<style>
.ps { margin-left: 30px; } .ps { margin-left: 30px; }
</style> </style>
</head> </head>
<body> <body>
<h4> Headers <small><a href="contents.html" target="index">[back]</a></small> <h4> Headers <small><a href="contents.html" target="index">[back]</a></small>
</h4> </h4>
<ul> <ul>
<li>../</li> <li>../</li>
<li class="ps"> <a href="headers/preprocessor.html">preprocessor.hpp</a></li> <li class="ps"> <a href="headers/preprocessor.html">preprocessor.hpp</a></li>
<li><a href="headers/arithmetic.html">arithmetic.hpp</a></li> <li><a href="headers/arithmetic.html">arithmetic.hpp</a></li>
<li>arithmetic/</li> <li>arithmetic/</li>
<li class="ps"><a href="headers/arithmetic/add.html">add.hpp</a></li> <li class="ps"><a href="headers/arithmetic/add.html">add.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/dec.html">dec.hpp</a></li> <li class="ps"><a href="headers/arithmetic/dec.html">dec.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/div.html">div.hpp</a></li> <li class="ps"><a href="headers/arithmetic/div.html">div.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/inc.html">inc.hpp</a></li> <li class="ps"><a href="headers/arithmetic/inc.html">inc.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/mod.html">mod.hpp</a></li> <li class="ps"><a href="headers/arithmetic/mod.html">mod.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/mul.html">mul.hpp</a></li> <li class="ps"><a href="headers/arithmetic/mul.html">mul.hpp</a></li>
<li class="ps"><a href="headers/arithmetic/sub.html">sub.hpp</a></li> <li class="ps"><a href="headers/arithmetic/sub.html">sub.hpp</a></li>
<li><a href="headers/array.html">array.hpp</a></li> <li><a href="headers/array.html">array.hpp</a></li>
<li>array/</li> <li>array/</li>
<li class="ps"><a href="headers/array/data.html">data.hpp</a></li> <li class="ps"><a href="headers/array/data.html">data.hpp</a></li>
<li class="ps"><a href="headers/array/elem.html">elem.hpp</a></li> <li class="ps"><a href="headers/array/elem.html">elem.hpp</a></li>
<li class="ps"><a href="headers/array/enum.html">enum.hpp</a></li> <li class="ps"><a href="headers/array/enum.html">enum.hpp</a></li>
<li class="ps"><a href="headers/array/insert.html">insert.hpp</a></li> <li class="ps"><a href="headers/array/insert.html">insert.hpp</a></li>
<li class="ps"><a href="headers/array/pop_back.html">pop_back.hpp</a></li> <li class="ps"><a href="headers/array/pop_back.html">pop_back.hpp</a></li>
<li class="ps"><a href="headers/array/pop_front.html">pop_front.hpp</a></li> <li class="ps"><a href="headers/array/pop_front.html">pop_front.hpp</a></li>
<li class="ps"><a href="headers/array/push_back.html">push_back.hpp</a></li> <li class="ps"><a href="headers/array/push_back.html">push_back.hpp</a></li>
<li class="ps"><a href="headers/array/push_front.html">push_front.hpp</a></li> <li class="ps"><a href="headers/array/push_front.html">push_front.hpp</a></li>
<li class="ps"><a href="headers/array/remove.html">remove.hpp</a></li> <li class="ps"><a href="headers/array/remove.html">remove.hpp</a></li>
<li class="ps"><a href="headers/array/replace.html">replace.hpp</a></li> <li class="ps"><a href="headers/array/replace.html">replace.hpp</a></li>
<li class="ps"><a href="headers/array/reverse.html">reverse.hpp</a></li> <li class="ps"><a href="headers/array/reverse.html">reverse.hpp</a></li>
<li class="ps"><a href="headers/array/size.html">size.hpp</a></li> <li class="ps"><a href="headers/array/size.html">size.hpp</a></li>
<li class="ps"><a href="headers/array/to_list.html">to_list.hpp</a></li> <li class="ps"><a href="headers/array/to_list.html">to_list.hpp</a></li>
<li class="ps"><a href="headers/array/to_seq.html">to_seq.hpp</a></li> <li class="ps"><a href="headers/array/to_seq.html">to_seq.hpp</a></li>
<li class="ps"><a href="headers/array/to_tuple.html">to_tuple.hpp</a></li> <li class="ps"><a href="headers/array/to_tuple.html">to_tuple.hpp</a></li>
<li><a href="headers/assert_msg.html">assert_msg.hpp*</a></li> <li><a href="headers/assert_msg.html">assert_msg.hpp*</a></li>
<li><a href="headers/cat.html">cat.hpp</a></li> <li><a href="headers/cat.html">cat.hpp</a></li>
<li><a href="headers/comma.html">comma.hpp*</a></li> <li><a href="headers/comma.html">comma.hpp*</a></li>
<li><a href="headers/comma_if.html">comma_if.hpp*</a></li> <li><a href="headers/comma_if.html">comma_if.hpp*</a></li>
<li><a href="headers/comparison.html">comparison.hpp</a></li> <li><a href="headers/comparison.html">comparison.hpp</a></li>
<li>comparison/</li> <li>comparison/</li>
<li class="ps"><a href="headers/comparison/equal.html">equal.hpp</a></li> <li class="ps"><a href="headers/comparison/equal.html">equal.hpp</a></li>
<li class="ps"><a href="headers/comparison/greater.html">greater.hpp</a></li> <li class="ps"><a href="headers/comparison/greater.html">greater.hpp</a></li>
<li class="ps"><a href="headers/comparison/greater_equal.html">greater_equal.hpp</a></li> <li class="ps"><a href="headers/comparison/greater_equal.html">greater_equal.hpp</a></li>
<li class="ps"><a href="headers/comparison/less.html">less.hpp</a></li> <li class="ps"><a href="headers/comparison/less.html">less.hpp</a></li>
<li class="ps"><a href="headers/comparison/less_equal.html">less_equal.hpp</a></li> <li class="ps"><a href="headers/comparison/less_equal.html">less_equal.hpp</a></li>
<li class="ps"><a href="headers/comparison/not_equal.html">not_equal.hpp</a></li> <li class="ps"><a href="headers/comparison/not_equal.html">not_equal.hpp</a></li>
<li>config/</li> <li>config/</li>
<li class="ps"><a href="headers/config/limits.html">limits.hpp</a></li> <li class="ps"><a href="headers/config/limits.html">limits.hpp</a></li>
<li class="ps"><a href="headers/config/variadics.html">config.hpp</a></li> <li class="ps"><a href="headers/config/variadics.html">variadics.hpp</a></li>
<li><a href="headers/control.html">control.hpp</a></li> <li><a href="headers/control.html">control.hpp</a></li>
<li>control/</li> <li>control/</li>
<li class="ps"><a href="headers/control/deduce_d.html">deduce_d.hpp</a></li> <li class="ps"><a href="headers/control/deduce_d.html">deduce_d.hpp</a></li>
<li class="ps"><a href="headers/control/expr_if.html">expr_if.hpp</a></li> <li class="ps"><a href="headers/control/expr_if.html">expr_if.hpp</a></li>
<li class="ps"><a href="headers/control/expr_iif.html">expr_iif.hpp</a></li> <li class="ps"><a href="headers/control/expr_iif.html">expr_iif.hpp</a></li>
<li class="ps"><a href="headers/control/if.html">if.hpp</a></li> <li class="ps"><a href="headers/control/if.html">if.hpp</a></li>
<li class="ps"><a href="headers/control/iif.html">iif.hpp</a></li> <li class="ps"><a href="headers/control/iif.html">iif.hpp</a></li>
<li class="ps"><a href="headers/control/while.html">while.hpp</a></li> <li class="ps"><a href="headers/control/while.html">while.hpp</a></li>
<li><a href="headers/debug.html">debug.hpp</a></li> <li><a href="headers/debug.html">debug.hpp</a></li>
<li>debug/</li> <li>debug/</li>
<li class="ps"><a href="headers/debug/assert.html">assert.hpp</a></li> <li class="ps"><a href="headers/debug/assert.html">assert.hpp</a></li>
<li class="ps"><a href="headers/debug/line.html">line.hpp</a></li> <li class="ps"><a href="headers/debug/line.html">line.hpp</a></li>
<li><a href="headers/dec.html">dec.hpp*</a></li> <li><a href="headers/dec.html">dec.hpp*</a></li>
<li><a href="headers/empty.html">empty.hpp*</a></li> <li><a href="headers/empty.html">empty.hpp*</a></li>
<li><a href="headers/enum.html">enum.hpp*</a></li> <li><a href="headers/enum.html">enum.hpp*</a></li>
<li><a href="headers/enum_params.html">enum_params.hpp*</a></li> <li><a href="headers/enum_params.html">enum_params.hpp*</a></li>
<li><a href="headers/epwad.html">enum_params_with_a_default.hpp*</a></li> <li><a href="headers/epwad.html">enum_params_with_a_default.hpp*</a></li>
<li><a href="headers/epwd.html">enum_params_with_defaults.hpp*</a></li> <li><a href="headers/epwd.html">enum_params_with_defaults.hpp*</a></li>
<li><a href="headers/enum_shifted.html">enum_shifted.hpp*</a></li> <li><a href="headers/enum_shifted.html">enum_shifted.hpp*</a></li>
<li><a href="headers/enum_shifted_params.html">enum_shifted_params.hpp*</a></li> <li><a href="headers/enum_shifted_params.html">enum_shifted_params.hpp*</a></li>
<li><a href="headers/expand.html">expand.hpp*</a></li> <li><a href="headers/expand.html">expand.hpp*</a></li>
<li><a href="headers/expr_if.html">expr_if.hpp*</a></li> <li><a href="headers/expr_if.html">expr_if.hpp*</a></li>
<li><a href="headers/facilities.html">facilities.hpp</a></li> <li><a href="headers/facilities.html">facilities.hpp</a></li>
<li>facilities/</li> <li>facilities/</li>
<li class="ps"><a href="headers/facilities/apply.html">apply.hpp</a></li> <li class="ps"><a href="headers/facilities/apply.html">apply.hpp</a></li>
<li class="ps"><a href="headers/facilities/check_empty.html">check_empty.hpp</a> <li class="ps"><a href="headers/facilities/empty.html">empty.hpp</a></li>
<a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li class="ps"><a href="headers/facilities/expand.html">expand.hpp</a></li>
<li class="ps"><a href="headers/facilities/empty.html">empty.hpp</a></li> <li class="ps"><a href="headers/facilities/identity.html">identity.hpp</a></li>
<li class="ps"><a href="headers/facilities/expand.html">expand.hpp</a></li> <li class="ps"><a href="headers/facilities/intercept.html">intercept.hpp</a></li>
<li class="ps"><a href="headers/facilities/identity.html">identity.hpp</a></li> <li class="ps"><a href="headers/facilities/overload.html">overload.hpp</a> (v)</li>
<li class="ps"><a href="headers/facilities/intercept.html">intercept.hpp</a></li> <li><a href="headers/for.html">for.hpp*</a></li>
<li class="ps"><a href="headers/facilities/overload.html">overload.hpp</a> <li><a href="headers/identity.html">identity.hpp*</a></li>
<a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/if.html">if.hpp*</a></li>
<li class="ps"><a href="headers/facilities/va_opt.html">va_opt.hpp</a> <li><a href="headers/inc.html">inc.hpp*</a></li>
<a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/iterate.html">iterate.hpp*</a></li>
<li><a href="headers/for.html">for.hpp*</a></li> <li><a href="headers/iteration.html">iteration.hpp</a></li>
<li><a href="headers/identity.html">identity.hpp*</a></li> <li>iteration/</li>
<li><a href="headers/if.html">if.hpp*</a></li> <li class="ps"><a href="headers/iteration/iterate.html">iterate.hpp</a></li>
<li><a href="headers/inc.html">inc.hpp*</a></li> <li class="ps"><a href="headers/iteration/local.html">local.hpp</a></li>
<li><a href="headers/iterate.html">iterate.hpp*</a></li> <li class="ps"><a href="headers/iteration/self.html">self.hpp</a></li>
<li><a href="headers/iteration.html">iteration.hpp</a></li> <li><a href="headers/library.html">library.hpp</a></li>
<li>iteration/</li> <li><a href="headers/limits.html">limits.hpp*</a></li>
<li class="ps"><a href="headers/iteration/iterate.html">iterate.hpp</a></li> <li><a href="headers/list.html">list.hpp</a></li>
<li class="ps"><a href="headers/iteration/local.html">local.hpp</a></li> <li>list/</li>
<li class="ps"><a href="headers/iteration/self.html">self.hpp</a></li> <li class="ps"><a href="headers/list/adt.html">adt.hpp</a></li>
<li><a href="headers/library.html">library.hpp</a></li> <li class="ps"><a href="headers/list/append.html">append.hpp</a></li>
<li><a href="headers/limits.html">limits.hpp*</a></li> <li class="ps"><a href="headers/list/at.html">at.hpp</a></li>
<li><a href="headers/list.html">list.hpp</a></li> <li class="ps"><a href="headers/list/cat.html">cat.hpp</a></li>
<li>list/</li> <li class="ps"><a href="headers/list/enum.html">enum.hpp</a></li>
<li class="ps"><a href="headers/list/adt.html">adt.hpp</a></li> <li class="ps"><a href="headers/list/filter.html">filter.hpp</a></li>
<li class="ps"><a href="headers/list/append.html">append.hpp</a></li> <li class="ps"><a href="headers/list/first_n.html">first_n.hpp</a></li>
<li class="ps"><a href="headers/list/at.html">at.hpp</a></li> <li class="ps"><a href="headers/list/fold_left.html">fold_left.hpp</a></li>
<li class="ps"><a href="headers/list/cat.html">cat.hpp</a></li> <li class="ps"><a href="headers/list/fold_right.html">fold_right.hpp</a></li>
<li class="ps"><a href="headers/list/enum.html">enum.hpp</a></li> <li class="ps"><a href="headers/list/for_each.html">for_each.hpp</a></li>
<li class="ps"><a href="headers/list/filter.html">filter.hpp</a></li> <li class="ps"><a href="headers/list/for_each_i.html">for_each_i.hpp</a></li>
<li class="ps"><a href="headers/list/first_n.html">first_n.hpp</a></li> <li class="ps"><a href="headers/list/for_each_product.html">for_each_product.hpp</a></li>
<li class="ps"><a href="headers/list/fold_left.html">fold_left.hpp</a></li> <li class="ps"><a href="headers/list/rest_n.html">rest_n.hpp</a></li>
<li class="ps"><a href="headers/list/fold_right.html">fold_right.hpp</a></li> <li class="ps"><a href="headers/list/reverse.html">reverse.hpp</a></li>
<li class="ps"><a href="headers/list/for_each.html">for_each.hpp</a></li> <li class="ps"><a href="headers/list/size.html">size.hpp</a></li>
<li class="ps"><a href="headers/list/for_each_i.html">for_each_i.hpp</a></li> <li class="ps"><a href="headers/list/to_array.html">to_array.hpp</a></li>
<li class="ps"><a href="headers/list/for_each_product.html">for_each_product.hpp</a></li> <li class="ps"><a href="headers/list/to_seq.html">to_seq.hpp</a></li>
<li class="ps"><a href="headers/list/rest_n.html">rest_n.hpp</a></li> <li class="ps"><a href="headers/list/to_tuple.html">to_tuple.hpp</a></li>
<li class="ps"><a href="headers/list/reverse.html">reverse.hpp</a></li> <li class="ps"><a href="headers/list/transform.html">transform.hpp</a></li>
<li class="ps"><a href="headers/list/size.html">size.hpp</a></li> <li><a href="headers/logical.html">logical.hpp</a></li>
<li class="ps"><a href="headers/list/to_array.html">to_array.hpp</a></li> <li>logical/</li>
<li class="ps"><a href="headers/list/to_seq.html">to_seq.hpp</a></li> <li class="ps"><a href="headers/logical/and.html">and.hpp</a></li>
<li class="ps"><a href="headers/list/to_tuple.html">to_tuple.hpp</a></li> <li class="ps"><a href="headers/logical/bitand.html">bitand.hpp</a></li>
<li class="ps"><a href="headers/list/transform.html">transform.hpp</a></li> <li class="ps"><a href="headers/logical/bitnor.html">bitnor.hpp</a></li>
<li><a href="headers/logical.html">logical.hpp</a></li> <li class="ps"><a href="headers/logical/bitor.html">bitor.hpp</a></li>
<li>logical/</li> <li class="ps"><a href="headers/logical/bitxor.html">bitxor.hpp</a></li>
<li class="ps"><a href="headers/logical/and.html">and.hpp</a></li> <li class="ps"><a href="headers/logical/bool.html">bool.hpp</a></li>
<li class="ps"><a href="headers/logical/bitand.html">bitand.hpp</a></li> <li class="ps"><a href="headers/logical/compl.html">compl.hpp</a></li>
<li class="ps"><a href="headers/logical/bitnor.html">bitnor.hpp</a></li> <li class="ps"><a href="headers/logical/nor.html">nor.hpp</a></li>
<li class="ps"><a href="headers/logical/bitor.html">bitor.hpp</a></li> <li class="ps"><a href="headers/logical/not.html">not.hpp</a></li>
<li class="ps"><a href="headers/logical/bitxor.html">bitxor.hpp</a></li> <li class="ps"><a href="headers/logical/or.html">or.hpp</a></li>
<li class="ps"><a href="headers/logical/bool.html">bool.hpp</a></li> <li class="ps"><a href="headers/logical/xor.html">xor.hpp</a></li>
<li class="ps"><a href="headers/logical/compl.html">compl.hpp</a></li> <li><a href="headers/max.html">max.hpp*</a></li>
<li class="ps"><a href="headers/logical/nor.html">nor.hpp</a></li> <li><a href="headers/min.html">min.hpp*</a></li>
<li class="ps"><a href="headers/logical/not.html">not.hpp</a></li> <li><a href="headers/punctuation.html">punctuation.hpp</a></li>
<li class="ps"><a href="headers/logical/or.html">or.hpp</a></li> <li>punctuation/</li>
<li class="ps"><a href="headers/logical/xor.html">xor.hpp</a></li> <li class="ps"><a href="headers/punctuation/comma.html">comma.hpp</a></li>
<li><a href="headers/max.html">max.hpp*</a></li> <li class="ps"><a href="headers/punctuation/comma_if.html">comma_if.hpp</a></li>
<li><a href="headers/min.html">min.hpp*</a></li> <li class="ps"><a href="headers/punctuation/paren.html">paren.hpp</a></li>
<li><a href="headers/punctuation.html">punctuation.hpp</a></li> <li class="ps"><a href="headers/punctuation/paren_if.html">paren_if.hpp</a></li>
<li>punctuation/</li> <li><a href="headers/repeat.html">repeat.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/comma.html">comma.hpp</a></li> <li><a href="headers/repeat_2nd.html">repeat_2nd.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/comma_if.html">comma_if.hpp</a></li> <li><a href="headers/repeat_3rd.html">repeat_3rd.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/is_begin_parens.html">is_begin_parens.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/repeat_from_to.html">repeat_from_to.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/paren.html">paren.hpp</a></li> <li><a href="headers/repeat_from_to_2nd.html">repeat_from_to_2nd.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/paren_if.html">paren_if.hpp</a></li> <li><a href="headers/repeat_from_to_3rd.html">repeat_from_to_3rd.hpp*</a></li>
<li class="ps"><a href="headers/punctuation/remove_parens.html">remove_parens.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/repetition.html">repetition.hpp</a></li>
<li><a href="headers/repeat.html">repeat.hpp*</a></li> <li>repetition/</li>
<li><a href="headers/repeat_2nd.html">repeat_2nd.hpp*</a></li> <li class="ps"><a href="headers/repetition/deduce_r.html">deduce_r.hpp</a></li>
<li><a href="headers/repeat_3rd.html">repeat_3rd.hpp*</a></li> <li class="ps"><a href="headers/repetition/deduce_z.html">deduce_z.hpp</a></li>
<li><a href="headers/repeat_from_to.html">repeat_from_to.hpp*</a></li> <li class="ps"><a href="headers/repetition/enum.html">enum.hpp</a></li>
<li><a href="headers/repeat_from_to_2nd.html">repeat_from_to_2nd.hpp*</a></li> <li class="ps"><a href="headers/repetition/enum_binary_params.html">enum_binary_params.hpp</a></li>
<li><a href="headers/repeat_from_to_3rd.html">repeat_from_to_3rd.hpp*</a></li> <li class="ps"><a href="headers/repetition/enum_params.html">enum_params.hpp</a></li>
<li><a href="headers/repetition.html">repetition.hpp</a></li> <li class="ps"><a href="headers/repetition/epwad.html">enum_params_with_a_default.hpp</a></li>
<li>repetition/</li> <li class="ps"><a href="headers/repetition/epwd.html">enum_params_with_defaults.hpp</a></li>
<li class="ps"><a href="headers/repetition/deduce_r.html">deduce_r.hpp</a></li> <li class="ps"><a href="headers/repetition/esbp.html">enum_shifted_binary_params.hpp</a></li>
<li class="ps"><a href="headers/repetition/deduce_z.html">deduce_z.hpp</a></li> <li class="ps"><a href="headers/repetition/enum_shifted_params.html">enum_shifted_params.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum.html">enum.hpp</a></li> <li class="ps"><a href="headers/repetition/enum_shifted.html">enum_shifted.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_binary_params.html">enum_binary_params.hpp</a></li> <li class="ps"><a href="headers/repetition/enum_trailing.html">enum_trailing.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_params.html">enum_params.hpp</a></li> <li class="ps"><a href="headers/repetition/etbp.html">enum_trailing_binary_params.hpp</a></li>
<li class="ps"><a href="headers/repetition/epwad.html">enum_params_with_a_default.hpp</a></li> <li class="ps"><a href="headers/repetition/enum_trailing_params.html">enum_trailing_params.hpp</a></li>
<li class="ps"><a href="headers/repetition/epwd.html">enum_params_with_defaults.hpp</a></li> <li class="ps"><a href="headers/repetition/for.html">for.hpp</a></li>
<li class="ps"><a href="headers/repetition/esbp.html">enum_shifted_binary_params.hpp</a></li> <li class="ps"><a href="headers/repetition/repeat.html">repeat.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_shifted_params.html">enum_shifted_params.hpp</a></li> <li class="ps"><a href="headers/repetition/repeat_from_to.html">repeat_from_to.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_shifted.html">enum_shifted.hpp</a></li> <li><a href="headers/selection.html">selection.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_trailing.html">enum_trailing.hpp</a></li> <li>selection/</li>
<li class="ps"><a href="headers/repetition/etbp.html">enum_trailing_binary_params.hpp</a></li> <li class="ps"><a href="headers/selection/max.html">max.hpp</a></li>
<li class="ps"><a href="headers/repetition/enum_trailing_params.html">enum_trailing_params.hpp</a></li> <li class="ps"><a href="headers/selection/min.html">min.hpp</a></li>
<li class="ps"><a href="headers/repetition/for.html">for.hpp</a></li> <li><a href="headers/seq.html">seq.hpp</a></li>
<li class="ps"><a href="headers/repetition/repeat.html">repeat.hpp</a></li> <li>seq/</li>
<li class="ps"><a href="headers/repetition/repeat_from_to.html">repeat_from_to.hpp</a></li> <li class="ps"><a href="headers/seq/cat.html">cat.hpp</a></li>
<li><a href="headers/selection.html">selection.hpp</a></li> <li class="ps"><a href="headers/seq/elem.html">elem.hpp</a></li>
<li>selection/</li> <li class="ps"><a href="headers/seq/enum.html">enum.hpp</a></li>
<li class="ps"><a href="headers/selection/max.html">max.hpp</a></li> <li class="ps"><a href="headers/seq/filter.html">filter.hpp</a></li>
<li class="ps"><a href="headers/selection/min.html">min.hpp</a></li> <li class="ps"><a href="headers/seq/first_n.html">first_n.hpp</a></li>
<li><a href="headers/seq.html">seq.hpp</a></li> <li class="ps"><a href="headers/seq/fold_left.html">fold_left.hpp</a></li>
<li>seq/</li> <li class="ps"><a href="headers/seq/fold_right.html">fold_right.hpp</a></li>
<li class="ps"><a href="headers/seq/cat.html">cat.hpp</a></li> <li class="ps"><a href="headers/seq/for_each.html">for_each.hpp</a></li>
<li class="ps"><a href="headers/seq/elem.html">elem.hpp</a></li> <li class="ps"><a href="headers/seq/for_each_i.html">for_each_i.hpp</a></li>
<li class="ps"><a href="headers/seq/enum.html">enum.hpp</a></li> <li class="ps"><a href="headers/seq/for_each_product.html">for_each_product.hpp</a></li>
<li class="ps"><a href="headers/seq/filter.html">filter.hpp</a></li> <li class="ps"><a href="headers/seq/insert.html">insert.hpp</a></li>
<li class="ps"><a href="headers/seq/first_n.html">first_n.hpp</a></li> <li class="ps"><a href="headers/seq/pop_back.html">pop_back.hpp</a></li>
<li class="ps"><a href="headers/seq/fold_left.html">fold_left.hpp</a></li> <li class="ps"><a href="headers/seq/pop_front.html">pop_front.hpp</a></li>
<li class="ps"><a href="headers/seq/fold_right.html">fold_right.hpp</a></li> <li class="ps"><a href="headers/seq/push_back.html">push_back.hpp</a></li>
<li class="ps"><a href="headers/seq/for_each.html">for_each.hpp</a></li> <li class="ps"><a href="headers/seq/push_front.html">push_front.hpp</a></li>
<li class="ps"><a href="headers/seq/for_each_i.html">for_each_i.hpp</a></li> <li class="ps"><a href="headers/seq/remove.html">remove.hpp</a></li>
<li class="ps"><a href="headers/seq/for_each_product.html">for_each_product.hpp</a></li> <li class="ps"><a href="headers/seq/replace.html">replace.hpp</a></li>
<li class="ps"><a href="headers/seq/insert.html">insert.hpp</a></li> <li class="ps"><a href="headers/seq/rest_n.html">rest_n.hpp</a></li>
<li class="ps"><a href="headers/seq/pop_back.html">pop_back.hpp</a></li> <li class="ps"><a href="headers/seq/reverse.html">reverse.hpp</a></li>
<li class="ps"><a href="headers/seq/pop_front.html">pop_front.hpp</a></li> <li class="ps"><a href="headers/seq/seq.html">seq.hpp</a></li>
<li class="ps"><a href="headers/seq/push_back.html">push_back.hpp</a></li> <li class="ps"><a href="headers/seq/size.html">size.hpp</a></li>
<li class="ps"><a href="headers/seq/push_front.html">push_front.hpp</a></li> <li class="ps"><a href="headers/seq/subseq.html">subseq.hpp</a></li>
<li class="ps"><a href="headers/seq/remove.html">remove.hpp</a></li> <li class="ps"><a href="headers/seq/to_array.html">to_array.hpp</a></li>
<li class="ps"><a href="headers/seq/replace.html">replace.hpp</a></li> <li class="ps"><a href="headers/seq/to_list.html">to_list.hpp</a></li>
<li class="ps"><a href="headers/seq/rest_n.html">rest_n.hpp</a></li> <li class="ps"><a href="headers/seq/to_tuple.html">to_tuple.hpp</a></li>
<li class="ps"><a href="headers/seq/reverse.html">reverse.hpp</a></li> <li class="ps"><a href="headers/seq/transform.html">transform.hpp</a></li>
<li class="ps"><a href="headers/seq/seq.html">seq.hpp</a></li> <li><a href="headers/slot.html">slot.hpp</a></li>
<li class="ps"><a href="headers/seq/size.html">size.hpp</a></li> <li>slot/</li>
<li class="ps"><a href="headers/seq/subseq.html">subseq.hpp</a></li> <li class="ps"><a href="headers/slot/counter.html">counter.hpp</a></li>
<li class="ps"><a href="headers/seq/to_array.html">to_array.hpp</a></li> <li class="ps"><a href="headers/slot/slot.html">slot.hpp</a></li>
<li class="ps"><a href="headers/seq/to_list.html">to_list.hpp</a></li> <li><a href="headers/tuple.html">tuple.hpp</a></li>
<li class="ps"><a href="headers/seq/to_tuple.html">to_tuple.hpp</a></li> <li>tuple/</li>
<li class="ps"><a href="headers/seq/transform.html">transform.hpp</a></li> <li class="ps"><a href="headers/tuple/eat.html">eat.hpp</a> (v)</li>
<li class="ps"><a href="headers/seq/variadic_seq_to_seq.html">variadic_seq_to_seq.hpp</a></li> <li class="ps"><a href="headers/tuple/elem.html">elem.hpp</a> (v)</li>
<li><a href="headers/slot.html">slot.hpp</a></li> <li class="ps"><a href="headers/tuple/enum.html">enum.hpp</a> (v)</li>
<li>slot/</li> <li class="ps"><a href="headers/tuple/rem.html">rem.hpp</a> (v)</li>
<li class="ps"><a href="headers/slot/counter.html">counter.hpp</a></li> <li class="ps"><a href="headers/tuple/reverse.html">reverse.hpp</a> (v)</li>
<li class="ps"><a href="headers/slot/slot.html">slot.hpp</a></li> <li class="ps"><a href="headers/tuple/size.html">size.hpp</a> (v)</li>
<li><a href="headers/tuple.html">tuple.hpp</a></li> <li class="ps"><a href="headers/tuple/to_array.html">to_array.hpp</a> (v)</li>
<li>tuple/</li> <li class="ps"><a href="headers/tuple/to_list.html">to_list.hpp</a> (v)</li>
<li class="ps"><a href="headers/tuple/eat.html">eat.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li class="ps"><a href="headers/tuple/to_seq.html">to_seq.hpp</a> (v)</li>
<li class="ps"><a href="headers/tuple/elem.html">elem.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/stringize.html">stringize.hpp</a></li>
<li class="ps"><a href="headers/tuple/enum.html">enum.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/variadic.html">variadic.hpp</a></li>
<li class="ps"><a href="headers/tuple/insert.html">insert.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li>variadic/</li>
<li class="ps"><a href="headers/tuple/pop_back.html">pop_back.hpp</a> <a <li class="ps"><a href="headers/variadic/elem.html">elem.hpp</a> (v)</li>
href="topics/variadic_macros.html#VNotation">(v)</a></li> <li class="ps"><a href="headers/variadic/size.html">size.hpp</a> (v)</li>
<li class="ps"><a href="headers/tuple/pop_front.html">pop_front.hpp</a> <a <li class="ps"><a href="headers/variadic/to_array.html">to_array.hpp</a> (v)</li>
href="topics/variadic_macros.html#VNotation">(v)</a></li> <li class="ps"><a href="headers/variadic/to_list.html">to_list.hpp</a> (v)</li>
<li class="ps"><a href="headers/tuple/push_back.html">push_back.hpp</a> <a <li class="ps"><a href="headers/variadic/to_seq.html">to_seq.hpp</a> (v)</li>
href="topics/variadic_macros.html#VNotation">(v)</a></li> <li class="ps"><a href="headers/variadic/to_tuple.html">to_tuple.hpp</a> (v)</li>
<li class="ps"><a href="headers/tuple/push_front.html">push_front.hpp</a> <li><a href="headers/while.html">while.hpp*</a></li>
<a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="headers/wstringize.html">wstringize.hpp</a></li>
<li class="ps"><a href="headers/tuple/rem.html">rem.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> </ul>
<li class="ps"><a href="headers/tuple/remove.html">remove.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <!--
<li class="ps"><a href="headers/tuple/replace.html">replace.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <EFBFBD> Copyright Housemarque Oy 2002
<li class="ps"><a href="headers/tuple/reverse.html">reverse.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <EFBFBD> Copyright Paul Mensonides 2002
<li class="ps"><a href="headers/tuple/size.html">size.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> Distributed under the Boost Software License, Version 1.0.
<li class="ps"><a href="headers/tuple/to_array.html">to_array.hpp</a> <a (See accompanying file LICENSE_1_0.txt or copy at
href="topics/variadic_macros.html#VNotation">(v)</a></li> http://www.boost.org/LICENSE_1_0.txt)
<li class="ps"><a href="headers/tuple/to_list.html">to_list.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> -->
<li class="ps"><a href="headers/tuple/to_seq.html">to_seq.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> </body>
<li><a href="headers/stringize.html">stringize.hpp</a></li>
<li><a href="headers/variadic.html">variadic.hpp</a></li>
<li>variadic/</li>
<li class="ps"><a href="headers/variadic/elem.html">elem.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li class="ps"><a href="headers/variadic/has_opt.html">has_opt.hpp</a> </li>
<li class="ps"><a href="headers/variadic/size.html">size.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li class="ps"><a href="headers/variadic/to_array.html">to_array.hpp</a> <a
href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li class="ps"><a href="headers/variadic/to_list.html">to_list.hpp</a> <a
href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li class="ps"><a href="headers/variadic/to_seq.html">to_seq.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li class="ps"><a href="headers/variadic/to_tuple.html">to_tuple.hpp</a> <a
href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="headers/while.html">while.hpp*</a></li>
<li><a href="headers/wstringize.html">wstringize.hpp</a></li>
</ul>
<!--
<EFBFBD> Copyright Housemarque Oy 2002<30> Copyright Paul Mensonides 2002
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)-->
</body>
</html> </html>

View File

@ -11,7 +11,7 @@ defines a macro that converts an <i>array</i> to a <i>list</i>. </div>
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/array_to_list.html">BOOST_PP_ARRAY_TO_LIST</a></li> <li><a href="../../ref/to_list.html">BOOST_PP_ARRAY_TO_LIST</a></li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div> <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>

View File

@ -1,35 +1,32 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title>config/variadics.hpp</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../../styles.css">
<title>config/config.hpp</title> </head>
<link rel="stylesheet" type="text/css" href="../../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>config/variadics.hpp</b>
<div style="margin-left: 0px;"> The <b>config/config.hpp</b> header defines a macro for determining variadic macro support. The file
header defines internal configuration macros as well as a macro is automatically included when needed internally. The end-user can
for determining whether the compiler's preprocessor conforms to include it also in order to use the macro. </div>
the standard. The file is automatically included whenever any <h4>
Boost PP macros are used.The end-user can manually include it Usage
in order to use the BOOST_PP_IS_STANDARD macro, but normally </h4>
should never have to do so.</div> <div class="code">
<h4> Usage </h4> #include <b>&lt;boost/preprocessor/config/variadics.hpp&gt;</b>
<div class="code"> #include <b>&lt;boost/preprocessor/config/config.hpp&gt;</b> </div>
</div> <h4>
<h4> Contents </h4> Contents
<ul> </h4>
<li><a href="../../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> <ul>
</li> <li><a href="../../ref/variadics.html">BOOST_PP_VARIADICS</a></li></ul>
</ul> <hr size="1">
<hr size="1"> <div style="margin-left: 0px;"><i><EFBFBD> Copyright Edward Diener 2011</i>
<div style="margin-left: 0px;"><i><EFBFBD> Copyright Edward Diener </div>
2011,2014,2020</i> </div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
1.0. (See accompanying file <a copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or </div>
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> </body>
</div>
</body>
</html> </html>

View File

@ -15,11 +15,10 @@
<ul> <ul>
<li><a href="facilities/apply.html">&lt;boost/preprocessor/facilities/apply.hpp&gt;</a></li> <li><a href="facilities/apply.html">&lt;boost/preprocessor/facilities/apply.hpp&gt;</a></li>
<li><a href="facilities/empty.html">&lt;boost/preprocessor/facilities/empty.hpp&gt;</a></li> <li><a href="facilities/empty.html">&lt;boost/preprocessor/facilities/empty.hpp&gt;</a></li>
<li><a href="facilities/check_empty.html">&lt;boost/preprocessor/facilities/check_empty.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
<li><a href="facilities/expand.html">&lt;boost/preprocessor/facilities/expand.hpp&gt;</a></li> <li><a href="facilities/expand.html">&lt;boost/preprocessor/facilities/expand.hpp&gt;</a></li>
<li><a href="facilities/identity.html">&lt;boost/preprocessor/facilities/identity.hpp&gt;</a></li> <li><a href="facilities/identity.html">&lt;boost/preprocessor/facilities/identity.hpp&gt;</a></li>
<li><a href="facilities/intercept.html">&lt;boost/preprocessor/facilities/intercept.hpp&gt;</a></li> <li><a href="facilities/intercept.html">&lt;boost/preprocessor/facilities/intercept.hpp&gt;</a></li>
<li><a href="facilities/overload.html">&lt;boost/preprocessor/facilities/overload.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="facilities/overload.html">&lt;boost/preprocessor/facilities/overload.hpp&gt;</a> (v)</li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">

View File

@ -1,29 +0,0 @@
<html>
<head>
<title>facilities/check_empty.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>facilities/check_empty.hpp</b> header defines a variadic macro for the C++20 level that checks if its data is empty or not.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/facilities/check_empty.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/check_empty.html">BOOST_PP_CHECK_EMPTY</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2019</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -5,7 +5,7 @@
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>facilities/identity.hpp</b> header defines utility macros to use with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b>. The <b>facilities/identity.hpp</b> header defines a utility macro to use with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b>.
</div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <div class="code">
@ -14,13 +14,11 @@
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/identity.html">BOOST_PP_IDENTITY</a></li> <li><a href="../../ref/identity.html">BOOST_PP_IDENTITY</a></li>
<li><a href="../../ref/identity_n.html">BOOST_PP_IDENTITY_N</a></li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i><EFBFBD> Copyright Paul Mensonides 2002</i> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</br><i><EFBFBD> Copyright Edward Diener 2015</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -13,11 +13,11 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/overload.html">BOOST_PP_OVERLOAD</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="../../ref/overload.html">BOOST_PP_OVERLOAD</a> (v)</li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -1,32 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>facilities/va_opt.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>facilities/va_opt.hpp</b>
header defines a variadic macro for the C++20 level that offers a
more flexible alternative to the __VA_OPT__ construct. </div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/facilities/va_opt.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/va_opt.html">BOOST_PP_VA_OPT</a> <a
href="../../topics/variadic_macros.html#VNotation"
target="_self">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2019</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,26 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>punctuation/is_begin_parens.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>punctuation/is_begin_parens.hpp</b>
header defines a macro that determines if variadic data begins with a
parenthesis.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/punctuation/is_begin_parens.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/is_begin_parens.html">BOOST_PP_IS_BEGIN_PARENS</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,26 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>punctuation/remove_parens.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>punctuation/remove_parens.hpp</b>
header defines a macro that removes the beginning parenthesis from its
input if it exists.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/punctuation/remove_parens.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/remove_parens.html">BOOST_PP_REMOVE_PARENS</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -69,8 +69,6 @@
<a href="seq/to_tuple.html">&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</a></li> <a href="seq/to_tuple.html">&lt;boost/preprocessor/seq/to_tuple.hpp&gt;</a></li>
<li> <li>
<a href="seq/transform.html">&lt;boost/preprocessor/seq/transform.hpp&gt;</a></li> <a href="seq/transform.html">&lt;boost/preprocessor/seq/transform.hpp&gt;</a></li>
<li>
<a href="seq/variadic_seq_to_seq.html">&lt;boost/preprocessor/seq/variadic_seq_to_seq.hpp&gt;</a></li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">

View File

@ -1,34 +0,0 @@
<html>
<head>
<title>seq/variadic_seq_to_seq.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>seq/variadic_seq_to_seq.hpp</b> header defines a macro that converts a <i>variadic seq</i> into a <i>seq</i>.
</div>
<h4>
Usage
</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/seq/variadic_seq_to_seq.hpp&gt;</b>
</div>
<h4>
Contents
</h4>
<ul>
<li>
<a href="../../ref/variadic_seq_to_seq.html">BOOST_PP_VARIADIC_SEQ_TO_SEQ</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright Paul Mensonides 2012</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,59 +1,37 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple.hpp</title> <title>tuple.hpp</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>tuple.hpp</b> includes the headers <div style="margin-left: 0px;">
in the <i>tuple</i> folder. </div> The <b>tuple.hpp</b> includes the headers in the <i>tuple</i> folder.
<h4>Usage</h4> </div>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple.hpp&gt;</b> </div> <h4>Usage</h4>
<h4>Includes</h4> <div class="code">
#include <b>&lt;boost/preprocessor/tuple.hpp&gt;</b>
</div>
<h4>Includes<br></h4>
<ul> <ul>
<li><a href="tuple/eat.html">&lt;boost/preprocessor/tuple/eat.hpp&gt;</a> <li><a href="tuple/eat.html">&lt;boost/preprocessor/tuple/eat.hpp&gt;</a> (v)</li>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="tuple/elem.html">&lt;boost/preprocessor/tuple/elem.hpp&gt;</a> (v)</li>
<li><a href="tuple/elem.html">&lt;boost/preprocessor/tuple/elem.hpp&gt;</a> <li><a href="tuple/enum.html">&lt;boost/preprocessor/tuple/enum.hpp&gt;</a> (v)</li>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="tuple/rem.html">&lt;boost/preprocessor/tuple/rem.hpp&gt;</a> (v)</li>
<li><a href="tuple/enum.html">&lt;boost/preprocessor/tuple/enum.hpp&gt;</a> <li><a href="tuple/reverse.html">&lt;boost/preprocessor/tuple/reverse.hpp&gt;</a> (v)</li>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="tuple/size.html">&lt;boost/preprocessor/tuple/size.hpp&gt;</a> (v)</li>
<li><a href="tuple/insert.html">&lt;boost/preprocessor/tuple/insert.hpp&gt;</a> <li><a href="tuple/to_array.html">&lt;boost/preprocessor/tuple/to_array.hpp&gt;</a> (v)</li>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="tuple/to_list.html">&lt;boost/preprocessor/tuple/to_list.hpp&gt;</a> (v)</li>
<li><a href="tuple/pop_back.html">&lt;boost/preprocessor/tuple/pop_back.hpp&gt;</a> <li><a href="tuple/to_seq.html">&lt;boost/preprocessor/tuple/to_seq.hpp&gt;</a> (v)</li>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> </ul>
<li><a href="tuple/pop_front.html">&lt;boost/preprocessor/tuple/pop_front.hpp&gt;</a> <hr size="1">
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> <div style="margin-left: 0px;">
<li><a href="tuple/push_back.html">&lt;boost/preprocessor/tuple/push_back.hpp&gt;</a> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> <br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<li><a href="tuple/push_front.html">&lt;boost/preprocessor/tuple/push_front.hpp&gt;</a> </div>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> <div style="margin-left: 0px;">
<li><a href="tuple/rem.html">&lt;boost/preprocessor/tuple/rem.hpp&gt;</a> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
<li><a href="tuple/remove.html">&lt;boost/preprocessor/tuple/remove.hpp&gt;</a> copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li> </div>
<li><a href="tuple/replace.html">&lt;boost/preprocessor/tuple/replace.hpp&gt;</a> </body>
<a href="../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="tuple/reverse.html">&lt;boost/preprocessor/tuple/reverse.hpp&gt;</a>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
<li><a href="tuple/size.html">&lt;boost/preprocessor/tuple/size.hpp&gt;</a>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
<li><a href="tuple/to_array.html">&lt;boost/preprocessor/tuple/to_array.hpp&gt;</a>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
<li><a href="tuple/to_list.html">&lt;boost/preprocessor/tuple/to_list.hpp&gt;</a>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
<li><a href="tuple/to_seq.html">&lt;boost/preprocessor/tuple/to_seq.hpp&gt;</a>
<a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com"
target="_top">Housemarque Oy</a> 2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002<br>
</i><i><EFBFBD> Copyright Edward Diener 2013</i><br>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -9,7 +9,7 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_eat.html">BOOST_PP_TUPLE_EAT</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_eat.html">BOOST_PP_TUPLE_EAT</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -9,7 +9,7 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -2,7 +2,7 @@
<title>tuple/enum.hpp</title> <title>tuple/enum.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"></head><body> <link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
The <b>tuple/enum.hpp</b> header defines a macro to convert a <i>tuple</i> to its comma-separated elements. The <b>tuple/enum.hpp</b> header defines a macro to onvert a <i>tuple</i> to its comma-separated elements.
</div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <div class="code">
@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_enum.html">BOOST_PP_TUPLE_ENUM</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_enum.html">BOOST_PP_TUPLE_ENUM</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -1,27 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/insert.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/insert.hpp</b> header defines
macros to insert an element into an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/insert.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_insert.html">BOOST_PP_TUPLE_INSERT</a> <a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="../../ref/tuple_insert_d.html">BOOST_PP_TUPLE_INSERT_D</a> <a
href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,28 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/pop_back.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/pop_back.hpp</b> header
defines macros to pop an element from the end of an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/pop_back.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_pop_back.html">BOOST_PP_TUPLE_POP_BACK</a> <a
href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="../../ref/tuple_pop_back_z.html">BOOST_PP_TUPLE_POP_BACK_Z</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,28 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/pop_front.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/pop_front.hpp</b> header
defines macros to pop an element from the beginning of an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/pop_front.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_pop_front.html">BOOST_PP_TUPLE_POP_FRONT</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="../../ref/tuple_pop_front_z.html">BOOST_PP_TUPLE_POP_FRONT_Z</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,26 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/push_back.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/push_back.hpp</b> header
defines a macro to append an element to the end of an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/push_back.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_push_back.html">BOOST_PP_TUPLE_PUSH_BACK</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,26 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/push_front.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/push_front.hpp</b> header
defines a macro to append an element to the beginning of an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/push_front.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_push_front.html">BOOST_PP_TUPLE_PUSH_FRONT</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -9,9 +9,9 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_rem.html">BOOST_PP_TUPLE_REM</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_rem.html">BOOST_PP_TUPLE_REM</a> (v)<br>
</li> </li>
<li><a href="../../ref/tuple_rem_ctor.html">BOOST_PP_TUPLE_REM_CTOR</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_rem_ctor.html">BOOST_PP_TUPLE_REM_CTOR</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -1,27 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/remove.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/remove.hpp</b> header defines
macros to remove an element from an <i>array</i>. </div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/remove.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_remove.html">BOOST_PP_TUPLE_REMOVE</a> <a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="../../ref/tuple_remove_d.html">BOOST_PP_TUPLE_REMOVE_D</a> <a
href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,28 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>tuple/replace.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>tuple/replace.hpp</b> header
defines macros to replace an element in an <i>array</i>.</div>
<h4>Usage</h4>
<div class="code"> #include <b>&lt;boost/preprocessor/tuple/replace.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/tuple_replace.html">BOOST_PP_TUPLE_REPLACE</a> <a
href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="../../ref/tuple_replace_d.html">BOOST_PP_TUPLE_REPLACE_D</a>
<a href="../../topics/variadic_macros.html#VNotation">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -9,7 +9,7 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_reverse.html">BOOST_PP_TUPLE_REVERSE</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_reverse.html">BOOST_PP_TUPLE_REVERSE</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_size.html">BOOST_PP_TUPLE_SIZE</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_size.html">BOOST_PP_TUPLE_SIZE</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_to_array.html">BOOST_PP_TUPLE_TO_ARRAY</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/tuple_to_array.html">BOOST_PP_TUPLE_TO_ARRAY</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -9,7 +9,7 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/tuple_to_list.html">BOOST_PP_TUPLE_TO_LIST</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><sup><br> <li><a href="../../ref/tuple_to_list.html">BOOST_PP_TUPLE_TO_LIST</a> (v)<sup><br>
</sup></li> </sup></li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -15,7 +15,7 @@
</h4> </h4>
<ul> <ul>
<li> <li>
<a href="../../ref/tuple_to_seq.html">BOOST_PP_TUPLE_TO_SEQ</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <a href="../../ref/tuple_to_seq.html">BOOST_PP_TUPLE_TO_SEQ</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">

View File

@ -13,17 +13,16 @@
</div> </div>
<h4>Includes</h4> <h4>Includes</h4>
<ul> <ul>
<li><a href="variadic/elem.html">&lt;boost/preprocessor/variadic/elem.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="variadic/elem.html">&lt;boost/preprocessor/variadic/elem.hpp&gt;</a> (v)</li>
<li><a href="variadic/has_opt.html">&lt;boost/preprocessor/variadic/has_opt.hpp&gt;</a> </li> <li><a href="variadic/size.html">&lt;boost/preprocessor/variadic/size.hpp&gt;</a> (v)</li>
<li><a href="variadic/size.html">&lt;boost/preprocessor/variadic/size.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="variadic/to_array.html">&lt;boost/preprocessor/variadic/to_array.hpp&gt;</a> (v)</li>
<li><a href="variadic/to_array.html">&lt;boost/preprocessor/variadic/to_array.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="variadic/to_list.html">&lt;boost/preprocessor/variadic/to_list.hpp&gt;</a> (v)</li>
<li><a href="variadic/to_list.html">&lt;boost/preprocessor/variadic/to_list.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="variadic/to_seq.html">&lt;boost/preprocessor/variadic/to_seq.hpp&gt;</a> (v)</li>
<li><a href="variadic/to_seq.html">&lt;boost/preprocessor/variadic/to_seq.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li> <li><a href="variadic/to_tuple.html">&lt;boost/preprocessor/variadic/to_tuple.hpp&gt;</a> (v)</li>
<li><a href="variadic/to_tuple.html">&lt;boost/preprocessor/variadic/to_tuple.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013,2019</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -14,12 +14,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/variadic_elem.html">BOOST_PP_VARIADIC_ELEM</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/variadic_elem.html">BOOST_PP_VARIADIC_ELEM</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -1,25 +0,0 @@
<html><head>
<title>variadic/has_opt.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"></head><body>
<div style="margin-left: 0px;">
The <b>variadic/has_opt.hpp</b> header defines a macro that determines whether or not the __VA_OPT__ construct is supported.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/variadic/has_opt.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/variadic_has_opt.html">BOOST_PP_VARIADIC_HAS_OPT</a> <br>
</li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2019</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body></html>

View File

@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/variadic_size.html">BOOST_PP_VARIADIC_SIZE</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/variadic_size.html">BOOST_PP_VARIADIC_SIZE</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/variadic_to_array.html">BOOST_PP_VARIADIC_TO_ARRAY</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/variadic_to_array.html">BOOST_PP_VARIADIC_TO_ARRAY</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -10,12 +10,12 @@
</div> </div>
<h4>Contents</h4> <h4>Contents</h4>
<ul> <ul>
<li><a href="../../ref/variadic_to_list.html">BOOST_PP_VARIADIC_TO_LIST</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <li><a href="../../ref/variadic_to_list.html">BOOST_PP_VARIADIC_TO_LIST</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -15,12 +15,12 @@
</h4> </h4>
<ul> <ul>
<li> <li>
<a href="../../ref/variadic_to_seq.html">BOOST_PP_VARIADIC_TO_SEQ</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <a href="../../ref/variadic_to_seq.html">BOOST_PP_VARIADIC_TO_SEQ</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -16,12 +16,12 @@
</h4> </h4>
<ul> <ul>
<li> <li>
<a href="../../ref/variadic_to_tuple.html">BOOST_PP_VARIADIC_TO_TUPLE</a> <a href="../../topics/variadic_macros.html#VNotation" target="_self">(v)</a><br> <a href="../../ref/variadic_to_tuple.html">BOOST_PP_VARIADIC_TO_TUPLE</a> (v)<br>
</li> </li>
</ul> </ul>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<i></i><i><EFBFBD> Copyright Edward Diener 2011,2013</i> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See

View File

@ -1,323 +1,304 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>ref.html</title> <title>ref.html</title>
<link rel="stylesheet" type="text/css" href="styles.css"> <link rel="stylesheet" type="text/css" href="styles.css">
<base target="desc"> <base target="desc">
</head> </head>
<body> <body>
<h4> Reference <small><a href="contents.html" target="index">[back]</a></small> <h4> Reference <small><a href="contents.html" target="index">[back]</a></small>
</h4> </h4>
<ul> <ul>
<!-- A --> <!-- A -->
<li><a href="ref/add.html">ADD</a></li> <li><a href="ref/add.html">ADD</a></li>
<li><a href="ref/add_d.html">ADD_D</a></li> <li><a href="ref/add_d.html">ADD_D</a></li>
<li><a href="ref/and.html">AND</a></li> <li><a href="ref/and.html">AND</a></li>
<li><a href="ref/apply.html">APPLY</a></li> <li><a href="ref/apply.html">APPLY</a></li>
<li><a href="ref/array_data.html">ARRAY_DATA</a></li> <li><a href="ref/array_data.html">ARRAY_DATA</a></li>
<li><a href="ref/array_elem.html">ARRAY_ELEM</a></li> <li><a href="ref/array_elem.html">ARRAY_ELEM</a></li>
<li><a href="ref/array_enum.html">ARRAY_ENUM</a></li> <li><a href="ref/array_enum.html">ARRAY_ENUM</a></li>
<li><a href="ref/array_insert.html">ARRAY_INSERT</a></li> <li><a href="ref/array_insert.html">ARRAY_INSERT</a></li>
<li><a href="ref/array_insert_d.html">ARRAY_INSERT_D</a></li> <li><a href="ref/array_insert_d.html">ARRAY_INSERT_D</a></li>
<li><a href="ref/array_pop_back.html">ARRAY_POP_BACK</a></li> <li><a href="ref/array_pop_back.html">ARRAY_POP_BACK</a></li>
<li><a href="ref/array_pop_back_z.html">ARRAY_POP_BACK_Z</a></li> <li><a href="ref/array_pop_back_z.html">ARRAY_POP_BACK_Z</a></li>
<li><a href="ref/array_pop_front.html">ARRAY_POP_FRONT</a></li> <li><a href="ref/array_pop_front.html">ARRAY_POP_FRONT</a></li>
<li><a href="ref/array_pop_front_z.html">ARRAY_POP_FRONT_Z</a></li> <li><a href="ref/array_pop_front_z.html">ARRAY_POP_FRONT_Z</a></li>
<li><a href="ref/array_push_back.html">ARRAY_PUSH_BACK</a></li> <li><a href="ref/array_push_back.html">ARRAY_PUSH_BACK</a></li>
<li><a href="ref/array_push_front.html">ARRAY_PUSH_FRONT</a></li> <li><a href="ref/array_push_front.html">ARRAY_PUSH_FRONT</a></li>
<li><a href="ref/array_remove.html">ARRAY_REMOVE</a></li> <li><a href="ref/array_remove.html">ARRAY_REMOVE</a></li>
<li><a href="ref/array_remove_d.html">ARRAY_REMOVE_D</a></li> <li><a href="ref/array_remove_d.html">ARRAY_REMOVE_D</a></li>
<li><a href="ref/array_replace.html">ARRAY_REPLACE</a></li> <li><a href="ref/array_replace.html">ARRAY_REPLACE</a></li>
<li><a href="ref/array_replace_d.html">ARRAY_REPLACE_D</a></li> <li><a href="ref/array_replace_d.html">ARRAY_REPLACE_D</a></li>
<li><a href="ref/array_reverse.html">ARRAY_REVERSE</a></li> <li><a href="ref/array_reverse.html">ARRAY_REVERSE</a></li>
<li><a href="ref/array_size.html">ARRAY_SIZE</a></li> <li><a href="ref/array_size.html">ARRAY_SIZE</a></li>
<li><a href="ref/array_to_list.html">ARRAY_TO_LIST</a></li> <li><a href="ref/array_to_list.html">ARRAY_TO_LIST</a></li>
<li><a href="ref/array_to_seq.html">ARRAY_TO_SEQ</a></li> <li><a href="ref/array_to_seq.html">ARRAY_TO_SEQ</a></li>
<li><a href="ref/array_to_tuple.html">ARRAY_TO_TUPLE</a></li> <li><a href="ref/array_to_tuple.html">ARRAY_TO_TUPLE</a></li>
<li><a href="ref/assert.html">ASSERT</a></li> <li><a href="ref/assert.html">ASSERT</a></li>
<li><a href="ref/assert_msg.html">ASSERT_MSG</a></li> <li><a href="ref/assert_msg.html">ASSERT_MSG</a></li>
<li><a href="ref/assign_slot.html">ASSIGN_SLOT</a></li> <li><a href="ref/assign_slot.html">ASSIGN_SLOT</a></li>
<!-- B --> <!-- B -->
<li><a href="ref/bitand.html">BITAND</a></li> <li><a href="ref/bitand.html">BITAND</a></li>
<li><a href="ref/bitnor.html">BITNOR</a></li> <li><a href="ref/bitnor.html">BITNOR</a></li>
<li><a href="ref/bitor.html">BITOR</a></li> <li><a href="ref/bitor.html">BITOR</a></li>
<li><a href="ref/bitxor.html">BITXOR</a></li> <li><a href="ref/bitxor.html">BITXOR</a></li>
<li><a href="ref/bool.html">BOOL</a></li> <li><a href="ref/bool.html">BOOL</a></li>
<!-- C --> <!-- C -->
<li><a href="ref/cat.html">CAT</a></li> <li><a href="ref/cat.html">CAT</a></li>
<li><a href="ref/check_empty.html">CHECK_EMPTY</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/comma.html">COMMA</a></li>
<li><a href="ref/comma.html">COMMA</a></li> <li><a href="ref/comma_if.html">COMMA_IF</a></li>
<li><a href="ref/comma_if.html">COMMA_IF</a></li> <li><a href="ref/compl.html">COMPL</a></li>
<li><a href="ref/compl.html">COMPL</a></li> <li><a href="ref/config_extended_line_info.html">CONFIG_EXTENDED_LINE_INFO</a></li>
<li><a href="ref/config_extended_line_info.html">CONFIG_EXTENDED_LINE_INFO</a></li> <li><a href="ref/counter.html">COUNTER</a></li>
<li><a href="ref/counter.html">COUNTER</a></li> <!-- D -->
<!-- D --> <li><a href="ref/dec.html">DEC</a></li>
<li><a href="ref/dec.html">DEC</a></li> <li><a href="ref/deduce_d.html">DEDUCE_D</a></li>
<li><a href="ref/deduce_d.html">DEDUCE_D</a></li> <li><a href="ref/deduce_r.html">DEDUCE_R</a></li>
<li><a href="ref/deduce_r.html">DEDUCE_R</a></li> <li><a href="ref/deduce_z.html">DEDUCE_Z</a></li>
<li><a href="ref/deduce_z.html">DEDUCE_Z</a></li> <li><a href="ref/div.html">DIV</a></li>
<li><a href="ref/div.html">DIV</a></li> <li><a href="ref/div_d.html">DIV_D</a></li>
<li><a href="ref/div_d.html">DIV_D</a></li> <!-- E -->
<!-- E --> <li><a href="ref/empty.html">EMPTY</a></li>
<li><a href="ref/empty.html">EMPTY</a></li> <li><a href="ref/enum.html">ENUM</a></li>
<li><a href="ref/enum.html">ENUM</a></li> <li><a href="ref/enum_binary_params.html">ENUM_BINARY_PARAMS</a></li>
<li><a href="ref/enum_binary_params.html">ENUM_BINARY_PARAMS</a></li> <li><a href="ref/enum_binary_params_z.html">ENUM_BINARY_PARAMS_Z</a></li>
<li><a href="ref/enum_binary_params_z.html">ENUM_BINARY_PARAMS_Z</a></li> <li><a href="ref/enum_params.html">ENUM_PARAMS</a></li>
<li><a href="ref/enum_params.html">ENUM_PARAMS</a></li> <li><a href="ref/enum_params_with_a_default.html">ENUM_PARAMS_WITH_A_DEFAULT*</a></li>
<li><a href="ref/enum_params_with_a_default.html">ENUM_PARAMS_WITH_A_DEFAULT*</a></li> <li><a href="ref/enum_params_with_defaults.html">ENUM_PARAMS_WITH_DEFAULTS*</a></li>
<li><a href="ref/enum_params_with_defaults.html">ENUM_PARAMS_WITH_DEFAULTS*</a></li> <li><a href="ref/enum_params_z.html">ENUM_PARAMS_Z</a></li>
<li><a href="ref/enum_params_z.html">ENUM_PARAMS_Z</a></li> <li><a href="ref/enum_shifted.html">ENUM_SHIFTED</a></li>
<li><a href="ref/enum_shifted.html">ENUM_SHIFTED</a></li> <li><a href="ref/esbp.html">ENUM_SHIFTED_BINARY_PARAMS</a></li>
<li><a href="ref/esbp.html">ENUM_SHIFTED_BINARY_PARAMS</a></li> <li><a href="ref/esbpz.html">ENUM_SHIFTED_BINARY_PARAMS_Z</a></li>
<li><a href="ref/esbpz.html">ENUM_SHIFTED_BINARY_PARAMS_Z</a></li> <li><a href="ref/enum_shifted_params.html">ENUM_SHIFTED_PARAMS</a></li>
<li><a href="ref/enum_shifted_params.html">ENUM_SHIFTED_PARAMS</a></li> <li><a href="ref/enum_shifted_params_z.html">ENUM_SHIFTED_PARAMS_Z</a></li>
<li><a href="ref/enum_shifted_params_z.html">ENUM_SHIFTED_PARAMS_Z</a></li> <li><a href="ref/enum_shifted_z.html">ENUM_SHIFTED_<i>z</i></a></li>
<li><a href="ref/enum_shifted_z.html">ENUM_SHIFTED_<i>z</i></a></li> <li><a href="ref/enum_trailing.html">ENUM_TRAILING</a></li>
<li><a href="ref/enum_trailing.html">ENUM_TRAILING</a></li> <li><a href="ref/etbp.html">ENUM_TRAILING_BINARY_PARAMS</a></li>
<li><a href="ref/etbp.html">ENUM_TRAILING_BINARY_PARAMS</a></li> <li><a href="ref/etbpz.html">ENUM_TRAILING_BINARY_PARAMS_Z</a></li>
<li><a href="ref/etbpz.html">ENUM_TRAILING_BINARY_PARAMS_Z</a></li> <li><a href="ref/enum_trailing_params.html">ENUM_TRAILING_PARAMS</a></li>
<li><a href="ref/enum_trailing_params.html">ENUM_TRAILING_PARAMS</a></li> <li><a href="ref/enum_trailing_params_z.html">ENUM_TRAILING_PARAMS_Z</a></li>
<li><a href="ref/enum_trailing_params_z.html">ENUM_TRAILING_PARAMS_Z</a></li> <li><a href="ref/enum_trailing_z.html">ENUM_TRAILING_<i>z</i></a></li>
<li><a href="ref/enum_trailing_z.html">ENUM_TRAILING_<i>z</i></a></li> <li><a href="ref/enum_z.html">ENUM_<i>z</i></a></li>
<li><a href="ref/enum_z.html">ENUM_<i>z</i></a></li> <li><a href="ref/equal.html">EQUAL</a></li>
<li><a href="ref/equal.html">EQUAL</a></li> <li><a href="ref/equal_d.html">EQUAL_D*</a></li>
<li><a href="ref/equal_d.html">EQUAL_D*</a></li> <li><a href="ref/expand.html">EXPAND</a></li>
<li><a href="ref/expand.html">EXPAND</a></li> <li><a href="ref/expr_if.html">EXPR_IF</a></li>
<li><a href="ref/expr_if.html">EXPR_IF</a></li> <li><a href="ref/expr_iif.html">EXPR_IIF</a></li>
<li><a href="ref/expr_iif.html">EXPR_IIF</a></li> <!-- F -->
<!-- F --> <li><a href="ref/filename_x.html">FILENAME_<i>x</i></a></li>
<li><a href="ref/filename_x.html">FILENAME_<i>x</i></a></li> <li><a href="ref/for.html">FOR</a></li>
<li><a href="ref/for.html">FOR</a></li> <li><a href="ref/for_r.html">FOR_<i>r</i></a></li>
<li><a href="ref/for_r.html">FOR_<i>r</i></a></li> <li><a href="ref/frame_finish.html">FRAME_FINISH</a></li>
<li><a href="ref/frame_finish.html">FRAME_FINISH</a></li> <li><a href="ref/frame_flags.html">FRAME_FLAGS</a></li>
<li><a href="ref/frame_flags.html">FRAME_FLAGS</a></li> <li><a href="ref/frame_iteration.html">FRAME_ITERATION</a></li>
<li><a href="ref/frame_iteration.html">FRAME_ITERATION</a></li> <li><a href="ref/frame_start.html">FRAME_START</a></li>
<li><a href="ref/frame_start.html">FRAME_START</a></li> <!-- G -->
<!-- G --> <li><a href="ref/greater.html">GREATER</a></li>
<li><a href="ref/greater.html">GREATER</a></li> <li><a href="ref/greater_d.html">GREATER_D</a></li>
<li><a href="ref/greater_d.html">GREATER_D</a></li> <li><a href="ref/greater_equal.html">GREATER_EQUAL</a></li>
<li><a href="ref/greater_equal.html">GREATER_EQUAL</a></li> <li><a href="ref/greater_equal_d.html">GREATER_EQUAL_D</a></li>
<li><a href="ref/greater_equal_d.html">GREATER_EQUAL_D</a></li> <!-- I -->
<!-- I --> <li><a href="ref/identity.html">IDENTITY</a></li>
<li><a href="ref/identity.html">IDENTITY</a></li> <li><a href="ref/if.html">IF</a></li>
<li><a href="ref/identity_n.html">IDENTITY_N</a></li> <li><a href="ref/iif.html">IIF</a></li>
<li><a href="ref/if.html">IF</a></li> <li><a href="ref/inc.html">INC</a></li>
<li><a href="ref/iif.html">IIF</a></li> <li><a href="ref/include_self.html">INCLUDE_SELF</a></li>
<li><a href="ref/inc.html">INC</a></li> <li><a href="ref/indirect_self.html">INDIRECT_SELF</a></li>
<li><a href="ref/include_self.html">INCLUDE_SELF</a></li> <li><a href="ref/intercept.html">INTERCEPT</a></li>
<li><a href="ref/indirect_self.html">INDIRECT_SELF</a></li> <li><a href="ref/is_iterating.html">IS_ITERATING</a></li>
<li><a href="ref/intercept.html">INTERCEPT</a></li> <li><a href="ref/is_selfish.html">IS_SELFISH</a></li>
<li><a href="ref/is_begin_parens.html">IS_BEGIN_PARENS</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/iterate.html">ITERATE</a></li>
<li><a href="ref/is_iterating.html">IS_ITERATING</a></li> <li><a href="ref/iteration.html">ITERATION</a></li>
<li><a href="ref/is_selfish.html">IS_SELFISH</a></li> <li><a href="ref/iteration_depth.html">ITERATION_DEPTH</a></li>
<li><a href="ref/is_standard.html">IS_STANDARD</a></li> <li><a href="ref/iteration_finish.html">ITERATION_FINISH</a></li>
<li><a href="ref/iterate.html">ITERATE</a></li> <li><a href="ref/iteration_flags.html">ITERATION_FLAGS</a></li>
<li><a href="ref/iteration.html">ITERATION</a></li> <li><a href="ref/iteration_limits.html">ITERATION_LIMITS</a></li>
<li><a href="ref/iteration_depth.html">ITERATION_DEPTH</a></li> <li><a href="ref/iteration_params_x.html">ITERATION_PARAMS_<i>x</i></a></li>
<li><a href="ref/iteration_finish.html">ITERATION_FINISH</a></li> <li><a href="ref/iteration_start.html">ITERATION_START</a></li>
<li><a href="ref/iteration_flags.html">ITERATION_FLAGS</a></li> <!-- L -->
<li><a href="ref/iteration_limits.html">ITERATION_LIMITS</a></li> <li><a href="ref/less.html">LESS</a></li>
<li><a href="ref/iteration_params_x.html">ITERATION_PARAMS_<i>x</i></a></li> <li><a href="ref/less_d.html">LESS_D</a></li>
<li><a href="ref/iteration_start.html">ITERATION_START</a></li> <li><a href="ref/less_equal.html">LESS_EQUAL</a></li>
<!-- L --> <li><a href="ref/less_equal_d.html">LESS_EQUAL_D</a></li>
<li><a href="ref/less.html">LESS</a></li> <li><a href="ref/limit_dim.html">LIMIT_DIM</a></li>
<li><a href="ref/less_d.html">LESS_D</a></li> <li><a href="ref/limit_for.html">LIMIT_FOR</a></li>
<li><a href="ref/less_equal.html">LESS_EQUAL</a></li> <li><a href="ref/limit_iteration.html">LIMIT_ITERATION</a></li>
<li><a href="ref/less_equal_d.html">LESS_EQUAL_D</a></li> <li><a href="ref/limit_iteration_dim.html">LIMIT_ITERATION_DIM</a></li>
<li><a href="ref/limit_dim.html">LIMIT_DIM</a></li> <li><a href="ref/limit_mag.html">LIMIT_MAG</a></li>
<li><a href="ref/limit_for.html">LIMIT_FOR</a></li> <li><a href="ref/limit_repeat.html">LIMIT_REPEAT</a></li>
<li><a href="ref/limit_iteration.html">LIMIT_ITERATION</a></li> <li><a href="ref/limit_seq.html">LIMIT_SEQ</a></li>
<li><a href="ref/limit_iteration_dim.html">LIMIT_ITERATION_DIM</a></li> <li><a href="ref/limit_slot_count.html">LIMIT_SLOT_COUNT</a></li>
<li><a href="ref/limit_mag.html">LIMIT_MAG</a></li> <li><a href="ref/limit_slot_sig.html">LIMIT_SLOT_SIG</a></li>
<li><a href="ref/limit_repeat.html">LIMIT_REPEAT</a></li> <li><a href="ref/limit_tuple.html">LIMIT_TUPLE</a></li>
<li><a href="ref/limit_seq.html">LIMIT_SEQ</a></li> <li><a href="ref/limit_variadic.html">LIMIT_VARIADIC</a></li>
<li><a href="ref/limit_slot_count.html">LIMIT_SLOT_COUNT</a></li> <li><a href="ref/limit_while.html">LIMIT_WHILE</a></li>
<li><a href="ref/limit_slot_sig.html">LIMIT_SLOT_SIG</a></li> <li><a href="ref/line.html">LINE</a></li>
<li><a href="ref/limit_tuple.html">LIMIT_TUPLE</a></li> <li><a href="ref/list_append.html">LIST_APPEND</a></li>
<li><a href="ref/limit_variadic.html">LIMIT_VARIADIC</a></li> <li><a href="ref/list_append_d.html">LIST_APPEND_D</a></li>
<li><a href="ref/limit_while.html">LIMIT_WHILE</a></li> <li><a href="ref/list_at.html">LIST_AT</a></li>
<li><a href="ref/line.html">LINE</a></li> <li><a href="ref/list_at_d.html">LIST_AT_D</a></li>
<li><a href="ref/list_append.html">LIST_APPEND</a></li> <li><a href="ref/list_cat.html">LIST_CAT</a></li>
<li><a href="ref/list_append_d.html">LIST_APPEND_D</a></li> <li><a href="ref/list_cat_d.html">LIST_CAT_D</a></li>
<li><a href="ref/list_at.html">LIST_AT</a></li> <li><a href="ref/list_cons.html">LIST_CONS*</a></li>
<li><a href="ref/list_at_d.html">LIST_AT_D</a></li> <li><a href="ref/list_enum.html">LIST_ENUM</a></li>
<li><a href="ref/list_cat.html">LIST_CAT</a></li> <li><a href="ref/list_enum_r.html">LIST_ENUM_R</a></li>
<li><a href="ref/list_cat_d.html">LIST_CAT_D</a></li> <li><a href="ref/list_filter.html">LIST_FILTER</a></li>
<li><a href="ref/list_cons.html">LIST_CONS*</a></li> <li><a href="ref/list_filter_d.html">LIST_FILTER_D</a></li>
<li><a href="ref/list_enum.html">LIST_ENUM</a></li> <li><a href="ref/list_first.html">LIST_FIRST</a></li>
<li><a href="ref/list_enum_r.html">LIST_ENUM_R</a></li> <li><a href="ref/list_first_n.html">LIST_FIRST_N</a></li>
<li><a href="ref/list_filter.html">LIST_FILTER</a></li> <li><a href="ref/list_first_n_d.html">LIST_FIRST_N_D</a></li>
<li><a href="ref/list_filter_d.html">LIST_FILTER_D</a></li> <li><a href="ref/list_fold_left.html">LIST_FOLD_LEFT</a></li>
<li><a href="ref/list_first.html">LIST_FIRST</a></li> <li><a href="ref/list_fold_left_2nd.html">LIST_FOLD_LEFT_2ND*</a></li>
<li><a href="ref/list_first_n.html">LIST_FIRST_N</a></li> <li><a href="ref/list_fold_left_2nd_d.html">LIST_FOLD_LEFT_2ND_D*</a></li>
<li><a href="ref/list_first_n_d.html">LIST_FIRST_N_D</a></li> <li><a href="ref/list_fold_left_d.html">LIST_FOLD_LEFT_<i>d</i></a></li>
<li><a href="ref/list_fold_left.html">LIST_FOLD_LEFT</a></li> <li><a href="ref/list_fold_left_d_old.html">LIST_FOLD_LEFT_D*</a></li>
<li><a href="ref/list_fold_left_2nd.html">LIST_FOLD_LEFT_2ND*</a></li> <li><a href="ref/list_fold_right.html">LIST_FOLD_RIGHT</a></li>
<li><a href="ref/list_fold_left_2nd_d.html">LIST_FOLD_LEFT_2ND_D*</a></li> <li><a href="ref/list_fold_right_2nd.html">LIST_FOLD_RIGHT_2ND*</a></li>
<li><a href="ref/list_fold_left_d.html">LIST_FOLD_LEFT_<i>d</i></a></li> <li><a href="ref/list_fold_right_2nd_d.html">LIST_FOLD_RIGHT_2ND_D*</a></li>
<li><a href="ref/list_fold_left_d_old.html">LIST_FOLD_LEFT_D*</a></li> <li><a href="ref/list_fold_right_d.html">LIST_FOLD_RIGHT_<i>d</i></a></li>
<li><a href="ref/list_fold_right.html">LIST_FOLD_RIGHT</a></li> <li><a href="ref/list_fold_right_d_old.html">LIST_FOLD_RIGHT_D*</a></li>
<li><a href="ref/list_fold_right_2nd.html">LIST_FOLD_RIGHT_2ND*</a></li> <li><a href="ref/list_for_each.html">LIST_FOR_EACH</a></li>
<li><a href="ref/list_fold_right_2nd_d.html">LIST_FOLD_RIGHT_2ND_D*</a></li> <li><a href="ref/list_for_each_i.html">LIST_FOR_EACH_I</a></li>
<li><a href="ref/list_fold_right_d.html">LIST_FOLD_RIGHT_<i>d</i></a></li> <li><a href="ref/list_for_each_i_r.html">LIST_FOR_EACH_I_R</a></li>
<li><a href="ref/list_fold_right_d_old.html">LIST_FOLD_RIGHT_D*</a></li> <li><a href="ref/list_for_each_product.html">LIST_FOR_EACH_PRODUCT</a></li>
<li><a href="ref/list_for_each.html">LIST_FOR_EACH</a></li> <li><a href="ref/list_for_each_product_r.html">LIST_FOR_EACH_PRODUCT_R</a></li>
<li><a href="ref/list_for_each_i.html">LIST_FOR_EACH_I</a></li> <li><a href="ref/list_for_each_r.html">LIST_FOR_EACH_R</a></li>
<li><a href="ref/list_for_each_i_r.html">LIST_FOR_EACH_I_R</a></li> <li><a href="ref/list_is_cons.html">LIST_IS_CONS</a></li>
<li><a href="ref/list_for_each_product.html">LIST_FOR_EACH_PRODUCT</a></li> <li><a href="ref/list_is_nil.html">LIST_IS_NIL</a></li>
<li><a href="ref/list_for_each_product_r.html">LIST_FOR_EACH_PRODUCT_R</a></li> <li><a href="ref/list_nil.html">LIST_NIL*</a></li>
<li><a href="ref/list_for_each_r.html">LIST_FOR_EACH_R</a></li> <li><a href="ref/list_rest.html">LIST_REST</a></li>
<li><a href="ref/list_is_cons.html">LIST_IS_CONS</a></li> <li><a href="ref/list_rest_n.html">LIST_REST_N</a></li>
<li><a href="ref/list_is_nil.html">LIST_IS_NIL</a></li> <li><a href="ref/list_rest_n_d.html">LIST_REST_N_D</a></li>
<li><a href="ref/list_nil.html">LIST_NIL*</a></li> <li><a href="ref/list_reverse.html">LIST_REVERSE</a></li>
<li><a href="ref/list_rest.html">LIST_REST</a></li> <li><a href="ref/list_reverse_d.html">LIST_REVERSE_D</a></li>
<li><a href="ref/list_rest_n.html">LIST_REST_N</a></li> <li><a href="ref/list_size.html">LIST_SIZE</a></li>
<li><a href="ref/list_rest_n_d.html">LIST_REST_N_D</a></li> <li><a href="ref/list_size_d.html">LIST_SIZE_D</a></li>
<li><a href="ref/list_reverse.html">LIST_REVERSE</a></li> <li><a href="ref/list_to_array.html">LIST_TO_ARRAY</a></li>
<li><a href="ref/list_reverse_d.html">LIST_REVERSE_D</a></li> <li><a href="ref/list_to_array_d.html">LIST_TO_ARRAY_D</a></li>
<li><a href="ref/list_size.html">LIST_SIZE</a></li> <li><a href="ref/list_to_seq.html">LIST_TO_SEQ</a></li>
<li><a href="ref/list_size_d.html">LIST_SIZE_D</a></li> <li><a href="ref/list_to_seq_r.html">LIST_TO_SEQ_R</a></li>
<li><a href="ref/list_to_array.html">LIST_TO_ARRAY</a></li> <li><a href="ref/list_to_tuple.html">LIST_TO_TUPLE</a></li>
<li><a href="ref/list_to_array_d.html">LIST_TO_ARRAY_D</a></li> <li><a href="ref/list_to_tuple_r.html">LIST_TO_TUPLE_R</a></li>
<li><a href="ref/list_to_seq.html">LIST_TO_SEQ</a></li> <li><a href="ref/list_transform.html">LIST_TRANSFORM</a></li>
<li><a href="ref/list_to_seq_r.html">LIST_TO_SEQ_R</a></li> <li><a href="ref/list_transform_d.html">LIST_TRANSFORM_D</a></li>
<li><a href="ref/list_to_tuple.html">LIST_TO_TUPLE</a></li> <li><a href="ref/local_iterate.html">LOCAL_ITERATE</a></li>
<li><a href="ref/list_to_tuple_r.html">LIST_TO_TUPLE_R</a></li> <li><a href="ref/local_limits.html">LOCAL_LIMITS</a></li>
<li><a href="ref/list_transform.html">LIST_TRANSFORM</a></li> <li><a href="ref/local_macro.html">LOCAL_MACRO</a></li>
<li><a href="ref/list_transform_d.html">LIST_TRANSFORM_D</a></li> <li><a href="ref/lparen.html">LPAREN</a></li>
<li><a href="ref/local_iterate.html">LOCAL_ITERATE</a></li> <li><a href="ref/lparen_if.html">LPAREN_IF</a></li>
<li><a href="ref/local_limits.html">LOCAL_LIMITS</a></li> <!-- M -->
<li><a href="ref/local_macro.html">LOCAL_MACRO</a></li> <li><a href="ref/max.html">MAX</a></li>
<li><a href="ref/lparen.html">LPAREN</a></li> <li><a href="ref/max_d.html">MAX_D</a></li>
<li><a href="ref/lparen_if.html">LPAREN_IF</a></li> <li><a href="ref/min.html">MIN</a></li>
<!-- M --> <li><a href="ref/min_d.html">MIN_D</a></li>
<li><a href="ref/max.html">MAX</a></li> <li><a href="ref/mod.html">MOD</a></li>
<li><a href="ref/max_d.html">MAX_D</a></li> <li><a href="ref/mod_d.html">MOD_D</a></li>
<li><a href="ref/min.html">MIN</a></li> <li><a href="ref/mul.html">MUL</a></li>
<li><a href="ref/min_d.html">MIN_D</a></li> <li><a href="ref/mul_d.html">MUL_D</a></li>
<li><a href="ref/mod.html">MOD</a></li> <!-- N -->
<li><a href="ref/mod_d.html">MOD_D</a></li> <li><a href="ref/nil.html">NIL</a></li>
<li><a href="ref/mul.html">MUL</a></li> <li><a href="ref/nor.html">NOR</a></li>
<li><a href="ref/mul_d.html">MUL_D</a></li> <li><a href="ref/not.html">NOT</a></li>
<!-- N --> <li><a href="ref/not_equal.html">NOT_EQUAL</a></li>
<li><a href="ref/nil.html">NIL</a></li> <li><a href="ref/not_equal_d.html">NOT_EQUAL_D*</a></li>
<li><a href="ref/nor.html">NOR</a></li> <!-- O -->
<li><a href="ref/not.html">NOT</a></li> <li><a href="ref/or.html">OR</a></li>
<li><a href="ref/not_equal.html">NOT_EQUAL</a></li> <li><a href="ref/overload.html">OVERLOAD</a> (v)</li>
<li><a href="ref/not_equal_d.html">NOT_EQUAL_D*</a></li> <!-- R -->
<!-- O --> <li><a href="ref/relative_finish.html">RELATIVE_FINISH</a></li>
<li><a href="ref/or.html">OR</a></li> <li><a href="ref/relative_flags.html">RELATIVE_FLAGS</a></li>
<li><a href="ref/overload.html">OVERLOAD</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/relative_iteration.html">RELATIVE_ITERATION</a></li>
<!-- R --> <li><a href="ref/relative_start.html">RELATIVE_START</a></li>
<li><a href="ref/relative_finish.html">RELATIVE_FINISH</a></li> <li><a href="ref/repeat.html">REPEAT</a></li>
<li><a href="ref/relative_flags.html">RELATIVE_FLAGS</a></li> <li><a href="ref/repeat_1st.html">REPEAT_1ST*</a></li>
<li><a href="ref/relative_iteration.html">RELATIVE_ITERATION</a></li> <li><a href="ref/repeat_2nd.html">REPEAT_2ND*</a></li>
<li><a href="ref/relative_start.html">RELATIVE_START</a></li> <li><a href="ref/repeat_3rd.html">REPEAT_3RD*</a></li>
<li><a href="ref/remove_parens.html">REMOVE_PARENS</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/repeat_from_to.html">REPEAT_FROM_TO</a></li>
<li><a href="ref/repeat.html">REPEAT</a></li> <li><a href="ref/repeat_from_to_1st.html">REPEAT_FROM_TO_1ST*</a></li>
<li><a href="ref/repeat_1st.html">REPEAT_1ST*</a></li> <li><a href="ref/repeat_from_to_2nd.html">REPEAT_FROM_TO_2ND*</a></li>
<li><a href="ref/repeat_2nd.html">REPEAT_2ND*</a></li> <li><a href="ref/repeat_from_to_3rd.html">REPEAT_FROM_TO_3RD*</a></li>
<li><a href="ref/repeat_3rd.html">REPEAT_3RD*</a></li> <li><a href="ref/repeat_from_to_d.html">REPEAT_FROM_TO_D</a></li>
<li><a href="ref/repeat_from_to.html">REPEAT_FROM_TO</a></li> <li><a href="ref/repeat_from_to_d_z.html">REPEAT_FROM_TO_D_<i>z</i></a></li>
<li><a href="ref/repeat_from_to_1st.html">REPEAT_FROM_TO_1ST*</a></li> <li><a href="ref/repeat_from_to_z.html">REPEAT_FROM_TO_<i>z</i></a></li>
<li><a href="ref/repeat_from_to_2nd.html">REPEAT_FROM_TO_2ND*</a></li> <li><a href="ref/repeat_z.html">REPEAT_<i>z</i></a></li>
<li><a href="ref/repeat_from_to_3rd.html">REPEAT_FROM_TO_3RD*</a></li> <li><a href="ref/rparen.html">RPAREN</a></li>
<li><a href="ref/repeat_from_to_d.html">REPEAT_FROM_TO_D</a></li> <li><a href="ref/rparen_if.html">RPAREN_IF</a></li>
<li><a href="ref/repeat_from_to_d_z.html">REPEAT_FROM_TO_D_<i>z</i></a></li> <!-- S -->
<li><a href="ref/repeat_from_to_z.html">REPEAT_FROM_TO_<i>z</i></a></li> <li><a href="ref/seq_cat.html">SEQ_CAT</a></li>
<li><a href="ref/repeat_z.html">REPEAT_<i>z</i></a></li> <li><a href="ref/seq_cat_s.html">SEQ_CAT_S</a></li>
<li><a href="ref/rparen.html">RPAREN</a></li> <li><a href="ref/seq_elem.html">SEQ_ELEM</a></li>
<li><a href="ref/rparen_if.html">RPAREN_IF</a></li> <li><a href="ref/seq_enum.html">SEQ_ENUM</a></li>
<!-- S --> <li><a href="ref/seq_filter.html">SEQ_FILTER</a></li>
<li><a href="ref/seq_cat.html">SEQ_CAT</a></li> <li><a href="ref/seq_filter_s.html">SEQ_FILTER_S</a></li>
<li><a href="ref/seq_cat_s.html">SEQ_CAT_S</a></li> <li><a href="ref/seq_first_n.html">SEQ_FIRST_N</a></li>
<li><a href="ref/seq_elem.html">SEQ_ELEM</a></li> <li><a href="ref/seq_fold_left.html">SEQ_FOLD_LEFT</a></li>
<li><a href="ref/seq_enum.html">SEQ_ENUM</a></li> <li><a href="ref/seq_fold_left_s.html">SEQ_FOLD_LEFT_<i>s</i></a></li>
<li><a href="ref/seq_filter.html">SEQ_FILTER</a></li> <li><a href="ref/seq_fold_right.html">SEQ_FOLD_RIGHT</a></li>
<li><a href="ref/seq_filter_s.html">SEQ_FILTER_S</a></li> <li><a href="ref/seq_fold_right_s.html">SEQ_FOLD_RIGHT_<i>s</i></a></li>
<li><a href="ref/seq_first_n.html">SEQ_FIRST_N</a></li> <li><a href="ref/seq_for_each.html">SEQ_FOR_EACH</a></li>
<li><a href="ref/seq_fold_left.html">SEQ_FOLD_LEFT</a></li> <li><a href="ref/seq_for_each_i.html">SEQ_FOR_EACH_I</a></li>
<li><a href="ref/seq_fold_left_s.html">SEQ_FOLD_LEFT_<i>s</i></a></li> <li><a href="ref/seq_for_each_i_r.html">SEQ_FOR_EACH_I_R</a></li>
<li><a href="ref/seq_fold_right.html">SEQ_FOLD_RIGHT</a></li> <li><a href="ref/seq_for_each_product.html">SEQ_FOR_EACH_PRODUCT</a></li>
<li><a href="ref/seq_fold_right_s.html">SEQ_FOLD_RIGHT_<i>s</i></a></li> <li><a href="ref/seq_for_each_product_r.html">SEQ_FOR_EACH_PRODUCT_R</a></li>
<li><a href="ref/seq_for_each.html">SEQ_FOR_EACH</a></li> <li><a href="ref/seq_for_each_r.html">SEQ_FOR_EACH_R</a></li>
<li><a href="ref/seq_for_each_i.html">SEQ_FOR_EACH_I</a></li> <li><a href="ref/seq_head.html">SEQ_HEAD</a></li>
<li><a href="ref/seq_for_each_i_r.html">SEQ_FOR_EACH_I_R</a></li> <li><a href="ref/seq_insert.html">SEQ_INSERT</a></li>
<li><a href="ref/seq_for_each_product.html">SEQ_FOR_EACH_PRODUCT</a></li> <li><a href="ref/seq_nil.html">SEQ_NIL</a></li>
<li><a href="ref/seq_for_each_product_r.html">SEQ_FOR_EACH_PRODUCT_R</a></li> <li><a href="ref/seq_pop_back.html">SEQ_POP_BACK</a></li>
<li><a href="ref/seq_for_each_r.html">SEQ_FOR_EACH_R</a></li> <li><a href="ref/seq_pop_front.html">SEQ_POP_FRONT</a></li>
<li><a href="ref/seq_head.html">SEQ_HEAD</a></li> <li><a href="ref/seq_push_back.html">SEQ_PUSH_BACK</a></li>
<li><a href="ref/seq_insert.html">SEQ_INSERT</a></li> <li><a href="ref/seq_push_front.html">SEQ_PUSH_FRONT</a></li>
<li><a href="ref/seq_nil.html">SEQ_NIL</a></li> <li><a href="ref/seq_remove.html">SEQ_REMOVE</a></li>
<li><a href="ref/seq_pop_back.html">SEQ_POP_BACK</a></li> <li><a href="ref/seq_replace.html">SEQ_REPLACE</a></li>
<li><a href="ref/seq_pop_front.html">SEQ_POP_FRONT</a></li> <li><a href="ref/seq_rest_n.html">SEQ_REST_N</a></li>
<li><a href="ref/seq_push_back.html">SEQ_PUSH_BACK</a></li> <li><a href="ref/seq_reverse.html">SEQ_REVERSE</a></li>
<li><a href="ref/seq_push_front.html">SEQ_PUSH_FRONT</a></li> <li><a href="ref/seq_reverse_s.html">SEQ_REVERSE_S</a></li>
<li><a href="ref/seq_remove.html">SEQ_REMOVE</a></li> <li><a href="ref/seq_size.html">SEQ_SIZE</a></li>
<li><a href="ref/seq_replace.html">SEQ_REPLACE</a></li> <li><a href="ref/seq_subseq.html">SEQ_SUBSEQ</a></li>
<li><a href="ref/seq_rest_n.html">SEQ_REST_N</a></li> <li><a href="ref/seq_tail.html">SEQ_TAIL</a></li>
<li><a href="ref/seq_reverse.html">SEQ_REVERSE</a></li> <li><a href="ref/seq_to_array.html">SEQ_TO_ARRAY</a></li>
<li><a href="ref/seq_reverse_s.html">SEQ_REVERSE_S</a></li> <li><a href="ref/seq_to_list.html">SEQ_TO_LIST</a></li>
<li><a href="ref/seq_size.html">SEQ_SIZE</a></li> <li><a href="ref/seq_to_tuple.html">SEQ_TO_TUPLE</a></li>
<li><a href="ref/seq_subseq.html">SEQ_SUBSEQ</a></li> <li><a href="ref/seq_transform.html">SEQ_TRANSFORM</a></li>
<li><a href="ref/seq_tail.html">SEQ_TAIL</a></li> <li><a href="ref/seq_transform_s.html">SEQ_TRANSFORM_S</a></li>
<li><a href="ref/seq_to_array.html">SEQ_TO_ARRAY</a></li> <li><a href="ref/slot.html">SLOT</a></li>
<li><a href="ref/seq_to_list.html">SEQ_TO_LIST</a></li> <li><a href="ref/stringize.html">STRINGIZE</a></li>
<li><a href="ref/seq_to_tuple.html">SEQ_TO_TUPLE</a></li> <li><a href="ref/sub.html">SUB</a></li>
<li><a href="ref/seq_transform.html">SEQ_TRANSFORM</a></li> <li><a href="ref/sub_d.html">SUB_D</a></li>
<li><a href="ref/seq_transform_s.html">SEQ_TRANSFORM_S</a></li> <!-- T -->
<li><a href="ref/slot.html">SLOT</a></li> <li><a href="ref/tuple_eat.html">TUPLE_EAT</a> (v)</li>
<li><a href="ref/stringize.html">STRINGIZE</a></li> <li><a href="ref/tuple_elem.html">TUPLE_ELEM</a> (v)</li>
<li><a href="ref/sub.html">SUB</a></li> <li><a href="ref/tuple_enum.html">TUPLE_ENUM</a> (v)</li>
<li><a href="ref/sub_d.html">SUB_D</a></li> <li><a href="ref/tuple_rem.html">TUPLE_REM</a> (v)</li>
<!-- T --> <li><a href="ref/tuple_rem_ctor.html">TUPLE_REM_CTOR</a> (v)</li>
<li><a href="ref/tuple_eat.html">TUPLE_EAT</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/tuple_reverse.html">TUPLE_REVERSE</a> (v)</li>
<li><a href="ref/tuple_elem.html">TUPLE_ELEM</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/tuple_size.html">TUPLE_SIZE</a> (v)</li>
<li><a href="ref/tuple_enum.html">TUPLE_ENUM</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/tuple_to_array.html">TUPLE_TO_ARRAY</a> (v)</li>
<li><span style="color: gray;"></span><a href="ref/tuple_insert.html">TUPLE_INSERT</a> <li><a href="ref/tuple_to_list.html">TUPLE_TO_LIST</a> (v)</li>
<a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/tuple_to_seq.html">TUPLE_TO_SEQ</a> (v)</li>
<li><a href="ref/tuple_insert_d.html">TUPLE_INSERT_D</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <!-- U -->
<li><a href="ref/tuple_pop_back.html">TUPLE_POP_BACK</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/update_counter.html">UPDATE_COUNTER</a></li>
<li><a href="ref/tuple_pop_back_z.html">TUPLE_POP_BACK_Z</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <!-- V -->
<li><a href="ref/tuple_pop_front.html">TUPLE_POP_FRONT</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/value.html">VALUE</a></li>
<li><a href="ref/tuple_pop_front_z.html">TUPLE_POP_FRONT_Z</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadics.html">VARIADICS</a></li>
<li><a href="ref/tuple_push_back.html">TUPLE_PUSH_BACK</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_elem.html">VARIADIC_ELEM</a> (v)</li>
<li><a href="ref/tuple_push_front.html">TUPLE_PUSH_FRONT</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_size.html">VARIADIC_SIZE</a> (v)</li>
<li><a href="ref/tuple_rem.html">TUPLE_REM</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_to_array.html">VARIADIC_TO_ARRAY</a> (v)</li>
<li><a href="ref/tuple_rem_ctor.html">TUPLE_REM_CTOR</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_to_list.html">VARIADIC_TO_LIST</a> (v)</li>
<li><a href="ref/tuple_remove.html">TUPLE_REMOVE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_to_seq.html">VARIADIC_TO_SEQ</a> (v)</li>
<li><a href="ref/tuple_remove_d.html">TUPLE_REMOVE_D</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/variadic_to_tuple.html">VARIADIC_TO_TUPLE</a> (v)</li>
<li><a href="ref/tuple_replace.html">TUPLE_REPLACE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <!-- W -->
<li><a href="ref/tuple_replace_d.html">TUPLE_REPLACE_D</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/while.html">WHILE</a></li>
<li><a href="ref/tuple_reverse.html">TUPLE_REVERSE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/while_d.html">WHILE_<i>d</i></a></li>
<li><a href="ref/tuple_size.html">TUPLE_SIZE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/wstringize.html">WSTRINGIZE</a></li>
<li><a href="ref/tuple_to_array.html">TUPLE_TO_ARRAY</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <!-- X -->
<li><a href="ref/tuple_to_list.html">TUPLE_TO_LIST</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> <li><a href="ref/xor.html">XOR</a></li>
<li><a href="ref/tuple_to_seq.html">TUPLE_TO_SEQ</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> </ul>
<!-- U --> <!--
<li><a href="ref/update_counter.html">UPDATE_COUNTER</a></li> © Copyright Housemarque Oy 2002
<!-- V --> © Copyright Paul Mensonides 2002
<li><a href="ref/va_opt.html">VA_OPT</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> Distributed under the Boost Software License, Version 1.0.
<li><a href="ref/value.html">VALUE</a></li> (See accompanying file LICENSE_1_0.txt or copy at
<li><a href="ref/variadics.html">VARIADICS</a></li> http://www.boost.org/LICENSE_1_0.txt)
<li><a href="ref/variadic_elem.html">VARIADIC_ELEM</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li> -->
<li><a href="ref/variadic_has_opt.html">VARIADIC_HAS_OPT</a></li>
<li><a href="ref/variadic_seq_to_seq.html">VARIADIC_SEQ_TO_SEQ</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="ref/variadic_size.html">VARIADIC_SIZE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="ref/variadic_to_array.html">VARIADIC_TO_ARRAY</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="ref/variadic_to_list.html">VARIADIC_TO_LIST</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="ref/variadic_to_seq.html">VARIADIC_TO_SEQ</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<li><a href="ref/variadic_to_tuple.html">VARIADIC_TO_TUPLE</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
<!-- W -->
<li><a href="ref/while.html">WHILE</a></li>
<li><a href="ref/while_d.html">WHILE_<i>d</i></a></li>
<li><a href="ref/wstringize.html">WSTRINGIZE</a></li>
<!-- X -->
<li><a href="ref/xor.html">XOR</a></li>
</ul>
<!--
© Copyright Housemarque Oy 2002© Copyright Paul Mensonides 2002
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)-->
</body> </body>
</html> </html>

View File

@ -34,7 +34,7 @@
It is more efficient, however, to use <b>BOOST_PP_ADD_D</b> in such a situation. It is more efficient, however, to use <b>BOOST_PP_ADD_D</b> in such a situation.
</div> </div>
<div> <div>
This macro is the most efficient when <i>x</i> is greater than or equal to <i>y</i>.&nbsp; This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp; However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands. In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
</div> </div>

View File

@ -34,7 +34,7 @@
If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>. If the sum of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
</div> </div>
<div> <div>
This macro is the most efficient when <i>x</i> is greater than or equal to <i>y</i>.&nbsp; This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp; However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands. In other words, <i>x</i> should be the addend that is <i>most likely</i> to be the largest of the two operands.
</div> </div>

View File

@ -1,52 +1,37 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title>BOOST_PP_ARRAY_ENUM</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_ARRAY_ENUM</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_ENUM</b> macro converts an <i>array</i> to its comma-separated elements. The comma-separated elements are in the form of <i>variadic data</i>.<br>
<body> </div>
<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_ENUM</b> <h4> Usage </h4>
macro converts an <i>array</i> to its comma-separated elements. <div class="code"> <b>BOOST_PP_ARRAY_ENUM</b>(<i>array</i>) </div>
The comma-separated elements are in the form of <i>variadic data</i>.<br> <h4> Arguments </h4>
</div> <dl>
<h4> Usage </h4> <dt>array</dt>
<div class="code"> <b>BOOST_PP_ARRAY_ENUM</b>(<i>array</i>) </div> <dd> The <i>array</i> whose elements are to be converted. </dd>
<h4> Arguments </h4> </dl>
<dl> <h4> Remarks </h4>
<dt>array</dt> <div> This macro expands to a comma-separated list of the elements in <i>array</i>.&nbsp;
<dd> The <i>array</i> whose elements are to be converted. </dd> For example, <b>BOOST_PP_ARRAY_ENUM</b>((3,(<i>x,</i><i>y,</i><i>z</i>)))
</dl> expands to...
<h4> Remarks </h4> <div> <i>x</i>, <i>y</i>, <i>z</i> </div>
<div> This macro expands to a comma-separated list of the elements </div>
in <i>array</i>.&nbsp; <h4> Requirements </h4>
For example, <b>BOOST_PP_ARRAY_ENUM</b>((3,(<i>x,</i><i>y,</i><i>z</i>))) <div> <b>Header:</b> &nbsp;<a href="../headers/array/enum.html">&lt;boost/preprocessor/array/enum.hpp&gt;</a>
expands </div>
to... <h4> Sample Code </h4>
<div> <i>x</i>, <i>y</i>, <i>z<br> <div>
</i> </div> <pre>#include &lt;<a href="../headers/array/enum.html">boost/preprocessor/array/enum.hpp</a>&gt;<br><br>#define ARRAY (5,(B,O,O,S,T))<br><br><a href="array_enum.html">BOOST_PP_ARRAY_ENUM</a>(ARRAY) // expands to B, O, O, S, T<br></pre>
</div> </div>
<p>&nbsp;&nbsp;&nbsp; In <a <hr size="1">
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#C20_Support_For_Variadic_Macros">C++ <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
20</a> mode if the array is empty the resulting <i>variadic</i> <div style="margin-left: 0px;">
<i>data</i> will be empty.</p> <p><small>Distributed under the Boost Software License, Version 1.0.
<h4> </h4> (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
<h4>Requirements </h4> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<div> <b>Header:</b> &nbsp;<a href="../headers/array/enum.html">&lt;boost/preprocessor/array/enum.hpp&gt;</a> </div>
</div> </body>
<h4> Sample Code </h4>
<div>
<pre>#include &lt;<a href="../headers/array/enum.html">boost/preprocessor/array/enum.hpp</a>&gt;<br><br>#define ARRAY (5,(B,O,O,S,T))<br><br><a href="array_enum.html">BOOST_PP_ARRAY_ENUM</a>(ARRAY) // expands to B, O, O, S, T<br></pre>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener
2011</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,51 +1,59 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_ARRAY_POP_FRONT</title>
<title>BOOST_PP_ARRAY_POP_FRONT</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_POP_FRONT</b> macro The <b>BOOST_PP_ARRAY_POP_FRONT</b> macro pops an element from the end of an <i>array</i>.
pops an element from the beginning of an <i>array</i>.</div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <b>BOOST_PP_ARRAY_POP_FRONT</b>(<i>array</i>) </div> <div class="code">
<h4>Arguments</h4> <b>BOOST_PP_ARRAY_POP_FRONT</b>(<i>array</i>)
<dl> </div>
<dt>array</dt> <h4>Arguments</h4>
<dd> The <i>array</i> to pop an element from. </dd> <dl>
</dl> <dt>array</dt>
<h4>Remarks</h4> <dd>
<div> This macro returns <i>array</i> after removing the first The <i>array</i> to pop an element from.
element.&nbsp; If <i>array</i> has no elements, the result of applying </dd>
this macro is undefined. </div> </dl>
<div> This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp; Therefore, <h4>Remarks</h4>
to use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>, <div>
see <b>BOOST_PP_ARRAY_POP_FRONT_Z</b> </div> This macro returns <i>array</i> after removing the first element.&nbsp;
<h4>See Also</h4> If <i>array</i> has no elements, the result of applying this macro is undefined.
<ul> </div>
<li><a href="array_pop_front_z.html">BOOST_PP_ARRAY_POP_FRONT_Z</a></li> <div>
</ul> This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp;
<h4>Requirements</h4> Therefore, to use the <i>z</i> parameter passed from other macros that use
<div> <b>Header:</b> &nbsp;<a href="../headers/array/pop_front.html">&lt;boost/preprocessor/array/pop_front.hpp&gt;</a> <b>BOOST_PP_REPEAT</b>, see <b>BOOST_PP_ARRAY_POP_FRONT_Z</b>
</div> </div>
<h4>Sample Code</h4> <h4>See Also</h4>
<div> <ul>
<pre>#include &lt;<a href="../headers/array/pop_front.html">boost/preprocessor/array/pop_front.hpp</a>&gt; <li><a href="array_pop_front_z.html">BOOST_PP_ARRAY_POP_FRONT_Z</a></li>
</ul>
<h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/array/pop_front.html">&lt;boost/preprocessor/array/pop_front.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/array/pop_front.html">boost/preprocessor/array/pop_front.hpp</a>&gt;
#define ARRAY (3, (a, b, c)) #define ARRAY (3, (a, b, c))
<a href="array_pop_front.html">BOOST_PP_ARRAY_POP_FRONT</a>(ARRAY) // expands to (2, (b, c)) <a href="array_pop_front.html">BOOST_PP_ARRAY_POP_FRONT</a>(ARRAY) // expands to (2, (b, c))
</pre></div> </pre></div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
target="_top">Housemarque Oy</a> 2002</i> <br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002<br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</i><i><EFBFBD> Copyright Edward Diener 2013</i><br> </div>
</div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> copy at <a href=
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,41 +1,33 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_ARRAY_TO_LIST</title>
<title>BOOST_PP_ARRAY_TO_LIST</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_LIST</b>
<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_LIST</b> macro macro converts an <i>array</i> to a <i>list</i>. </div>
converts an <i>array</i> to a <i>list</i>. </div> <h4>Usage</h4>
<h4>Usage</h4> <div class="code"> <b>BOOST_PP_ARRAY_TO_LIST</b>(<i>array</i>)
<div class="code"> <b>BOOST_PP_ARRAY_TO_LIST</b>(<i>array</i>) </div> </div>
<h4>Arguments</h4> <h4>Arguments</h4>
<dl> <dl><dt>array</dt>
<dt>array</dt> <dd> The <i>array</i> to be converted. </dd>
<dd> The <i>array</i> to be converted.</dd> </dl>
</dl> <a href="limit_tuple.html"></a><ul>
<ul> </ul>
</ul> <h4>Requirements</h4>
<h4>Remarks</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/array/to_list.html">&lt;boost/preprocessor/array/to_list.hpp&gt;</a>
<p>&nbsp;&nbsp;&nbsp; If the <i>array</i> to be converted is empty, as </div>
represented by '( 0, () )', the resulting <i>list</i> is empty, as <h4>Sample Code</h4>
represented by 'BOOST_PP_NIL'.</p> <div>
<h4>Requirements</h4> <pre>#include &lt;<a href="../headers/array/to_list.html">boost/preprocessor/array/to_list.hpp</a>&gt;<br><br><a href="array_to_list.html">BOOST_PP_ARRAY_TO_LIST</a>((3, (x, y, z)))<br> // expands to (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>)))<br></pre>
<div> <b>Header:</b> &nbsp;<a href="../headers/array/to_list.html">&lt;boost/preprocessor/array/to_list.hpp&gt;</a> </div>
</div> <hr size="1">
<h4>Sample Code</h4> <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
<div> <div style="margin-left: 0px;">
<pre>#include &lt;<a href="../headers/array/to_list.html">boost/preprocessor/array/to_list.hpp</a>&gt;<br><br><a <p><small>Distributed under the Boost Software License, Version 1.0.
href="array_to_list.html">BOOST_PP_ARRAY_TO_LIST</a>((3, (x, y, z)))<br> // expands to (x, (y, (z, <a (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
href="nil.html">BOOST_PP_NIL</a>)))</pre> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
<hr size="1"> </body>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2011</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
s
</body>
</html> </html>

View File

@ -1,37 +1,31 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_ARRAY_TO_SEQ</title>
<title>BOOST_PP_ARRAY_TO_SEQ</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_SEQ</b> macro
<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_SEQ</b> macro converts an <i>array</i> to a <i>seq</i>. </div>
converts an <i>array</i> to a <i>seq</i>. </div> <h4> Usage </h4>
<h4> Usage </h4> <div class="code"> <b>BOOST_PP_ARRAY_TO_SEQ</b>(<i>array</i>)
<div class="code"> <b>BOOST_PP_ARRAY_TO_SEQ</b>(<i>array</i>) </div> </div>
<h4> Arguments </h4> <h4> Arguments </h4>
<dl> <dl><dt>array</dt>
<dt>array</dt> <dd> The <i>array</i> to be converted. </dd>
<dd> The <i>array</i> to be converted.</dd> </dl>
</dl> <h4> Requirements </h4>
<h4>Remarks</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/array/to_seq.html">&lt;boost/preprocessor/array/to_seq.hpp&gt;</a>
<p>&nbsp;&nbsp;&nbsp; If the <i>array</i> to be converted is empty, as </div>
represented by '( 0, () )', the resulting <i>seq</i> is undefined since a <h4> Sample Code </h4>
<i>seq</i> cannot be empty.</p> <div>
<h4>Requirements </h4> <pre>#include &lt;<a href="../headers/array/to_seq.html">boost/preprocessor/array/to_seq.hpp</a>&gt;<br><br><a href="array_to_seq.html">BOOST_PP_ARRAY_TO_SEQ</a>((3, (a, b, c))) // expands to (a)(b)(c)<br></pre>
<div> <b>Header:</b> &nbsp;<a href="../headers/array/to_seq.html">&lt;boost/preprocessor/array/to_seq.hpp&gt;</a> </div>
</div> <hr size="1">
<h4> Sample Code </h4> <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
<div> <div style="margin-left: 0px;">
<pre>#include &lt;<a href="../headers/array/to_seq.html">boost/preprocessor/array/to_seq.hpp</a>&gt;<br><br><a <p><small>Distributed under the Boost Software License, Version 1.0.
href="array_to_seq.html">BOOST_PP_ARRAY_TO_SEQ</a>((3, (a, b, c))) // expands to (a)(b)(c)</pre> (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
</div> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<hr size="1"> </div>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2011</i> </div> </body>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,39 +1,31 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_ARRAY_TO_TUPLE</title>
<title>BOOST_PP_ARRAY_TO_TUPLE</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_TUPLE</b> macro
<div style="margin-left: 0px;"> The <b>BOOST_PP_ARRAY_TO_TUPLE</b> macro converts an <i>array</i> to an <i>tuple</i>. </div>
converts an <i>array</i> to an <i>tuple</i>. </div> <h4> Usage </h4>
<h4> Usage </h4> <div class="code"> <b>BOOST_PP_ARRAY_TO_TUPLE</b>(<i>array</i>) </div>
<div class="code"> <b>BOOST_PP_ARRAY_TO_TUPLE</b>(<i>array</i>) </div> <h4> Arguments </h4>
<h4> Arguments </h4> <dl>
<dl> <dt>array</dt>
<dt>array</dt> <dd> The <i>array</i> to be converted. </dd>
<dd> The <i>array</i> to be converted.</dd> </dl>
</dl> <h4> Requirements </h4>
<h4>Remarks</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/array/to_tuple.html">&lt;boost/preprocessor/array/to_tuple.hpp&gt;</a>
<p>&nbsp;&nbsp;&nbsp; If the <i>array</i> to be converted is empty, as </div>
represented by '( 0, () )', the resulting <i>tuple</i> is undefined <h4> Sample Code </h4>
since a <i>tuple</i> cannot be empty.</p> <div>
<h4>Requirements </h4> <pre>#include &lt;<a href="../headers/array/to_tuple.html">boost/preprocessor/array/to_tuple.hpp</a>&gt;<br><br>#define ARRAY (3,(a, b, c))<br><br><a href="array_to_tuple.html">BOOST_PP_ARRAY_TO_TUPLE</a>(ARRAY) // expands to (a, b, c)<br></pre>
<div> <b>Header:</b> &nbsp;<a href="../headers/array/to_tuple.html">&lt;boost/preprocessor/array/to_tuple.hpp&gt;</a> </div>
</div> <hr size="1">
<h4> Sample Code </h4> <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
<div> <div style="margin-left: 0px;">
<pre>#include &lt;<a href="../headers/array/to_tuple.html">boost/preprocessor/array/to_tuple.hpp</a>&gt;<br><br>#define ARRAY (3,(a, b, c))<br><br><a <p><small>Distributed under the Boost Software License, Version 1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
href="array_to_tuple.html">BOOST_PP_ARRAY_TO_TUPLE</a>(ARRAY) // expands to (a, b, c)</pre> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
<hr size="1"> </body>
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,68 +0,0 @@
<html>
<head>
<title>BOOST_PP_CHECK_EMPTY</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_CHECK_EMPTY</b> variadic macro
checks to see if its variadic input is empty or not. It expands to 1 if its input
is empty and expands to 0 if its input is not empty. The macro only exists when
the compilation is at the C++20 level and the __VA_OPT__ construct is supported.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_CHECK_EMPTY</b>(<i>...</i>) <a href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a><br>
</div>
<h4>Arguments</h4>
<dl>
<dt>...<br>
</dt>
<dd> The <i>variadic data</i> to be checked for emptiness. </dd>
</dl>
<h4>Remarks</h4>
<div>
When the macro invocation BOOST_PP_VARIADIC_HAS_OPT() expands to 1, then this
macro exists and can be invoked, otherwise this macro does not exist
and attempting to invoke it will lead to a preprocessor error that the macro
can not be found. Because of this condition the header file for including
this macro includes the header file for the BOOST_PP_VARIADIC_HAS_OPT macro.<br>
It is possible to pass data to this macro which expands to nothing, in which
case this macro will expand to 1 just as if nothing has been passed.
</div>
<h4>See Also</h4>
<ul>
<li><a href="variadic_has_opt.html">BOOST_PP_VARIADIC_HAS_OPT</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/facilities/check_empty.html">&lt;boost/preprocessor/facilities/check_empty.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>
#include &lt;<a href="../headers/facilities/check_empty.html">boost/preprocessor/facilities/check_empty.hpp</a>&gt;
# if <a href="variadic_has_opt.html">BOOST_PP_VARIADIC_HAS_OPT</a>()
#define DATA
#define OBJECT OBJECT2
#define OBJECT2
#define FUNC(x) FUNC2(x)
#define FUNC2(x)
#define FUNC_GEN(x,y) (1,2,3)
<a href="check_empty.html">BOOST_PP_CHECK_EMPTY</a>(DATA) // expands to 1
<a href="check_empty.html">BOOST_PP_CHECK_EMPTY</a>(OBJECT) // expands to 1
<a href="check_empty.html">BOOST_PP_CHECK_EMPTY</a>(FUNC(1)) // expands to 1
<a href="check_empty.html">BOOST_PP_CHECK_EMPTY</a>(FUNC) // expands to 0
<a href="check_empty.html">BOOST_PP_CHECK_EMPTY</a>(FUNC_GEN) // expands to 0
#endif
</pre>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2019</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -22,7 +22,7 @@
<div> <div>
This macro is useful when a delay is necessary to produce the correct semantics of a macro invocation.&nbsp; This macro is useful when a delay is necessary to produce the correct semantics of a macro invocation.&nbsp;
For example, when a macro expands to an argument list to another macro.&nbsp; For example, when a macro expands to an argument list to another macro.&nbsp;
This macro will expand the argument list on the first pass, and then rescan to expand any more macros. This macro will expand the the argument list on the first pass, and then rescan to expand any more macros.
</div> </div>
<h4>Requirements</h4> <h4>Requirements</h4>
<div> <div>

View File

@ -1,68 +1,75 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_FOR_r</title>
<title>BOOST_PP_FOR_r</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_FOR_<i>r</i></b> macro The <b>BOOST_PP_FOR_<i>r</i></b> macro represents a reentry into the <b>BOOST_PP_FOR</b> repetition construct.
represents a reentry into the <b>BOOST_PP_FOR</b> repetition construct. </div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <b>BOOST_PP_FOR_</b> ## <i>r</i>(<i>state</i>, <i>pred</i>, <div class="code">
<i>op</i>, <i>macro</i>) </div> <b>BOOST_PP_FOR_</b> ## <i>r</i>(<i>state</i>, <i>pred</i>, <i>op</i>, <i>macro</i>)
<h4>Arguments</h4> </div>
<dl> <h4>Arguments</h4>
<dt>r</dt> <dl>
<dd> The next available <b>BOOST_PP_FOR</b> repetition. </dd> <dt>r</dt>
<dt>state</dt> <dd>
<dd> The initial state. </dd> The next available <b>BOOST_PP_FOR</b> repetition.
<dt>pred</dt> </dd>
<dd> A binary predicate of the form <i>pred</i>(<i>r</i>, <i>state</i>).&nbsp; <dt>state</dt>
This macro must expand to an integer in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp; <dd>
<b>BOOST_PP_FOR</b> repeatedly expands <i>macro</i> while this The initial state.
predicate returns non-zero.&nbsp; This macro is called with the next </dd>
available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>. <dt>pred</dt>
</dd> <dd>
<dt>op</dt> A binary predicate of the form <i>pred</i>(<i>r</i>, <i>state</i>).&nbsp;
<dd> A binary operation of the form <i>op</i>(<i>r</i>, <i>state</i>).&nbsp; This macro must expand to an integer in the range of <i>0</i> to <b>BOOST_PP_LIMIT_MAG</b>.&nbsp;
This operation is expanded by <b>BOOST_PP_FOR</b> with the next <b>BOOST_PP_FOR</b> repeatedly expands <i>macro</i> while this predicate returns non-zero.&nbsp;
available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp; This macro is called with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.
This macro is repeatedly applied to the <i>state</i>, each time </dd>
producing a new <i>state</i>, until <i>pred</i> returns <i>0</i>. </dd> <dt>op</dt>
<dt>macro</dt> <dd>
<dd> A binary macro of the form <i>macro</i>(<i>r</i>, <i>state</i>).&nbsp; A binary operation of the form <i>op</i>(<i>r</i>, <i>state</i>).&nbsp;
This macro is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> This operation is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
repetition and the current <i>state</i>.&nbsp; This macro is is This macro is repeatedly applied to the <i>state</i>, each time producing a new <i>state</i>, until <i>pred</i> returns <i>0</i>.
repeated by <b>BOOST_PP_FOR</b> until <i>pred</i> returns <i>0</i>. </dd> </dd>
</dl> <dt>macro</dt>
<h4>Remarks</h4> <dd>
<div> This macro expands to the sequence: A binary macro of the form <i>macro</i>(<i>r</i>, <i>state</i>).&nbsp;
<div> <i>macro</i>(<i>r</i>, <i>state</i>) <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, This macro is expanded by <b>BOOST_PP_FOR</b> with the next available <b>BOOST_PP_FOR</b> repetition and the current <i>state</i>.&nbsp;
<i>state</i>)) ... <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, ... <i>op</i>(<i>r</i>, This macro is is repeated by <b>BOOST_PP_FOR</b> until <i>pred</i> returns <i>0</i>.
<i>state</i>) ... )) </div> </dd>
</div> </dl>
<div> At certain times, it may be necessary to perform the concatenation <h4>Remarks</h4>
with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting <div>
operator.&nbsp; This happens when the <i>r</i> value is a macro This macro expands to the sequence:
invocation itself.&nbsp; It needs a delay to allow it to expand.&nbsp; The <div>
syntax in such a scenario becomes: <i>macro</i>(<i>r</i>, <i>state</i>) <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, <i>state</i>)) ... <i>macro</i>(<i>r</i>, <i>op</i>(<i>r</i>, ... <i>op</i>(<i>r</i>, <i>state</i>) ... ))
<div> <b>BOOST_PP_CAT</b>(<b>BOOST_PP_FOR_</b>, <i>r</i>)(<i>state</i>, </div>
<i>pred</i>, <i>op</i>, <i>macro</i>) </div> </div>
</div> <div>
<h4>See Also</h4> At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
<ul> This happens when the <i>r</i> value is a macro invocation itself.&nbsp;
<li><a href="cat.html">BOOST_PP_CAT</a></li> It needs a delay to allow it to expand.&nbsp;
<li><a href="for.html">BOOST_PP_FOR</a></li> The syntax in such a scenario becomes:
<li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li> <div>
<li><a href="for_r_macros.html"><span style="color: gray;">Macros with R <b>BOOST_PP_CAT</b>(<b>BOOST_PP_FOR_</b>, <i>r</i>)(<i>state</i>, <i>pred</i>, <i>op</i>, <i>macro</i>)
re-entrancy forms</span></a></li> </div>
</ul> </div>
<h4>Requirements</h4> <h4>See Also</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/repetition/for.html">&lt;boost/preprocessor/repetition/for.hpp&gt;</a> <ul>
</div> <li><a href="cat.html">BOOST_PP_CAT</a></li>
<h4>Sample Code</h4> <li><a href="for.html">BOOST_PP_FOR</a></li>
<div> <li><a href="limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
<pre>#include &lt;<a href="../headers/arithmetic/dec.html">boost/preprocessor/arithmetic/dec.hpp</a>&gt; </ul>
<h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/repetition/for.html">&lt;boost/preprocessor/repetition/for.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/arithmetic/dec.html">boost/preprocessor/arithmetic/dec.hpp</a>&gt;
#include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt; #include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt;
#include &lt;<a href="../headers/comparison/not_equal.html">boost/preprocessor/comparison/not_equal.hpp</a>&gt; #include &lt;<a href="../headers/comparison/not_equal.html">boost/preprocessor/comparison/not_equal.hpp</a>&gt;
#include &lt;<a href="../headers/punctuation/comma_if.html">boost/preprocessor/punctuation/comma_if.hpp</a>&gt; #include &lt;<a href="../headers/punctuation/comma_if.html">boost/preprocessor/punctuation/comma_if.hpp</a>&gt;
@ -133,16 +140,16 @@ TEMPLATE_TEMPLATE(2, 4, T)
template&lt;class, class, class, class&gt; class T4 template&lt;class, class, class, class&gt; class T4
*/ */
</pre></div> </pre></div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
target="_top">Housemarque Oy</a> 2002</i> <br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002<br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</i><i><EFBFBD> Copyright Edward Diener 2014</i><br> </div>
</div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> copy at <a href=
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,44 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_FOR_r_macros</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>This is a list, based on functionality, of the macros which have an
alternate <b>_<i>r</i></b> name, representing a reentry into the <b>BOOST_PP_FOR</b>
looping construct:
<p>repetition</p>
<ul>
<li><a href="deduce_r.html">BOOST_PP_DEDUCE_R</a></li>
</ul>
list<br>
<ul>
<li><a href="list_enum_r.html">BOOST_PP_LIST_ENUM_R</a></li>
<li><a href="list_for_each_i_r.html">BOOST_PP_LIST_FOR_EACH_I_R</a></li>
<li><a href="list_for_each_product_r.html">BOOST_PP_LIST_FOR_EACH_PRODUCT_R</a></li>
<li><a href="list_for_each_r.html">BOOST_PP_LIST_FOR_EACH_R</a></li>
<li><a href="list_to_seq_r.html">BOOST_PP_LIST_TO_SEQ_R</a></li>
<li><a href="list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li>
</ul>
seq<br>
<ul>
<li><a href="seq_for_each_product_r.html">BOOST_PP_SEQ_FOR_EACH_PRODUCT_R</a></li>
<li><a href="seq_for_each_r.html">BOOST_PP_SEQ_FOR_EACH_R</a></li>
</ul>
base<br>
<ul>
<li><a href="for_r.html">BOOST_PP_FOR_R</a><br>
</li>
</ul>
<br>
<ul>
</ul>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,58 +0,0 @@
<html>
<head>
<title>BOOST_PP_IDENTITY_N</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>BOOST_PP_IDENTITY_N</b> macro expands to its first argument when invoked.
</div>
<h4>Usage</h4>
<div class="code">
<b>BOOST_PP_IDENTITY_N</b>(<i>item,n</i>)(n-arguments)
</div>
<h4>Arguments</h4>
<dl>
<dt>item</dt>
<dd>
The result of the expansion.
</dd>
<dt>n</dt>
<dd>
The number of arguments when invoked.
</dd>
</dl>
<h4>Remarks</h4>
<div>
This macro is designed to be used with <b>BOOST_PP_IF</b> and <b>BOOST_PP_IIF</b> when only one of the clauses needs to be invoked.
</div>
<h4>See Also</h4>
<ul>
<li><a href="if.html">BOOST_PP_IF</a></li>
<li><a href="iif.html">BOOST_PP_IIF</a></li>
</ul>
<h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/facilities/identity.html">&lt;boost/preprocessor/facilities/identity.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/control/if.html">boost/preprocessor/control/if.hpp</a>&gt;
#include &lt;<a href="../headers/facilities/identity.html">boost/preprocessor/facilities/identity.hpp</a>&gt;
#define MACRO_CAT(y,z) y ## z
#define MACRO(n) <a href="if.html">BOOST_PP_IF</a>(n, <a href="identity_n.html">BOOST_PP_IDENTITY_N</a>(x,2), MACRO_CAT)(a,b)
MACRO(0) // expands to ab
MACRO(1) // expands to x
</pre></div>
<hr size="1">
<div style="margin-left: 0px"><i>&copy; Copyright Edward Diener 2015</i></div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href=
"http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,47 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_IS_BEGIN_PARENS</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_IS_BEGIN_PAREN</b>S
determines whether the input starts with a set of parenthesis.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_IS_BEGIN_PARENS</b>(...) <a href="../topics/variadic_macros.html#VNotation"
target="_self"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<h4>&nbsp;&nbsp;&nbsp; ...&nbsp;&nbsp;&nbsp; <span style="font-weight: normal;">&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; The input as variadic data.</span></h4>
<h4>Remarks</h4>
<div> If the input input begins with a parenthesis, with any data within
that parenthesis, the macro returns 1, otherwise it returns 0. Data may
follow the beginning parenthesis and the macro still will return 1.<br>
<br>
For Visual Studio 2005 ( VC8 ) the input data must be a single parameter
else a compilation error will occur.</div>
<h4>See Also</h4>
<ul>
<li><a href="remove_parens.html">BOOST_PP_REMOVE_PARENS</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/punctuation/is_begin_parens.html">&lt;boost/preprocessor/punctuation/is_begin_parens.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/punctuation/is_begin_parens.html">boost/preprocessor/punctuation/is_begin_parens.hpp</a>&gt;
#define VARDATA more_data , more_params<br>#define VARDATAP ( data ) more_data , more_params<br>#define DATA data<br>#define DATAP ( data ) more_data<br>
BOOST_PP_IS_BEGIN_PARENS(VARDATA) // expands to 0, compiler error with VC8
BOOST_PP_IS_BEGIN_PARENS(VARDATAP) // expands to 1, compiler error with VC8<br><br>BOOST_PP_IS_BEGIN_PARENS(DATA) // expands to 0
BOOST_PP_IS_BEGIN_PARENS(DATAP) // expands to 1<br><br>BOOST_PP_IS_BEGIN_PARENS() // expands to 0<br>
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,44 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>BOOST_PP_IS_STANDARD</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_IS_STANDARD </b>macro
specifies whether the compiler's preprocessor is a standard
conforming one or not.<br>
</div>
<h4>Usage</h4>
<div class="code"><b>BOOST_PP_IS_STANDARD()</b><br>
</div>
<b>Remarks</b>
<div> The macro is a <i>function-like</i> macro taking no
parameters. It is used to check if the compiler's preprocessor is
standard conforming. One use for the end-user is to see if <a
href="../topics/limitations.html">limitations</a> can be
changed, since changes will only take affect for standard
conforming preprocessors. The macro expands to 1 if
the compiler's preprocessor is standard conforming and 0 if it is
not.</div>
<b>Requirements</b>
<div> <b>Header:</b> &nbsp;<a
href="../headers/config/variadics.html">&lt;boost/preprocessor/config/config.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>// Beginning of source file<br><br>#include &lt;<a href="../headers/config/variadics.html">boost/preprocessor/config/config.hpp</a>&gt;<br><br>#if <a href="variadics.html">BOOST_PP_IS_STANDARD()</a><br>#define BOOST_PP_LIMIT_MAG 512<br>#endif<br><br>#include &lt;boost/preprocessor/arithmetic.hpp&gt; // etc.<br></pre>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2020</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,45 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; <title>BOOST_PP_LIMIT_FOR</title>
charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_FOR</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_FOR</b> macro defines the maximum number of <b>BOOST_PP_FOR</b> repetitions.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_FOR</b> macro </div>
defines the maximum number of <b>BOOST_PP_FOR</b> repetitions. </div> <h4>Usage</h4>
<h4>Usage</h4> <div class="code">
<div class="code"> <b>BOOST_PP_LIMIT_FOR</b> </div> <b>BOOST_PP_LIMIT_FOR</b>
<h4>Remarks</h4> </div>
<div>This macro expands by default to <i>256</i>. For a C++ <h4>Remarks</h4>
standard conforming preprocessor, the end-user can change this to <div>
512 or 1024 by defining this macro to either value before This macro currently expands to <i>256</i>.
including any library headers, as long as the end-user also </div>
defines the <a <h4>Requirements</h4>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a> <div>
macro to be equal to or greater than this value.</div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
<h4>Requirements</h4> </div>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <hr size="1">
</div> <div style="margin-left: 0px;">
<b>See also<br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</b> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<ul> </div>
<li><a href="../topics/limitations.html">Limitations</a></li> <div style="margin-left: 0px;">
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> <p><small>Distributed under the Boost Software License, Version 1.0. (See
</li> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
</ul> copy at <a href=
<br> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<hr size="1"> </div>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a </body>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a>
2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,46 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; <title>BOOST_PP_LIMIT_ITERATION</title>
charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_ITERATION</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_ITERATION</b> macro defines the maximum number of <i>local</i> and <i>file</i> iterations.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_ITERATION</b> </div>
macro defines the maximum number of <i>local</i> and <i>file</i> <h4>Usage</h4>
iterations. </div> <div class="code">
<h4>Usage</h4> <b>BOOST_PP_LIMIT_ITERATION</b>
<div class="code"> <b>BOOST_PP_LIMIT_ITERATION</b> </div> </div>
<h4>Remarks</h4> <h4>Remarks</h4>
<div> This macro expands by default to <i>256</i>. For a C++ <div>
standard conforming preprocessor, the end-user can change this to This macro currently expands to <i>256</i>.
512 or 1024 by defining this macro to either value before </div>
including any library headers, as long as the end-user also <h4>Requirements</h4>
defines the <a href="../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a> <div>
macro to be equal to or greater than this value. <br> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</div> </div>
<h4>Requirements</h4> <hr size="1">
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <div style="margin-left: 0px;">
</div> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<b>See also<br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</b> </div>
<ul> <div style="margin-left: 0px;">
<li><a href="../topics/limitations.html">Limitations</a></li> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
</li> copy at <a href=
</ul> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<br> </div>
<hr size="1"> </body>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a
href="http://www.housemarque.com" target="_top">Housemarque Oy</a>
2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,42 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; <title>BOOST_PP_LIMIT_MAG</title>
charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_MAG</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_MAG</b> macro defines the maximum input and result magnitudes of arithmetic.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_MAG</b> macro </div>
defines the maximum input and result magnitudes of arithmetic. </div> <h4>Usage</h4>
<h4>Usage</h4> <div class="code">
<div class="code"> <b>BOOST_PP_LIMIT_MAG</b> </div> <b>BOOST_PP_LIMIT_MAG</b>
<h4>Remarks</h4> </div>
<div> This macro expands by default to <i>256</i>. For a C++ <h4>Remarks</h4>
standard conforming preprocessor, the end-user can change this to <div>
512 or 1024 by defining this macro to either value before This macro currently expands to <i>256</i>.
including any library headers.</div> </div>
<h4>Requirements</h4> <h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <div>
</div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
<b>See also<br> </div>
</b> <hr size="1">
<ul> <div style="margin-left: 0px;">
<li><a href="../topics/limitations.html">Limitations</a></li> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</li> </div>
</ul> <div style="margin-left: 0px;">
<br> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<hr size="1"> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a copy at <a href=
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
2002</i> <br> </div>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> </body>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,62 +1,34 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" <title>BOOST_PP_LIMIT_REPEAT</title>
http-equiv="content-type"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_REPEAT</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_REPEAT</b> macro defines the maximum number of repetitions supported by each <b>BOOST_PP_REPEAT</b> dimension.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_REPEAT</b> </div>
macro defines the maximum number of repetitions supported by each <h4>Usage</h4>
<b>BOOST_PP_REPEAT</b> dimension. </div> <div class="code">
<h4>Usage</h4> <b>BOOST_PP_LIMIT_REPEAT</b>
<div class="code"> <b>BOOST_PP_LIMIT_REPEAT</b> </div> </div>
<h4>Remarks</h4> <h4>Remarks</h4>
<div>This macro expands by default to <i>256</i>. For a C++ <div>
standard conforming preprocessor, the end-user can change this to This macro current expands to <i>256</i>.
512 or 1024 by defining this macro to either value before </div>
including any library headers, as long as the end-user also <h4>Requirements</h4>
defines the <a <div>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
macro to be equal to or greater than this value. <br> </div>
<br> <hr size="1">
NOTE: for the current latest versions of default preprocessor for <div style="margin-left: 0px;">
Microsoft's VC++ compiler there is a nested macro limit of 256. <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
This means in actuality that the number of repetitions using VC++ </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
is actually less than 256 depending on the repetition macro being </div>
used. For the BOOST_PP_REPEAT macro this limit appears to be 252 <div style="margin-left: 0px;">
while for the BOOST_PP_ENUM... series of macros this limit appears <p><small>Distributed under the Boost Software License, Version 1.0. (See
to be around 230, before the VC++ compiler gives a "C1009: accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
compiler limit : macros nested too deeply" error. This is a copy at <a href=
compiler limitation of VC++ which may vary depending on the "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
specific repetition macro being used, and therefore is not a </div>
problem the preprocessor library can solve. This limitation of the </body>
default preprocessor for VC++ does not exist for the new standard
conforming preprocessor for VC++ in Visual Studio 2019 invoked
with the<code> /Zc:preprocessor</code> switch.<br>
</div>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</div>
<b>See also<br>
</b>
<ul>
<li><a href="../topics/limitations.html">Limitations</a></li>
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br>
</li>
</ul>
<br>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a
href="http://www.housemarque.com" target="_top">Housemarque Oy</a>
2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,44 +1,41 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; <title>BOOST_PP_LIMIT_SEQ</title>
charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_SEQ</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_SEQ</b> macro defines the maximum <i>seq</i> size
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_SEQ</b> macro supported by the library.
defines the maximum <i>seq</i> size supported by the library. </div> </div>
<h4> Usage </h4> <h4>
<div class="code"> <b>BOOST_PP_LIMIT_SEQ</b> </div> Usage
<h4> Remarks </h4> </h4>
<div>This macro expands by default to 256. For a C++ standard <div class="code">
conforming preprocessor, the macro actually expands to the value <b>BOOST_PP_LIMIT_SEQ</b>
of the <a href="../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a> </div>
macro, but can be set to a lower value than BOOST_PP_LIMIT_MAG if <h4>
desired, but never to a higher value.<br> Remarks
</div> </h4>
<h4> Requirements </h4> <div>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> This macro currently expands to <i>256</i>.
</div> </div>
<b>See also<br> <h4>
</b> Requirements
<ul> </h4>
<li><a href="../topics/limitations.html">Limitations</a></li> <div>
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</li> </div>
</ul> <hr size="1">
<br> <div style="margin-left: 0px;">
<hr size="1"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> </div>
2002</i> <br> <div style="margin-left: 0px;">
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<div style="margin-left: 0px;"> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
<p><small>Distributed under the Boost Software License, Version copy at <a href=
1.0. (See accompanying file <a "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or </div>
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> </body>
</div>
</body>
</html> </html>

View File

@ -1,47 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html;
charset=windows-1252">
<title>BOOST_PP_LIMIT_TUPLE</title> <title>BOOST_PP_LIMIT_TUPLE</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_TUPLE</b> <div style="margin-left: 0px;">
macro defines the maximum <i>tuple/array</i> size supported by The <b>BOOST_PP_LIMIT_TUPLE</b> macro defines the maximum <i>tuple</i> size supported by the library.
the library. </div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIMIT_TUPLE</b> </div> <div class="code">
<h4>Remarks</h4> <b>BOOST_PP_LIMIT_TUPLE</b>
<div> This macro expands by default to <i>64</i>. For a C++ </div>
standard conforming preprocessor, the end-user can change this to <h4>Remarks</h4>
128 or 256 by defining this macro to either value before including <div>
any library headers. If the end-user changes the value of the This macro currently expands to <i>64</i>.
macro the <a href="../ref/limit_variadic.html">BOOST_PP_LIMIT_VARIADIC</a> </div>
macro is changed to the same value unless the end-user has changed <h4>Requirements</h4>
BOOST_PP_LIMIT_VARIADIC to a higher value.<br> <div>
</div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
<h4>Requirements</h4> </div>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <hr size="1">
</div> <div style="margin-left: 0px;">
<b>See also<br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</b> <br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<ul> </div>
<li><a href="../topics/limitations.html">Limitations</a></li> <div style="margin-left: 0px;">
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br> <p><small>Distributed under the Boost Software License, Version 1.0. (See
</li> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
</ul> copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<br> </div>
<hr size="1"> </body>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a </html>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a>
2002</i> <br>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,43 +1,24 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; <title>BOOST_PP_LIMIT_VARIADIC</title>
charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_VARIADIC</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_VARIADIC</b> macro
<body> defines the maximum <i>variadic data</i> size&nbsp;supported by the library. </div>
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_VARIADIC</b> <h4>Usage</h4>
macro defines the maximum <i>variadic data</i> <div class="code"> <b>BOOST_PP_LIMIT_VARIADIC</b> </div>
size&nbsp;supported by the library. </div> <h4>Remarks</h4>
<h4>Usage</h4> <div> This macro currently expands to <i>64</i>. </div>
<div class="code"> <b>BOOST_PP_LIMIT_VARIADIC</b> </div> <h4>Requirements</h4>
<h4>Remarks</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
<div>This macro expands by default to <i>64</i>. For a C++ standard </div>
conforming preprocessor, the end-user can change this to 128 or <hr size="1">
256 by defining this macro to either value before including any <div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
library headers. This value can never be less than the value of <a <div style="margin-left: 0px;">
href="../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a>.<br> <p><small>Distributed under the Boost Software License, Version 1.0.
</div> (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
<h4>Requirements</h4> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> </div>
</div> </body>
<b>See also<br> </html>
</b>
<ul>
<li><a href="../topics/limitations.html">Limitations</a></li>
<li><a href="../ref/is_standard.html">BOOST_PP_IS_STANDARD</a><br>
</li>
</ul>
<br>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2011</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,35 +1,34 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title>BOOST_PP_LIMIT_WHILE</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIMIT_WHILE</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIMIT_WHILE</b> macro defines the maximum number of <b>BOOST_PP_WHILE</b> iterations.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIMIT_WHILE</b> </div>
macro defines the maximum number of <b>BOOST_PP_WHILE</b> <h4>Usage</h4>
iterations. </div> <div class="code">
<h4>Usage</h4> <b>BOOST_PP_LIMIT_WHILE</b>
<div class="code"> <b>BOOST_PP_LIMIT_WHILE</b> </div> </div>
<h4>Remarks</h4> <h4>Remarks</h4>
<div>This macro expands by default to <i>256</i>. The macro <div>
actually expands to the value of the <a This macro currently expands to <i>256</i>.
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a> </div>
macro and can not be changed.</div> <h4>Requirements</h4>
<h4>Requirements</h4> <div>
<div> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a> <b>Header:</b> &nbsp;<a href="../headers/config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a>
</div> </div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a <div style="margin-left: 0px;">
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
2002</i> <br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version <p><small>Distributed under the Boost Software License, Version 1.0. (See
1.0. (See accompanying file <a accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href=
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,62 +1,62 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<title>BOOST_PP_LIST_ENUM</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1252"> <link rel="stylesheet" type="text/css" href="../styles.css">
<title>BOOST_PP_LIST_ENUM</title> </head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIST_ENUM</b> macro converts a <i>list</i> to a comma-separated list.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_ENUM</b> macro </div>
converts a <i>list</i> to a comma-separated list. </div> <h4>Usage</h4>
<h4>Usage</h4> <div class="code">
<div class="code"> <b>BOOST_PP_LIST_ENUM</b>(<i>list</i>) </div> <b>BOOST_PP_LIST_ENUM</b>(<i>list</i>)
<h4>Arguments</h4> </div>
<dl> <h4>Arguments</h4>
<dt>list</dt> <dl>
<dd> The <i>list</i> to be converted. </dd> <dt>list</dt>
</dl> <dd>
<h4>Remarks</h4> The <i>list</i> to be converted.
<div> If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, </dd>
<b>BOOST_PP_NIL</b>))), this macro will produce: </dl>
<div> <i>a</i>, <i>b</i>, <i>c</i> </div> <h4>Remarks</h4>
</div> <div>
<div> Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp; If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
this macro will produce:
There is no longer any such restriction.&nbsp; It is more <div>
efficient, however, to use <b>BOOST_PP_LIST_ENUM_R</b> in such a <i>a</i>, <i>b</i>, <i>c</i>
situation.<br> </div>
<br> </div>
In <a <div>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#C20_Support_For_Variadic_Macros">C++ Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp;
20</a> mode if the list is empty the resulting <i>variadic</i> There is no longer any such restriction.&nbsp;
<i>data</i> will be empty.</div> It is more efficient, however, to use <b>BOOST_PP_LIST_ENUM_R</b> in such a situation.
<h4>See Also</h4> </div>
<ul> <h4>See Also</h4>
<li><a href="list_enum_r.html">BOOST_PP_LIST_ENUM_R</a></li> <ul>
</ul> <li><a href="list_enum_r.html">BOOST_PP_LIST_ENUM_R</a></li>
<h4>Requirements</h4> </ul>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/enum.html">&lt;boost/preprocessor/list/enum.hpp&gt;</a> <h4>Requirements</h4>
</div> <div>
<h4>Sample Code</h4> <b>Header:</b> &nbsp;<a href="../headers/list/enum.html">&lt;boost/preprocessor/list/enum.hpp&gt;</a>
<div> </div>
<pre>#include &lt;<a href="../headers/list/enum.html">boost/preprocessor/list/enum.hpp</a>&gt; <h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/list/enum.html">boost/preprocessor/list/enum.hpp</a>&gt;
#define LIST (w, (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>)))) #define LIST (w, (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>))))
<a href="list_enum.html">BOOST_PP_LIST_ENUM</a>(LIST) // expands to w, x, y, z <a href="list_enum.html">BOOST_PP_LIST_ENUM</a>(LIST) // expands to w, x, y, z
</pre> </pre></div>
</div> <hr size="1">
<hr size="1"> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
2002</i> <br> </div>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
1.0. (See accompanying file <a copy at <a href=
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> </div>
</div> </body>
</body>
</html> </html>

View File

@ -31,12 +31,6 @@
<i>a</i>, <i>b</i>, <i>c</i> <i>a</i>, <i>b</i>, <i>c</i>
</div> </div>
</div> </div>
<div>
In <a
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#C20_Support_For_Variadic_Macros">C++
20</a> mode if the list is empty the resulting <i>variadic</i>
<i>data</i> will be empty.
</div>
<h4>See Also</h4> <h4>See Also</h4>
<ul> <ul>
<li><a href="list_enum.html">BOOST_PP_LIST_ENUM</a></li> <li><a href="list_enum.html">BOOST_PP_LIST_ENUM</a></li>

View File

@ -1,47 +1,39 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_ARRAY</title>
<title>BOOST_PP_LIST_TO_ARRAY</title> <link rel="stylesheet" type="text/css" href="../styles.css"></head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_ARRAY</b> macro
<body> converts a <i>list</i> to an <i>array</i>. </div>
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_ARRAY</b> macro <h4> Usage </h4>
converts a <i>list</i> to an <i>array</i>. </div> <div class="code"> <b>BOOST_PP_LIST_TO_ARRAY</b>(<i>list</i>) </div>
<h4> Usage </h4> <h4> Arguments </h4>
<div class="code"> <b>BOOST_PP_LIST_TO_ARRAY</b>(<i>list</i>) </div> <dl>
<h4> Arguments </h4> <dt>list</dt>
<dl> <dd> The <i>list</i> to be converted. </dd>
<dt>list</dt> </dl>
<dd> The <i>list</i> to be converted. <br> <h4>Remarks</h4>
</dd> <div>
</dl> This macro uses <b>BOOST_PP_WHILE</b>.
<h4>Remarks</h4> Within <b>BOOST_PP_WHILE</b>, it is more efficient to use <b>BOOST_PP_LIST_TO_ARRAY_D</b>.
<div> This macro uses <b>BOOST_PP_WHILE</b>. Within <b>BOOST_PP_WHILE</b>, </div>
it is more efficient to use <b>BOOST_PP_LIST_TO_ARRAY_D</b>.<br> <h4>See Also</h4>
<br> <ul>
If the <i>list</i> to be converted is empty, as represented by <li><a href="list_to_array_d.html">BOOST_PP_LIST_TO_ARRAY_D</a></li>
'BOOST_PP_NIL', the resulting <i>array</i> is empty, as represented by '( 0, () </ul>
)'.</div> <h4> Requirements </h4>
<h4>See Also</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/list/to_array.html">&lt;boost/preprocessor/list/to_array.hpp&gt;</a>
<ul> </div>
<li><a href="list_to_array_d.html">BOOST_PP_LIST_TO_ARRAY_D</a></li> <h4> Sample Code </h4>
</ul> <div>
<h4> Requirements </h4> <pre>#include &lt;<a href="../headers/list/to_array.html">boost/preprocessor/list/to_array.hpp</a>&gt;<br><br>#define LIST (a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))<br><br><a href="list_to_array.html">BOOST_PP_LIST_TO_ARRAY</a>(LIST) // expands to (3, (a, b, c))<br></pre>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_array.html">&lt;boost/preprocessor/list/to_array.hpp&gt;</a> </div>
</div> <hr size="1">
<h4> Sample Code </h4> <div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
<div> <div style="margin-left: 0px;">
<pre>#include &lt;<a href="../headers/list/to_array.html">boost/preprocessor/list/to_array.hpp</a>&gt;<br><br>#define LIST (a, (b, (c, <a <p><small>Distributed under the Boost Software License, Version 1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
href="nil.html">BOOST_PP_NIL</a>)))<br><br><a href="list_to_array.html">BOOST_PP_LIST_TO_ARRAY</a>(LIST) // expands to (3, (a, b, c))</pre> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
<hr size="1"> </body>
<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,42 +1,27 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_ARRAY_D</title>
<title>BOOST_PP_LIST_TO_ARRAY_D</title> <link rel="stylesheet" type="text/css" href="../styles.css"></head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIST_TO_ARRAY_D</b> macro converts a <i>list</i> to an <i>array</i>.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_ARRAY_D</b> macro It reenters <b>BOOST_PP_WHILE</b> with maximum efficiency.
converts a <i>list</i> to an <i>array</i>. It reenters <b>BOOST_PP_WHILE</b> </div>
with maximum efficiency. </div> <h4> Usage </h4>
<h4> Usage </h4> <div class="code"> <b>BOOST_PP_LIST_TO_ARRAY_D</b>(<i>d</i>, <i>list</i>) </div>
<div class="code"> <b>BOOST_PP_LIST_TO_ARRAY_D</b>(<i>d</i>, <i>list</i>) <h4> Arguments </h4>
</div> <dl>
<h4> Arguments </h4> <dt>d</dt>
<dl> <dd>The next available <b>BOOST_PP_WHILE</b> iteration.</dd>
<dt>d</dt> <dt>list</dt>
<dd>The next available <b>BOOST_PP_WHILE</b> iteration.</dd> <dd> The <i>list</i> to be converted. </dd>
<dt>list</dt> </dl>
<dd> The <i>list</i> to be converted. </dd> <h4>See Also</h4>
</dl> <ul>
<h4>Remarks</h4> <li><a href="list_to_array_d.html">BOOST_PP_LIST_TO_ARRAY</a></li>
<p>&nbsp;&nbsp;&nbsp; If the <i>list</i> to be converted is empty, as </ul>
represented by 'BOOST_PP_NIL', the resulting <i>array</i> is empty, as <h4> Requirements </h4>
represented by '( 0, () )'. </p> <div> <b>Header:</b> &nbsp;<a href="../headers/list/to_array.html">&lt;boost/preprocessor/list/to_array.hpp&gt;</a>
<h4>See Also</h4> </div>
<h4>See Also</h4> </body>
<ul>
<li><a href="list_to_array_d.html">BOOST_PP_LIST_TO_ARRAY</a></li>
</ul>
<h4> Requirements </h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_array.html">&lt;boost/preprocessor/list/to_array.hpp&gt;</a>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,44 +1,40 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_SEQ</title>
<title>BOOST_PP_LIST_TO_SEQ</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_SEQ</b> macro
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_SEQ</b> macro converts a <i>list</i> to a <i>seq</i>. </div>
converts a <i>list</i> to a <i>seq</i>. </div> <h4> Usage </h4>
<h4> Usage </h4> <div class="code"> <b>BOOST_PP_LIST_TO_SEQ</b>(<i>list</i>)
<div class="code"> <b>BOOST_PP_LIST_TO_SEQ</b>(<i>list</i>) </div> </div>
<h4> Arguments </h4> <h4> Arguments </h4>
<dl> <dl><dt>list</dt>
<dt>list</dt> <dd> The <i>list</i> to be converted. </dd>
<dd> The <i>list</i> to be converted. </dd> </dl>
</dl> <h4>Remarks</h4>
<h4>Remarks</h4> <div>
<div> This macro uses <b>BOOST_PP_FOR</b>. Within <b>BOOST_PP_FOR</b>, it This macro uses <b>BOOST_PP_FOR</b>.
is more efficient to use <b>BOOST_PP_LIST_TO_SEQ_R</b>.<br> Within <b>BOOST_PP_FOR</b>, it is more efficient to use <b>BOOST_PP_LIST_TO_SEQ_R</b>.
<br> </div>
If the <i>list</i> to be converted is empty, as represented by <h4>See Also</h4>
'BOOST_PP_NIL', the resulting <i>seq</i> is undefined since a <i>seq</i> <ul>
cannot be empty.</div> <li><a href="list_to_seq_r.html">BOOST_PP_LIST_TO_SEQ_R</a></li>
<h4>See Also</h4> </ul>
<ul> <h4> Requirements </h4>
<li><a href="list_to_seq_r.html">BOOST_PP_LIST_TO_SEQ_R</a></li> <div> <b>Header:</b> &nbsp;<a href="../headers/list/to_seq.html">&lt;boost/preprocessor/list/to_seq.hpp&gt;</a>
</ul> </div>
<h4> Requirements </h4> <h4> Sample Code </h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_seq.html">&lt;boost/preprocessor/list/to_seq.hpp&gt;</a> <div>
</div> <pre>#include &lt;<a href="../headers/list/to_seq.html">boost/preprocessor/list/to_seq.hpp</a>&gt;<br><br><a href="list_to_seq.html">BOOST_PP_LIST_TO_SEQ</a>((a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))) // expands to (a)(b)(c)<br></pre>
<h4> Sample Code </h4> </div>
<div> <hr size="1">
<pre>#include &lt;<a href="../headers/list/to_seq.html">boost/preprocessor/list/to_seq.hpp</a>&gt;<br><br><a <div style="margin-left: 0px;"> <i></i><i>© Copyright Edward Diener 2011</i> </div>
href="list_to_seq.html">BOOST_PP_LIST_TO_SEQ</a>((a, (b, (c, <a href="nil.html">BOOST_PP_NIL</a>)))) // expands to (a)(b)(c)</pre> <div style="margin-left: 0px;">
</div> <p><small>Distributed under the Boost Software License, Version 1.0.
<hr size="1"> (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
<div style="margin-left: 0px;"> <i>© Copyright Edward Diener 2011</i> </div> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<div style="margin-left: 0px;"> </div>
<p><small>Distributed under the Boost Software License, Version 1.0. (See </body>
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,39 +1,27 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_SEQ_R</title>
<title>BOOST_PP_LIST_TO_SEQ_R</title> <link rel="stylesheet" type="text/css" href="../styles.css"></head>
<link rel="stylesheet" type="text/css" href="../styles.css"> <body>
</head> <div style="margin-left: 0px;">
<body> The <b>BOOST_PP_LIST_TO_SEQ_R</b> macro converts a <i>list</i> to an <i>seq</i>.
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_SEQ_R</b> macro It reenters <b>BOOST_PP_FOR</b> with maximum efficiency.
converts a <i>list</i> to a <i>seq</i>. It reenters <b>BOOST_PP_FOR</b> </div>
with maximum efficiency. </div> <h4> Usage </h4>
<h4> Usage </h4> <div class="code"> <b>BOOST_PP_LIST_TO_SEQ_R</b>(<i>r</i>, <i>list</i>) </div>
<div class="code"> <b>BOOST_PP_LIST_TO_SEQ_R</b>(<i>r</i>, <i>list</i>) </div> <h4> Arguments </h4>
<h4> Arguments </h4> <dl>
<dl> <dt>d</dt>
<dt>d</dt> <dd>The next available <b>BOOST_PP_FOR</b> repetition.</dd>
<dd>The next available <b>BOOST_PP_FOR</b> repetition.</dd> <dt>list</dt>
<dt>list</dt> <dd> The <i>list</i> to be converted. </dd>
<dd> The <i>list</i> to be converted.</dd> </dl>
</dl> <h4>See Also</h4>
<h4>Remarks</h4> <ul>
<p>&nbsp;&nbsp;&nbsp; If the <i>list</i> to be converted is empty, as <li><a href="list_to_seq_r.html">BOOST_PP_LIST_TO_SEQ</a></li>
represented by 'BOOST_PP_NIL', the resulting <i>seq</i> is undefined </ul>
since a <i>seq</i> cannot be empty.</p> <h4> Requirements </h4>
<h4>See Also</h4> <div> <b>Header:</b> &nbsp;<a href="../headers/list/to_seq.html">&lt;boost/preprocessor/list/to_seq.hpp&gt;</a>
<ul> </div>
<li><a href="list_to_seq_r.html">BOOST_PP_LIST_TO_SEQ</a></li> </body>
</ul>
<h4> Requirements </h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_seq.html">&lt;boost/preprocessor/list/to_seq.hpp&gt;</a>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i>© Copyright Edward Diener 2011</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,55 +1,62 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_TUPLE</title>
<title>BOOST_PP_LIST_TO_TUPLE</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_TUPLE</b> macro The <b>BOOST_PP_LIST_TO_TUPLE</b> macro converts a <i>list</i> to a <i>tuple</i>.
converts a <i>list</i> to a <i>tuple</i>. </div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIST_TO_TUPLE</b>(<i>list</i>) </div> <div class="code">
<h4>Arguments</h4> <b>BOOST_PP_LIST_TO_TUPLE</b>(<i>list</i>)
<dl> </div>
<dt>list</dt> <h4>Arguments</h4>
<dd> The <i>list</i> to be converted. </dd> <dl>
</dl> <dt>list</dt>
<h4>Remarks</h4> <dd>
<div> If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))), The <i>list</i> to be converted.
this macro will produce: </dd>
<div> (<i>a</i>, <i>b</i>, <i>c</i>) </div> </dl>
</div> <h4>Remarks</h4>
<div> Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp; <div>
There is no longer any such restriction.&nbsp; It is more efficient, If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
however, to use <b>BOOST_PP_LIST_TO_TUPLE_R</b> in such a situation.<br> this macro will produce:
<br> <div>
If the <i>list</i> to be converted is empty, as represented by 'BOOST_PP_NIL', (<i>a</i>, <i>b</i>, <i>c</i>)
the resulting <i>tuple</i> is undefined since a <i>tuple</i> cannot be </div>
empty.</div> </div>
<h4>See Also</h4> <div>
<ul> Previously, this macro could not be used inside <b>BOOST_PP_FOR</b>.&nbsp;
<li><a href="list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li> There is no longer any such restriction.&nbsp;
</ul> It is more efficient, however, to use <b>BOOST_PP_LIST_TO_TUPLE_R</b> in such a situation.
<h4>Requirements</h4> </div>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a> <h4>See Also</h4>
</div> <ul>
<h4>Sample Code</h4> <li><a href="list_to_tuple_r.html">BOOST_PP_LIST_TO_TUPLE_R</a></li>
<div> </ul>
<pre>#include &lt;<a href="../headers/list/to_tuple.html">boost/preprocessor/list/to_tuple.hpp</a>&gt; <h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/list/to_tuple.html">boost/preprocessor/list/to_tuple.hpp</a>&gt;
#define LIST (w, (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>)))) #define LIST (w, (x, (y, (z, <a href="nil.html">BOOST_PP_NIL</a>))))
<a href="list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a>(LIST) // expands to (w, x, y, z) <a href="list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a>(LIST) // expands to (w, x, y, z)
</pre></div> </pre></div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
<i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
target="_top">Housemarque Oy</a> 2002</i> <br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> </div>
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See <p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> copy at <a href=
</div> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</body> </div>
</body>
</html> </html>

View File

@ -1,42 +1,47 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_LIST_TO_TUPLE_R</title>
<title>BOOST_PP_LIST_TO_TUPLE_R</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_LIST_TO_TUPLE_R</b> macro The <b>BOOST_PP_LIST_TO_TUPLE_R</b> macro converts a <i>list</i> to a <i>tuple</i>.&nbsp;
converts a <i>list</i> to a <i>tuple</i>.&nbsp; It reenters <b>BOOST_PP_FOR</b> It reenters <b>BOOST_PP_FOR</b> with maximum efficiency.
with maximum efficiency. </div> </div>
<h4>Usage</h4> <h4>Usage</h4>
<div class="code"> <b>BOOST_PP_LIST_TO_TUPLE_R</b>(<i>r</i>, <i>list</i>) <div class="code">
</div> <b>BOOST_PP_LIST_TO_TUPLE_R</b>(<i>r</i>, <i>list</i>)
<h4>Arguments</h4> </div>
<dl> <h4>Arguments</h4>
<dt>r</dt> <dl>
<dd> The next available <b>BOOST_PP_FOR</b> repetition. </dd> <dt>r</dt>
<dt>list</dt> <dd>
<dd> The <i>list</i> to be converted. </dd> The next available <b>BOOST_PP_FOR</b> repetition.
</dl> </dd>
<h4>Remarks</h4> <dt>list</dt>
<p>&nbsp;&nbsp; If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <dd>
<b>BOOST_PP_NIL</b>))), this macro will produce: </p> The <i>list</i> to be converted.
<div> </dd>
<div> (<i>a</i>, <i>b</i>, <i>c</i>)&nbsp;&nbsp; </div> </dl>
</div> <h4>Remarks</h4>
<h4><span style="font-weight: normal;">&nbsp;&nbsp; If the <i>list</i> to <div>
be converted is empty, as represented by 'BOOST_PP_NIL', the resulting <i>tuple</i> If <i>list</i> is, for example, (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>))),
is undefined since a <i>tuple</i> cannot be empty. </span></h4> this macro will produce:
<h4>See Also</h4> <div>
<ul> (<i>a</i>, <i>b</i>, <i>c</i>)
<li><a href="list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a></li> </div>
</ul> </div>
<h4>Requirements</h4> <h4>See Also</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a> <ul>
</div> <li><a href="list_to_tuple.html">BOOST_PP_LIST_TO_TUPLE</a></li>
<h4>Sample Code</h4> </ul>
<div> <h4>Requirements</h4>
<pre>#include &lt;<a href="../headers/list/adt.html">boost/preprocessor/list/adt.hpp</a>&gt; <div>
<b>Header:</b> &nbsp;<a href="../headers/list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/list/adt.html">boost/preprocessor/list/adt.hpp</a>&gt;
#include &lt;<a href="../headers/list/to_tuple.html">boost/preprocessor/list/to_tuple.hpp</a>&gt; #include &lt;<a href="../headers/list/to_tuple.html">boost/preprocessor/list/to_tuple.hpp</a>&gt;
#include &lt;<a href="../headers/repetition/for.html">boost/preprocessor/repetition/for.hpp</a>&gt; #include &lt;<a href="../headers/repetition/for.html">boost/preprocessor/repetition/for.hpp</a>&gt;
@ -49,14 +54,16 @@
<a href="for.html">BOOST_PP_FOR</a>(LIST, PRED, OP, MACRO) <a href="for.html">BOOST_PP_FOR</a>(LIST, PRED, OP, MACRO)
// expands to (x, y, z) (y, z) (z) // expands to (x, y, z) (y, z) (z)
</pre></div> </pre></div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
target="_top">Housemarque Oy</a> 2002</i> <br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
<div style="margin-left: 0px;"> </div>
<p><small>Distributed under the Boost Software License, Version 1.0. (See <div style="margin-left: 0px;">
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> <p><small>Distributed under the Boost Software License, Version 1.0. (See
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
</div> copy at <a href=
</body> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -34,7 +34,7 @@
It is more efficient, however, to use <b>BOOST_PP_MUL_D</b> in such a situation. It is more efficient, however, to use <b>BOOST_PP_MUL_D</b> in such a situation.
</div> </div>
<div> <div>
This macro is the most efficient when <i>x</i> is greater than or equal to <i>y</i>.&nbsp; This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp; However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
In other words, <i>x</i> should be the value that is <i>most likely</i> to be the largest of the two operands. In other words, <i>x</i> should be the value that is <i>most likely</i> to be the largest of the two operands.
</div> </div>

View File

@ -34,7 +34,7 @@
If the product of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>. If the product of <i>x</i> and <i>y</i> is greater than <b>BOOST_PP_LIMIT_MAG</b>, the result is saturated to <b>BOOST_PP_LIMIT_MAG</b>.
</div> </div>
<div> <div>
This macro is the most efficient when <i>x</i> is greater than or equal to <i>y</i>.&nbsp; This macro is the most efficient when <i>x</i> is less than or equal to <i>y</i>.&nbsp;
However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp; However, the efficiency gain is not worth actually comparing the two arguments prior to invocation.&nbsp;
In other words, <i>x</i> should be the value that is <i>most likely</i> to be the largest of the two operands. In other words, <i>x</i> should be the value that is <i>most likely</i> to be the largest of the two operands.
</div> </div>

View File

@ -1,64 +1,46 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252"
http-equiv="content-type">
<title>BOOST_PP_OVERLOAD</title> <title>BOOST_PP_OVERLOAD</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_OVERLOAD</b> <div style="margin-left: 0px;"> The <b>BOOST_PP_OVERLOAD</b> variadic macro expands to the name of a non-variadic macro having a given number of parameters.<br>
variadic macro expands to the name of a non-variadic macro having </div>
a given number of parameters.<br> <h4>Usage</h4>
</div> <div class="code"> <b>BOOST_PP_OVERLOAD</b>(<i>prefix</i>,...) <sup>(v)</sup><br>
<h4>Usage</h4> </div>
<div class="code"> <b>BOOST_PP_OVERLOAD</b>(<i>prefix</i>,...) <a <h4>Arguments</h4>
href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a><br> <dl>
</div> <dt>prefix<br>
<h4>Arguments</h4> </dt><dd>
<dl> The prefix of the non-variadic macro name.
<dt>prefix<br> </dd><dt>...<br>
</dt> </dt><dd><i>
<dd> The prefix of the non-variadic macro name. </dd> Variadic data</i>. The number of variadic data
<dt>...<br> elements, as determined by BOOST_PP_VARIADIC_SIZE, is appended to the
</dt> prefix to form the output non-variadic macro name.<br>
<dd><i> Variadic data</i>. The number of variadic data elements, </dd>
as determined by BOOST_PP_VARIADIC_SIZE, is appended to the </dl>
prefix to form the output non-variadic macro name.<br> <h4>Remarks</h4>
</dd> <div> This macro creates a macro name which depends on the number of elements of variadic data. It should be used in the form of <br>
</dl> BOOST_PP_OVERLOAD(MACRO_NAME_,__VA_ARGS__)(__VA_ARGS__) in order to
<h4>Remarks</h4> call a non-variadic macro taking a given number of variadic data
<div> This macro creates a macro name which depends on the number of elements as non-variadic arguments. In this way one can invoke a
elements of variadic data. It should be used in the form of <br> variadic macro with a variable number of parameters which calls one of
BOOST_PP_OVERLOAD(MACRO_NAME_,__VA_ARGS__)(__VA_ARGS__) in order a series of non-variadic macros doing very similar things.
to call a non-variadic macro taking a given number of variadic </div><b>Requirements</b>
data elements as non-variadic arguments. In this way one can <div> <b>Header:</b> &nbsp;<a href="../headers/facilities/overload.html">&lt;boost/preprocessor/facilities/overload.hpp&gt;</a>
invoke a variadic macro with a variable number of parameters which </div>
calls one of a series of non-variadic macros doing very similar <h4>Sample Code</h4>
things.<br> <div>
<br> <pre>#include &lt;<a href="../headers/facilities/overload.html">boost/preprocessor/facilities/overload.hpp</a>&gt;<br>#include &lt;<a href="../headers/cat.html">boost/preprocessor/cat.hpp</a>&gt;<br>#include &lt;<a href="../headers/facilities/empty.html">boost/preprocessor/facilities/empty.hpp</a>&gt;<br>#include &lt;<a href="../headers/arithmetic/add.html">boost/preprocessor/arithmetic/add.hpp</a>&gt;<br><br>#define MACRO_1(number) MACRO_2(number,10)<br>#define MACRO_2(number1,number2) <a href="add.html">BOOST_PP_ADD</a>(number1,number2)<br><br>#define MACRO_ADD_NUMBERS(...) <a href="overload.html">BOOST_PP_OVERLOAD</a>(MACRO_,__VA_ARGS__)(__VA_ARGS__)<br><br>// or for Visual C++<br><br>#define MACRO_ADD_NUMBERS(...) \<br> <a href="cat.html">BOOST_PP_CAT</a>(<a href="overload.html">BOOST_PP_OVERLOAD</a>(MACRO_,__VA_ARGS__)(__VA_ARGS__),<a href="empty.html">BOOST_PP_EMPTY</a>())<br><br>MACRO_ADD_NUMBERS(5) // output is 15<br>MACRO_ADD_NUMBERS(3,6) // output is 9<br></pre>
In <a </div>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#C20_Support_For_Variadic_Macros">C++ <hr size="1">
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener 2011</i> </div>
20</a> mode the <i>variadic</i> <i>data</i> can be empty and <div style="margin-left: 0px;">
the given number of parameters will be 0.<br> <p><small>Distributed under the Boost Software License, Version 1.0.
</div> (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
<b>Requirements</b> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
<div> <b>Header:</b> &nbsp;<a </div>
href="../headers/facilities/overload.html">&lt;boost/preprocessor/facilities/overload.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/facilities/overload.html">boost/preprocessor/facilities/overload.hpp</a>&gt;<br>#include &lt;<a href="../headers/cat.html">boost/preprocessor/cat.hpp</a>&gt;<br>#include &lt;<a href="../headers/facilities/empty.html">boost/preprocessor/facilities/empty.hpp</a>&gt;<br>#include &lt;<a href="../headers/arithmetic/add.html">boost/preprocessor/arithmetic/add.hpp</a>&gt;<br><br>#define MACRO_1(number) MACRO_2(number,10)<br>#define MACRO_2(number1,number2) <a href="add.html">BOOST_PP_ADD</a>(number1,number2)<br><br>#if !BOOST_PP_VARIADICS_MSVC<br><br>#define MACRO_ADD_NUMBERS(...) <a href="overload.html">BOOST_PP_OVERLOAD</a>(MACRO_,__VA_ARGS__)(__VA_ARGS__)<br><br>#else<br><br>// or for Visual C++'s default preprocessor<br><br>#define MACRO_ADD_NUMBERS(...) \<br> <a href="cat.html">BOOST_PP_CAT</a>(<a href="overload.html">BOOST_PP_OVERLOAD</a>(MACRO_,__VA_ARGS__)(__VA_ARGS__),<a href="empty.html">BOOST_PP_EMPTY</a>())<br><br>#endif<br><br>MACRO_ADD_NUMBERS(5) // output is 15<br>MACRO_ADD_NUMBERS(3,6) // output is 9</pre>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i></i><i><EFBFBD> Copyright Edward Diener
2011,2013,2016</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body> </body>
</html> </html>

View File

@ -1,44 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_REMOVE_PARENS</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_REMOVE_PAREN</b>S macro
removes the beginning parenthesis, if it exists, from the input data and
expands to the result</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_REMOVE_PARENS</b>(param) <a href="../topics/variadic_macros.html#VNotation"
target="_self"><sup>(v)</sup></a></div>
<h4>Arguments&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-weight: normal;"></span></h4>
<h4><span style="font-weight: normal;">&nbsp;&nbsp;&nbsp; param</span>&nbsp;&nbsp;
<span style="font-weight: normal;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
The input data.</span></h4>
<h4>Remarks</h4>
<div> If the input begins with a parenthesis, with any data within that
parenthesis, the macro removes the parenthesis and expands to the result.
If the input does not begin with a parenthesis the macro expands to the
input.<br>
</div>
<h4>See Also</h4>
<ul>
<li><a href="is_begin_parens.html">BOOST_PP_IS_BEGIN_PARENS</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/punctuation/remove_parens.html">&lt;boost/preprocessor/punctuation/remove_parens.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/punctuation/remove_parens.html">boost/preprocessor/punctuation/remove_parens.hpp</a>&gt;<br><br>#define DATA data<br>#define DATAP ( data ) more_data<br><br>BOOST_PP_REMOVE_PARENS(DATA) // expands to 'data'
BOOST_PP_REMOVE_PARENS(DATAP) // expands to 'data more_data'<br>
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,59 +1,67 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_REPEAT_z</title>
<title>BOOST_PP_REPEAT_z</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_REPEAT_<i>z</i></b> macro The <b>BOOST_PP_REPEAT_<i>z</i></b> macro represents a reentry into the <b>BOOST_PP_REPEAT</b> repetition construct.
represents a reentry into the <b>BOOST_PP_REPEAT</b> repetition </div>
construct. </div> <h4>Usage</h4>
<h4>Usage</h4> <div class="code">
<div class="code"> <b>BOOST_PP_REPEAT_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <b>BOOST_PP_REPEAT_</b> ## <i>z</i>(<i>count</i>, <i>macro</i>, <i>data</i>)
<i>data</i>) </div> </div>
<h4>Arguments</h4> <h4>Arguments</h4>
<dl> <dl>
<dt>z</dt> <dt>z</dt>
<dd> The next available <b>BOOST_PP_REPEAT</b> dimension. </dd> <dd>
<dt>count</dt> The next available <b>BOOST_PP_REPEAT</b> dimension.
<dd> The number of repetitious calls to <i>macro</i>.&nbsp; Valid values </dd>
range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>. </dd> <dt>count</dt>
<dt>macro</dt> <dd>
<dd> A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp; The number of repetitious calls to <i>macro</i>.&nbsp;
This macro is expanded by <b>BOOST_PP_REPEAT</b> with the next Valid values range from <i>0</i> to <b>BOOST_PP_LIMIT_REPEAT</b>.
available repetition depth, the current repetition number, and the </dd>
auxiliary <i>data</i> argument.&nbsp; </dd> <dt>macro</dt>
<dt>data</dt> <dd>
<dd> Auxiliary data passed to <i>macro</i>. </dd> A ternary operation of the form <i>macro</i>(<i>z</i>, <i>n</i>, <i>data</i>).&nbsp;
</dl> This macro is expanded by <b>BOOST_PP_REPEAT</b> with the next available repetition depth,
<h4>Remarks</h4> the current repetition number, and the auxiliary <i>data</i> argument.&nbsp;
<div> This macro expands to the sequence: </dd>
<div> <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>) <i>macro</i>(<i>z</i>, <dt>data</dt>
<i>1</i>, <i>data</i>) ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <dd>
<i>data</i>) </div> Auxiliary data passed to <i>macro</i>.
</div> </dd>
<div> At certain times, it may be necessary to perform the concatenation </dl>
with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting <h4>Remarks</h4>
operator.&nbsp; This happens when the <i>z</i> value is a macro <div>
invocation itself.&nbsp; It needs a delay to allow it to expand.&nbsp; The This macro expands to the sequence:
syntax in such a scenario becomes: <div>
<div> <b>BOOST_PP_CAT</b>(<b>BOOST_PP_REPEAT_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>(<i>z</i>, <i>0</i>, <i>data</i>) <i>macro</i>(<i>z</i>, <i>1</i>, <i>data</i>) ... <i>macro</i>(<i>z</i>, <i>count</i> - <i>1</i>, <i>data</i>)
<i>macro</i>, <i>data</i>) </div> </div>
</div> </div>
<h4>See Also</h4> <div>
<ul> At certain times, it may be necessary to perform the concatenation with <b>BOOST_PP_CAT</b> rather than the preprocessor token-pasting operator.&nbsp;
<li><a href="cat.html">BOOST_PP_CAT</a></li> This happens when the <i>z</i> value is a macro invocation itself.&nbsp;
<li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li> It needs a delay to allow it to expand.&nbsp;
<li><a href="repeat.html">BOOST_PP_REPEAT</a></li> The syntax in such a scenario becomes:
<li><a href="repeat_z_macros.html"><span style="color: gray;">Macros with <div>
Z re-entrancy forms</span></a></li> <b>BOOST_PP_CAT</b>(<b>BOOST_PP_REPEAT_</b>, <i>z</i>)(<i>count</i>, <i>macro</i>, <i>data</i>)
</ul> </div>
<h4>Requirements</h4> </div>
<div> <b>Header:</b> &nbsp;<a href="../headers/repetition/repeat.html">&lt;boost/preprocessor/repetition/repeat.hpp&gt;</a> <h4>See Also</h4>
</div> <ul>
<h4>Sample Code</h4> <li><a href="cat.html">BOOST_PP_CAT</a></li>
<div> <li><a href="limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
<pre>#include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt; <li><a href="repeat.html">BOOST_PP_REPEAT</a></li>
</ul>
<h4>Requirements</h4>
<div>
<b>Header:</b> &nbsp;<a href="../headers/repetition/repeat.html">&lt;boost/preprocessor/repetition/repeat.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div><pre>
#include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt;
#include &lt;<a href="../headers/punctuation/comma_if.html">boost/preprocessor/punctuation/comma_if.hpp</a>&gt; #include &lt;<a href="../headers/punctuation/comma_if.html">boost/preprocessor/punctuation/comma_if.hpp</a>&gt;
#include &lt;<a href="../headers/repetition/repeat.html">boost/preprocessor/repetition/repeat.hpp</a>&gt; #include &lt;<a href="../headers/repetition/repeat.html">boost/preprocessor/repetition/repeat.hpp</a>&gt;
@ -77,16 +85,16 @@
template&lt;class, class, class&gt; class T2 template&lt;class, class, class&gt; class T2
*/ */
</pre></div> </pre></div>
<hr size="1"> <hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" <div style="margin-left: 0px;">
target="_top">Housemarque Oy</a> 2002</i> <br> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<i><EFBFBD> Copyright Paul Mensonides 2002<br> </br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</i><i><EFBFBD> Copyright Edward Diener 2014</i><br> </div>
</div> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<p><small>Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> copy at <a href=
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> "http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -1,45 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_REPEAT_z_macros</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>This is a list, based on functionality, of the macros which have an
alternate <b>_z<i></i></b> name, representing a reentry into the <b>BOOST_PP_REPEAT</b>
looping construct:<br>
<br>
array<br>
<ul>
<li><a href="array_pop_back_z.html">BOOST_PP_ARRAY_POP_BACK_Z</a></li>
<li><a href="array_pop_front_z.html">BOOST_PP_ARRAY_POP_FRONT_Z</a></li>
</ul>
repetition<br>
<ul>
<li><a href="deduce_z.html">BOOST_PP_DEDUCE_Z</a></li>
<li><a href="enum_binary_params_z.html">BOOST_PP_ENUM_BINARY_PARAMS_Z</a></li>
<li><a href="enum_params_z.html">BOOST_PP_ENUM_PARAMS_Z</a></li>
<li><a href="esbpz.html">BOOST_PP_ENUM_SHIFTED_BINARY_PARAMS_Z</a></li>
<li><a href="enum_shifted_params_z.html">BOOST_PP_ENUM_SHIFTED_PARAMS_Z</a></li>
<li><a href="enum_shifted_z.html">BOOST_PP_ENUM_SHIFTED_<i>z</i></a></li>
<li><a href="etbpz.html">BOOST_PP_ENUM_TRAILING_BINARY_PARAMS_Z</a></li>
<li><a href="enum_trailing_params_z.html">BOOST_PP_ENUM_TRAILING_PARAMS_Z</a></li>
<li><a href="enum_trailing_z.html">BOOST_PP_ENUM_TRAILING_<i>z</i></a></li>
<li><a href="enum_z.html">BOOST_PP_ENUM_<i>z</i></a></li>
<li><a href="repeat_from_to_d_z.html">BOOST_PP_REPEAT_FROM_TO_D_<i>z</i></a></li>
<li><a href="repeat_from_to_z.html">BOOST_PP_REPEAT_FROM_TO_<i>z</i></a></li>
</ul>
base<br>
<ul>
<li><a href="repeat_z.html">BOOST_PP_REPEAT_<i>z</i></a></li>
</ul>
<br>
<pre></pre>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2014</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -11,7 +11,7 @@
Usage Usage
</h4> </h4>
<div class="code"> <div class="code">
<b>BOOST_PP_SEQ_REPLACE</b>(<i>seq</i>, <i>i</i>, <i>elem</i>) <b>BOOST_PP_SEQ_RPLACE</b>(<i>seq</i>, <i>i</i>, <i>elem</i>)
</div> </div>
<h4> <h4>
Arguments Arguments

View File

@ -1,55 +1,67 @@
<html> <html>
<head> <head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type"> <title>BOOST_PP_SEQ_REST_N</title>
<title>BOOST_PP_SEQ_REST_N</title> <link rel="stylesheet" type="text/css" href="../styles.css">
<link rel="stylesheet" type="text/css" href="../styles.css"> </head>
</head> <body>
<body> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> The <b>BOOST_PP_SEQ_REST_N</b> macro The <b>BOOST_PP_SEQ_REST_N</b> macro expands to a <i>seq</i> of all but the
expands to a <i>seq</i> of all but the first <i>n</i> elements of a <i>seq</i>. first <i>n</i> elements of a <i>seq</i>.
</div> </div>
<h4> Usage </h4> <h4>
<div class="code"> <b>BOOST_PP_SEQ_REST_N</b>(<i>n</i>, <i>seq</i>) </div> Usage
<h4> Arguments </h4> </h4>
<dl> <div class="code">
<dt>n</dt> <b>BOOST_PP_SEQ_REST_N</b>(<i>n</i>, <i>seq</i>)
<dd> The number of elements to remove. </dd> </div>
<dt>seq</dt> <h4>
<dd> The <i>seq</i> from which the elements are to be removed. </dd> Arguments
</dl> </h4>
<h4> Remarks </h4> <dl>
<div> This macro extracts <i>n</i> elements from the beginning of <i>seq</i> <dt>n</dt>
and returns the remainder of <i>seq</i> as a new <i>seq.<br> <dd>
<br> The number of elements to remove.
</i>It is undefined behavior if <i>n </i>is greater or equal to the size </dd>
of the <i>seq</i>. </div> <dt>seq</dt>
<h4> See Also </h4> <dd>
<ul> The <i>seq</i> from which the elements are to be removed.
<li> <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a></li> </dd>
</ul> </dl>
<h4> Requirements </h4> <h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/seq/rest_n.html">&lt;boost/preprocessor/seq/rest_n.hpp&gt;</a> Remarks
</div> </h4>
<h4> Sample Code </h4> <div>
<div> This macro extracts <i>n</i> elements from the beginning of <i>seq</i> and
<pre>#include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt;<br>#include &lt;<a returns the remainder of <i>seq</i> as a new <i>seq</i>
href="../headers/seq/elem.html">boost/preprocessor/seq/elem.hpp</a>&gt;<br>#include &lt;<a </div>
href="../headers/seq/first_n.html">boost/preprocessor/seq/first_n.hpp</a>&gt;<br>#include &lt;<a <h4>
href="../headers/seq/rest_n.html">boost/preprocessor/seq/rest_n.hpp</a>&gt;<br>#include &lt;<a See Also
href="../headers/seq/size.html">boost/preprocessor/seq/size.hpp</a>&gt;<br><br>#define NUMBERS \<br> (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \<br> (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \<br> (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \<br> (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \<br> (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \<br> (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \<br> (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \<br> (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \<br> (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \<br> (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \<br> (100)(101)(102)(103)(104)(105)(106)(107)(108)(109) \<br> (110)(111)(112)(113)(114)(115)(116)(117)(118)(119) \<br> (120)(121)(122)(123)(124)(125)(126)(127)(128)(129) \<br> (130)(131)(132)(133)(134)(135)(136)(137)(138)(139) \<br> (140)(141)(142)(143)(144)(145)(146)(147)(148)(149) \<br> (150)(151)(152)(153)(154)(155)(156)(157)(158)(159) \<br> (160)(161)(162)(163)(164)(165)(166)(167)(168)(169) \<br> (170)(171)(172)(173)(174)(175)(176)(177)(178)(179) \<br> (180)(181)(182)(183)(184)(185)(186)(187)(188)(189) \<br> (190)(191)(192)(193)(194)(195)(196)(197)(198)(199) \<br> (200)(201)(202)(203)(204)(205)(206)(207)(208)(209) \<br> (210)(211)(212)(213)(214)(215)(216)(217)(218)(219) \<br> (220)(221)(222)(223)(224)(225)(226)(227)(228)(229) \<br> (230)(231)(232)(233)(234)(235)(236)(237)(238)(239) \<br> (240)(241)(242)(243)(244)(245)(246)(247)(248)(249) \<br> (250)(251)(252)(253)(254)(255)(256) \<br> /**/<br><br>#define SUPER_ADD(x, y) <a </h4>
href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(y, <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>(x, NUMBERS))<br><br>SUPER_ADD(100, 100) // expands to 200<br><br>#define SUPER_SUB(x, y) \<br> <a <ul>
href="seq_size.html">BOOST_PP_SEQ_SIZE</a>( \<br> <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>( \<br> <a <li>
href="inc.html">BOOST_PP_INC</a>(y), \<br> <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a>( \<br> <a <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a></li>
href="inc.html">BOOST_PP_INC</a>(x), NUMBERS \<br> ) \<br> ) \<br> ) \<br> /**/<br><br>SUPER_SUB(67, 25) // expands to 42</pre> </ul>
</div> <h4>
<hr size="1"> Requirements
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" </h4>
target="_top">Housemarque Oy</a> 2002</i> <br> <div>
<i><EFBFBD> Copyright Paul Mensonides 2002</i> </div> <b>Header:</b> &nbsp;<a href="../headers/seq/rest_n.html">&lt;boost/preprocessor/seq/rest_n.hpp&gt;</a>
<div style="margin-left: 0px;"> </div>
<p><small>Distributed under the Boost Software License, Version 1.0. (See <h4>
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> Sample Code
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> </h4>
</div> <div>
</body> <pre>#include &lt;<a href="../headers/arithmetic/inc.html">boost/preprocessor/arithmetic/inc.hpp</a>&gt;<br>#include &lt;<a href="../headers/seq/elem.html">boost/preprocessor/seq/elem.hpp</a>&gt;<br>#include &lt;<a href="../headers/seq/first_n.html">boost/preprocessor/seq/first_n.hpp</a>&gt;<br>#include &lt;<a href="../headers/seq/rest_n.html">boost/preprocessor/seq/rest_n.hpp</a>&gt;<br>#include &lt;<a href="../headers/seq/size.html">boost/preprocessor/seq/size.hpp</a>&gt;<br><br>#define NUMBERS \<br> (0)(1)(2)(3)(4)(5)(6)(7)(8)(9) \<br> (10)(11)(12)(13)(14)(15)(16)(17)(18)(19) \<br> (20)(21)(22)(23)(24)(25)(26)(27)(28)(29) \<br> (30)(31)(32)(33)(34)(35)(36)(37)(38)(39) \<br> (40)(41)(42)(43)(44)(45)(46)(47)(48)(49) \<br> (50)(51)(52)(53)(54)(55)(56)(57)(58)(59) \<br> (60)(61)(62)(63)(64)(65)(66)(67)(68)(69) \<br> (70)(71)(72)(73)(74)(75)(76)(77)(78)(79) \<br> (80)(81)(82)(83)(84)(85)(86)(87)(88)(89) \<br> (90)(91)(92)(93)(94)(95)(96)(97)(98)(99) \<br> (100)(101)(102)(103)(104)(105)(106)(107)(108)(109) \<br> (110)(111)(112)(113)(114)(115)(116)(117)(118)(119) \<br> (120)(121)(122)(123)(124)(125)(126)(127)(128)(129) \<br> (130)(131)(132)(133)(134)(135)(136)(137)(138)(139) \<br> (140)(141)(142)(143)(144)(145)(146)(147)(148)(149) \<br> (150)(151)(152)(153)(154)(155)(156)(157)(158)(159) \<br> (160)(161)(162)(163)(164)(165)(166)(167)(168)(169) \<br> (170)(171)(172)(173)(174)(175)(176)(177)(178)(179) \<br> (180)(181)(182)(183)(184)(185)(186)(187)(188)(189) \<br> (190)(191)(192)(193)(194)(195)(196)(197)(198)(199) \<br> (200)(201)(202)(203)(204)(205)(206)(207)(208)(209) \<br> (210)(211)(212)(213)(214)(215)(216)(217)(218)(219) \<br> (220)(221)(222)(223)(224)(225)(226)(227)(228)(229) \<br> (230)(231)(232)(233)(234)(235)(236)(237)(238)(239) \<br> (240)(241)(242)(243)(244)(245)(246)(247)(248)(249) \<br> (250)(251)(252)(253)(254)(255)(256) \<br> /**/<br><br>#define SUPER_ADD(x, y) <a href="seq_elem.html">BOOST_PP_SEQ_ELEM</a>(y, <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>(x, NUMBERS))<br><br>SUPER_ADD(100, 100) // expands to 200<br><br>#define SUPER_SUB(x, y) \<br> <a href="seq_size.html">BOOST_PP_SEQ_SIZE</a>( \<br> <a href="seq_rest_n.html">BOOST_PP_SEQ_REST_N</a>( \<br> <a href="inc.html">BOOST_PP_INC</a>(y), \<br> <a href="seq_first_n.html">BOOST_PP_SEQ_FIRST_N</a>( \<br> <a href="inc.html">BOOST_PP_INC</a>(x), NUMBERS \<br> ) \<br> ) \<br> ) \<br> /**/<br><br>SUPER_SUB(67, 25) // expands to 42<br></pre>
</div>
<hr size="1">
<div style="margin-left: 0px;">
<i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<br><i><EFBFBD> Copyright Paul Mensonides 2002</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html> </html>

View File

@ -1,64 +1,58 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>BOOST_PP_TUPLE_EAT</title> <title>BOOST_PP_TUPLE_EAT</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_EAT</b> macro <div style="margin-left: 0px;">
expands to a macro that eats a <i>tuple</i>. </div> The <b>BOOST_PP_TUPLE_EAT</b> macro expands to a macro that eats a <i>tuple</i>.
<h4>Usage</h4> </div>
<div class="code"> <b>BOOST_PP_TUPLE_EAT</b>() <a <h4>Usage</h4>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#VNotation" <div class="code">
target="_self"><sup>(v)</sup></a><br> <b>BOOST_PP_TUPLE_EAT</b>(<i>size</i>)<br>
<br> <br>
or<br> or<br>
<br> <br>
<b>BOOST_PP_TUPLE_EAT</b>(<i>size</i>) <a <b>BOOST_PP_TUPLE_EAT</b>(<i>size</i>) <sup>(v)</sup><b></b><br>
href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a><b></b><br> </div>
</div> <h4>Arguments</h4>
<h4>Arguments</h4> <dl>
<dl> <dt>size</dt>
<dt>size</dt> <dd>
<dd> The size of the <i>tuple</i> to be eaten.&nbsp; The argument The size of the <i>tuple</i> to be eaten.&nbsp;
is ignored.<br> Valid <i>tuple</i> sizes range from <i>1</i> to <b>BOOST_PP_LIMIT_TUPLE</b>.
</dd> </dd>
</dl> </dl>
<h4>Remarks</h4> <h4>Remarks</h4>
<div>The <div>
size may be left out The <i>size</i> argument must be the actual size of the <i>tuple</i> in the non-variadic version. <br>
completely so that the macro can be invoked as <br>For the variadic version <sup>(v)</sup>&nbsp;the
BOOST_PP_TUPLE_EAT(); you may get a warning from some compilers, size may be left out
but the completely so that the macro can be invoked as BOOST_PP_TUPLE_EAT(); you may get a warning from some compilers, but the
functionality will still work. If you specify a size, it will be functionality will still work. If you specify a size in the variadic
ignored, but the warning from some compilers will version, it will be ignored, but the warning from some compilers will
not occur.<br> not occur.<br>
</div> </div>
<h4>See Also</h4> <h4>See Also</h4>
<ul> <ul>
<li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li> <li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li>
</ul> </ul>
<h4>Requirements</h4> <h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/eat.html">&lt;boost/preprocessor/tuple/eat.hpp&gt;</a> <div>
</div> <b>Header:</b> &nbsp;<a href="../headers/tuple/eat.html">&lt;boost/preprocessor/tuple/eat.hpp&gt;</a>
<h4>Sample Code</h4> </div>
<div> <h4>Sample Code</h4>
<pre>#include &lt;<a href="../headers/control/if.html">boost/preprocessor/control/if.hpp</a>&gt;<br>#include &lt;<a href="../headers/tuple/eat.html">boost/preprocessor/tuple/eat.hpp</a>&gt;<br><br>#define OP(a, b) (a b)<br>#define MACRO(n) <a href="if.html">BOOST_PP_IF</a>(n, OP, <a href="tuple_eat.html">BOOST_PP_TUPLE_EAT</a>())(1, 2)<br><br>MACRO(0) // expands to nothing<br>MACRO(1) // expands to (1, 2)<br></pre> <div><pre>#include &lt;<a href="../headers/control/if.html">boost/preprocessor/control/if.hpp</a>&gt;<br>#include &lt;<a href="../headers/tuple/eat.html">boost/preprocessor/tuple/eat.hpp</a>&gt;<br><br>#define OP(a, b) (a b)<br><br>#define MACRO(n) <a href="if.html">BOOST_PP_IF</a>(n, OP, <a href="tuple_eat.html">BOOST_PP_TUPLE_EAT</a>(2))(1, 2)<br><br>// or for the variadic version <sup>(v)</sup><br><br>#define MACRO(n) <a href="if.html">BOOST_PP_IF</a>(n, OP, <a href="file:///C:/Programming/VersionControl/sandbox/variadics/libs/preprocessor/doc/ref/tuple_eat.html">BOOST_PP_TUPLE_EAT</a>())(1, 2)<br><br>MACRO(0) // expands to nothing<br>MACRO(1) // expands to (1, 2)<br></pre></div>
</div> <hr size="1">
<hr size="1"> <div style="margin-left: 0px;">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> <br><i><EFBFBD> Copyright Paul Mensonides 2002<br>
2002</i> <br> </i><i><EFBFBD> Copyright Edward Diener 2011</i><br>
<i><EFBFBD> Copyright Paul Mensonides 2002<br> </div>
</i><i><EFBFBD> Copyright Edward Diener 2011,2013,2020</i><br> <div style="margin-left: 0px;">
</div> <p><small>Distributed under the Boost Software License, Version 1.0. (See
<div style="margin-left: 0px;"> accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
<p><small>Distributed under the Boost Software License, Version copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
1.0. (See accompanying file <a </div>
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body> </body>
</html> </html>

View File

@ -1,64 +1,65 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>BOOST_PP_TUPLE_ELEM</title> <title>BOOST_PP_TUPLE_ELEM</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_ELEM</b> <div style="margin-left: 0px;">
macro extracts an element from a <i>tuple</i>. </div> The <b>BOOST_PP_TUPLE_ELEM</b> macro extracts an element from a <i>tuple</i>.
<h4>Usage</h4> </div>
<div class="code"> <b>BOOST_PP_TUPLE_ELEM</b>(<i>i</i>, <i>tuple</i>) <h4>Usage</h4>
<a <div class="code">
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#VNotation" <b>BOOST_PP_TUPLE_ELEM</b>(<i>size</i>, <i>i</i>, <i>tuple</i>)<sup></sup><br>
target="_self"><sup>(v)</sup></a><br> <br>
<br> or<br>
or<br> <br>
<br> <b>BOOST_PP_TUPLE_ELEM</b>(<i>...</i>) <sup>(v)</sup><b></b><br>
<b>BOOST_PP_TUPLE_ELEM</b>(<i>size</i>, <i>i</i>, <i>tuple</i>) </div>
<a href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a><br> <h4>Arguments</h4>
</div> <dl>
<h4>Arguments</h4> <dt>size</dt>
<dl> <dd>
<dt>size</dt> The size of the <i>tuple</i>.&nbsp;
<dd> The size of the <i>tuple</i>.&nbsp; The size is ignored.<br> Valid <i>tuple</i> sizes range from <i>1</i> to <b>BOOST_PP_LIMIT_TUPLE</b>.&nbsp;
</dd> </dd>
<dt>i</dt> <dt>i</dt>
<dd> The zero-based index into the <i>tuple</i> of the element to <dd>
be extracted.&nbsp; Valid values range from <i>0</i> to <i>size</i> The zero-based index into the <i>tuple</i> of the element to be extracted.&nbsp;
- <i>1</i>. </dd> Valid values range from <i>0</i> to <i>size</i> - <i>1</i>.
<dt>tuple</dt> </dd>
<dd> The <i>tuple</i> from which an element is to be extracted. </dd> <dt>tuple</dt>
</dl> <dd>
<h4>Remarks</h4> The <i>tuple</i> from which an element is to be extracted.
<div>You can invoke the variadic macro as BOOST_PP_TUPLE_ELEM(<i>i</i>,<i>tuple</i>), </dd>
or BOOST_PP_TUPLE_ELEM(<i>size</i>,<i>i</i>,<i>tuple</i>) for </dl>
backward compatibility. </div> <h4>Remarks</h4>
<h4>See Also</h4> <div>
<ul> The <i>size</i> argument must be the actual size of the <i>tuple</i>,
<li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li> and <i>i</i> must be less than the size of the <i>tuple</i>. <br>
</ul> <br>You can
<h4>Requirements</h4> invoke the variadic version as BOOST_PP_TUPLE_ELEM(<i>i</i>,<i>tuple</i>) or
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/elem.html">&lt;boost/preprocessor/tuple/elem.hpp&gt;</a> BOOST_PP_TUPLE_ELEM(<i>size</i>,<i>i</i>,<i>tuple</i>).
</div> </div>
<h4>Sample Code</h4> <h4>See Also</h4>
<div> <ul>
<pre>#include &lt;<a href="../headers/tuple/elem.html">boost/preprocessor/tuple/elem.hpp</a>&gt;<br><br>#define TUPLE (a, b, c, d)<br><br><a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(0, TUPLE) // expands to a in the variadic version<br><a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(3, TUPLE) // expands to d in the variadic version<br></pre> <li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li>
</div> </ul>
<hr size="1"> <h4>Requirements</h4>
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a <div>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> <b>Header:</b> &nbsp;<a href="../headers/tuple/elem.html">&lt;boost/preprocessor/tuple/elem.hpp&gt;</a>
2002</i> <br> </div>
<i><EFBFBD> Copyright Paul Mensonides 2002<br> <h4>Sample Code</h4>
</i><i><EFBFBD> Copyright Edward Diener 2011,2013,2020</i><br> <div><pre>#include &lt;<a href="../headers/tuple/elem.html">boost/preprocessor/tuple/elem.hpp</a>&gt;<br><br>#define TUPLE (a, b, c, d)<br><br><a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(4, 0, TUPLE) // expands to a<br><a href="tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(4, 3, TUPLE) // expands to d<br><br>// or for the variadic version <sup>(v)</sup><br><br><a href="file:///C:/Programming/VersionControl/sandbox/variadics/libs/preprocessor/doc/ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(0, TUPLE) // expands to a in the variadic version<br><a href="file:///C:/Programming/VersionControl/sandbox/variadics/libs/preprocessor/doc/ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</a>(3, TUPLE) // expands to d in the variadic version<br></pre></div>
</div> <hr size="1">
<div style="margin-left: 0px;"> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
1.0. (See accompanying file <a <br><i><EFBFBD> Copyright Paul Mensonides 2002<br>
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or </i><i><EFBFBD> Copyright Edward Diener 2011</i><br>
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p> </div>
</div> <div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body> </body>
</html> </html>

View File

@ -1,68 +1,55 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>BOOST_PP_TUPLE_ENUM</title> <title>BOOST_PP_TUPLE_ENUM</title>
<link rel="stylesheet" type="text/css" href="../styles.css"> <link rel="stylesheet" type="text/css" href="../styles.css">
</head> </head>
<body> <body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_ENUM</b> <div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_ENUM</b> macro&nbsp;converts a <i>tuple</i> to its comma-separated elements. The comma-separated elements are in the form of <i>variadic data</i>. </div>
macro&nbsp;converts a <i>tuple</i> to its comma-separated <h4> Usage </h4>
elements. The comma-separated elements are in the form of <i>variadic <div class="code"> <b>BOOST_PP_TUPLE_ENUM</b>(<i>size,tuple</i>)<br>
data</i>. </div> <br>
<h4> Usage </h4> or<br>
<div class="code"> <b>BOOST_PP_TUPLE_ENUM</b>(<i>tuple</i>) <a <br>
href="file:///E:/Programming/VersionControl/modular-boost/libs/preprocessor/doc/topics/variadic_macros.html#VNotation" <b>BOOST_PP_TUPLE_ENUM</b>(<i>...</i>) <sup>(v)</sup><b></b><br>
target="_self"><sup>(v)</sup></a><br> </div>
<br> <h4> Arguments </h4>
or<br> <dl>
<br> <dt>size</dt>
<b>BOOST_PP_TUPLE_ENUM</b>(<i>size,tuple</i>) <a <dd>
href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a><br> The size of the <i>tuple</i>.&nbsp;
</div> Valid <i>tuple</i> sizes range from <i>1</i> to <b>BOOST_PP_LIMIT_TUPLE</b>. <br>
<h4> Arguments </h4> </dd>
<dl> <dt>tuple</dt>
<dt>size</dt> <dd> The <i>tuple</i> whose elements are to be converted. </dd>
<dd> The size of the <i>tuple</i>.&nbsp; The size is ignored.<br> </dl>
</dd> <h4> Remarks </h4>
<dt>tuple</dt> <div>
<dd> The <i>tuple</i> whose elements are to be converted. </dd> <br>You can
</dl> invoke the variadic version <sup>(v)</sup> as BOOST_PP_TUPLE_ENUM(<i>tuple</i>) or
<h4> Remarks </h4> BOOST_PP_TUPLE_ENUM(<i>size</i>,<i>tuple</i>).<br>
<div> </div>
You can <h4>See Also</h4>
invoke the variadic macro <a <ul>
href="../topics/variadic_macros.html#VNotation" target="_self"><sup>(v)</sup></a> <li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a><br>
as BOOST_PP_TUPLE_ENUM(<i>tuple</i>) or </li>
BOOST_PP_TUPLE_ENUM(<i>size</i>,<i>tuple</i>) for backward </ul>
compatibility.<br> <h4> Requirements </h4>
</div> <div> <b>Header:</b> &nbsp;<a href="../headers/tuple/enum.html">&lt;boost/preprocessor/tuple/enum.hpp&gt;</a>
<h4>See Also</h4> </div>
<ul> <h4> Sample Code </h4>
<li><a href="limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a><br> <div>
</li> <pre>#include &lt;<a href="../headers/tuple/enum.html">boost/preprocessor/tuple/enum.hpp</a>&gt;<br><br>#define TUPLE (B,O,O,S,T)<br><br><a href="tuple_enum.html">BOOST_PP_TUPLE_ENUM</a>(5,TUPLE) // expands to B, O, O, S, T<br><br>// or for the variadic version <sup>(v)<br><br></sup><a href="tuple_enum.html">BOOST_PP_TUPLE_ENUM</a>(TUPLE) // expands to B, O, O, S, T<br></pre>
</ul> </div>
<h4> Requirements </h4> <hr size="1">
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/enum.html">&lt;boost/preprocessor/tuple/enum.hpp&gt;</a> <div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</div> <br>
<h4> Sample Code </h4> <i><EFBFBD> Copyright Paul Mensonides 2002<br>
<div> </i><i><EFBFBD> Copyright Edward Diener 2011</i><br>
<pre>#include &lt;<a href="../headers/tuple/enum.html">boost/preprocessor/tuple/enum.hpp</a>&gt;<br><br>#define TUPLE (B,O,O,S,T)<br><br><a href="tuple_enum.html">BOOST_PP_TUPLE_ENUM</a>(TUPLE) // expands to B, O, O, S, T<br></pre> </div>
</div> <div style="margin-left: 0px;">
<hr size="1"> <p><small>Distributed under the Boost Software License, Version 1.0.
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright <a (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
href="http://www.housemarque.com" target="_top">Housemarque Oy</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
2002</i> </div>
<br>
<i><EFBFBD> Copyright Paul Mensonides 2002<br>
</i><i><EFBFBD> Copyright Edward Diener 2011,2013,2020</i><br>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0.
(See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body> </body>
</html> </html>

View File

@ -1,59 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="content-type">
<title>BOOST_PP_TUPLE_INSERT</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_INSERT</b>
macro inserts an element into an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_INSERT</b>(<i>tuple</i>, <i>i</i>,
<i>elem</i>) <a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>tuple</dt>
<dd> The <i>tuple</i> into which an element is to be inserted. </dd>
<dt>i</dt>
<dd> The zero-based position in <i>tuple</i> where an element is
to be inserted.&nbsp; Valid values range from <i>0</i> to <b>BOOST_PP_TUPLE_SIZE</b>(<i>tuple</i>).</dd>
<dt>elem</dt>
<dd> The element to insert. </dd>
</dl>
<h4>Remarks</h4>
<div> This macro inserts <i>elem</i> before the element at index <i>i</i>.
</div>
<div> If the operation attempts to create an <i>tuple</i> that is
larger than <b>BOOST_PP_LIMIT_TUPLE</b>, the result is undefined.</div>
<div> This macro uses <b>BOOST_PP_WHILE</b> interally.&nbsp;
Therefore, to use the <i>d</i> parameter passed from other macros
that use <b>BOOST_PP_WHILE</b>, see <b>BOOST_PP_TUPLE_INSERT_D</b>.</div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_insert_d.html">BOOST_PP_TUPLE_INSERT_D</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/insert.html">&lt;boost/preprocessor/tuple/insert.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/tuple/insert.html">boost/preprocessor/tuple/insert.hpp</a>&gt;
#define TUPLE (a, b, d)
<a href="tuple_insert.html">BOOST_PP_TUPLE_INSERT</a>(TUPLE, 2, c) // expands to (a, b, c, d)
</pre>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,50 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="content-type">
<title>BOOST_PP_TUPLE_INSERT_D</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_INSERT_D</b>
macro inserts an element into a <i>tuple</i>.&nbsp; It reenters <b>BOOST_PP_WHILE</b>
with maximum efficiency.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_INSERT_D</b>(<i>d</i>, <i>tuple</i>,
<i>i</i>, <i>elem</i>)</div>
<h4>Arguments</h4>
<dl>
<dt>d</dt>
<dd> The next available <b>BOOST_PP_WHILE</b> iteration. </dd>
<dt>tuple</dt>
<dd> The <i>tuple</i> into which an element is to be inserted.</dd>
<dt>i</dt>
<dd> The zero-based position in <i>tuple</i> where an element is
to be inserted.&nbsp; Valid values range from <i>0</i> to <b>BOOST_PP_TUPLE_SIZE</b>(<i>tuple</i>).</dd>
<dt>elem</dt>
<dd> The element to insert. </dd>
</dl>
<h4>Remarks</h4>
<div> This macro inserts <i>elem</i> before the element at index <i>i</i>.
</div>
<div> If the operation attempts to create an <i>tuple</i> that is
larger than <b>BOOST_PP_LIMIT_TUPLE</b>, the result is undefined.</div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_insert.html">BOOST_PP_TUPLE_INSERT</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/insert.html">&lt;boost/preprocessor/tuple/insert.hpp&gt;</a>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i>
</div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version
1.0. (See accompanying file <a
href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or
copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,48 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_POP_BACK</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_POP_BACK</b> macro
pops an element from the end of an <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_POP_BACK</b>(<i>tuple</i>) <a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>tuple</dt>
<dd>The <i>tuple</i> to pop an element from.</dd>
</dl>
<h4>Remarks</h4>
<div style="background-color: white;"> This macro returns <i>tuple</i>
after removing the last element.&nbsp; If <i>tuple</i> has only a single
element, it remains unchanged since a&nbsp;<i>tuple </i>must have at
least one element.</div>
<div> This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp; Therefore,
to use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>,
see <b>BOOST_PP_TUPLE_POP_BACK_Z</b> </div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_pop_back_z.html">BOOST_PP_TUPLE_POP_BACK_Z</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/pop_back.html">&lt;boost/preprocessor/tuple/pop_back.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/tuple/pop_back.html">boost/preprocessor/tuple/pop_back.hpp</a>&gt;
#define TUPLE (a, b, c)
<a href="tuple_pop_back.html">BOOST_PP_TUPLE_POP_BACK</a>(TUPLE) // expands to (a, b)
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,40 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_POP_BACK_Z</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_POP_BACK_Z</b> macro
pops an element from the end of an <i>tuple</i>.&nbsp; It reenters <b>BOOST_PP_REPEAT</b>
with maximum efficiency. </div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_POP_BACK_Z</b>(<i>z</i>, <i>tuple</i>)
<a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>z</dt>
<dd> The next available <b>BOOST_PP_REPEAT</b> dimension. </dd>
<dt>tuple</dt>
<dd> The <i>tuple</i> to pop an element from.</dd>
</dl>
<h4>Remarks</h4>
<div> This macro returns <i>tuple</i> after removing the last
element.&nbsp; If <i>tuple</i> has only a single element, it remains
unchanged since a&nbsp;<i>tuple </i>must have at least one element.</div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_pop_back.html">BOOST_PP_TUPLE_POP_BACK</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/pop_back.html">&lt;boost/preprocessor/tuple/pop_back.hpp&gt;</a>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,47 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_POP_FRONT</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_POP_FRONT</b> macro
pops an element from the beginning of a <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_POP_FRONT</b>(<i>tuple</i>) <a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>tuple</dt>
<dd> The <i>tuple</i> to pop an element from.</dd>
</dl>
<h4>Remarks</h4>
<div> This macro returns <i>tuple</i> after removing the first
element.&nbsp; If <i>tuple</i> has only a single element, it remains
unchanged since a&nbsp;<i>tuple </i>must have at least one element.</div>
<div> This macro uses <b>BOOST_PP_REPEAT</b> internally.&nbsp; Therefore,
to use the <i>z</i> parameter passed from other macros that use <b>BOOST_PP_REPEAT</b>,
see <b>BOOST_PP_TUPLE_POP_FRONT_Z</b> </div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_pop_front_z.html">BOOST_PP_TUPLE_POP_FRONT_Z</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/pop_front.html">&lt;boost/preprocessor/tuple/pop_front.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/tuple/pop_front.html">boost/preprocessor/tuple/pop_front.hpp</a>&gt;
#define TUPLE (a, b, c)
<a href="tuple_pop_front.html">BOOST_PP_TUPLE_POP_FRONT</a>(TUPLE) // expands to (b, c)
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,40 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_POP_FRONT_Z</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_POP_FRONT_Z</b>
macro pops an element from the beginning of a&nbsp;<i>tuple</i>.&nbsp; It
reenters <b>BOOST_PP_REPEAT</b> with maximum efficiency.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_POP_FRONT_Z</b>(<i>z</i>, <i>tuple</i>)
<a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>z</dt>
<dd> The next available <b>BOOST_PP_REPEAT</b> dimension.</dd>
<dt>tuple</dt>
<dd> The <i>tuple</i> to pop an element from.</dd>
</dl>
<h4>Remarks</h4>
<div> This macro returns <i>tuple</i> after removing the first
element.&nbsp; If <i>tuple</i> has only a single element, it remains
unchanged since a&nbsp;<i>tuple </i>must have at least one element.</div>
<h4>See Also</h4>
<ul>
<li><a href="tuple_pop_front.html">BOOST_PP_TUPLE_POP_FRONT</a></li>
</ul>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/pop_front.html">&lt;boost/preprocessor/tuple/pop_front.hpp&gt;</a>
</div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,39 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_PUSH_BACK</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_PUSH_BACK</b> macro
appends an element to the end of a <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_PUSH_BACK</b>(<i>tuple</i>, <i>elem</i>)
<a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>tuple</dt>
<dd> The <i>tuple</i> to append an element to.</dd>
<dt>elem</dt>
<dd> The element to append. </dd>
</dl>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/push_back.html">&lt;boost/preprocessor/tuple/push_back.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/tuple/push_back.html">boost/preprocessor/tuple/push_back.hpp</a>&gt;
#define TUPLE (a, b, c)
<a href="tuple_push_back.html">BOOST_PP_TUPLE_PUSH_BACK</a>(TUPLE, d) // expands to (a, b, c, d)
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanyig file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

View File

@ -1,39 +0,0 @@
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
<title>BOOST_PP_TUPLE_PUSH_FRONT</title>
<link rel="stylesheet" type="text/css" href="../styles.css">
</head>
<body>
<div style="margin-left: 0px;"> The <b>BOOST_PP_TUPLE_PUSH_FRONT</b> macro
appends an element to the beginning of a <i>tuple</i>.</div>
<h4>Usage</h4>
<div class="code"> <b>BOOST_PP_TUPLE_PUSH_FRONT</b>(<i>tuple</i>, <i>elem</i>)
<a href="../topics/variadic_macros.html#VNotation"><sup>(v)</sup></a></div>
<h4>Arguments</h4>
<dl>
<dt>tuple</dt>
<dd> The <i>tuple</i> to append an element to.</dd>
<dt>elem</dt>
<dd> The element to append. </dd>
</dl>
<h4>Requirements</h4>
<div> <b>Header:</b> &nbsp;<a href="../headers/tuple/push_front.html">&lt;boost/preprocessor/tuple/push_front.hpp&gt;</a>
</div>
<h4>Sample Code</h4>
<div>
<pre>#include &lt;<a href="../headers/tuple/push_front.html">boost/preprocessor/tuple/push_front.hpp</a>&gt;
#define TUPLE (b, c, d)
<a href="tuple_push_front.html">BOOST_PP_TUPLE_PUSH_FRONT</a>(TUPLE, a) // expands to (a, b, c, d)
</pre></div>
<hr size="1">
<div style="margin-left: 0px;"> <i><EFBFBD> Copyright Edward Diener 2013</i> </div>
<div style="margin-left: 0px;">
<p><small>Distributed under the Boost Software License, Version 1.0. (See
accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a>
or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">www.boost.org/LICENSE_1_0.txt</a>)</small></p>
</div>
</body>
</html>

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