mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-06-29 22:11:04 +02:00
Compare commits
1 Commits
boost-1.73
...
boost-1.26
Author | SHA1 | Date | |
---|---|---|---|
3d16b986cb |
323
.travis.yml
323
.travis.yml
@ -1,323 +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,2a
|
||||
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,2a
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- g++-9
|
||||
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,2a
|
||||
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,2a
|
||||
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,2a
|
||||
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
|
||||
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 -DBOOST_ENABLE_CMAKE=1 -DBoost_VERBOSE=1 -DBOOST_INCLUDE_LIBRARIES=preprocessor ..
|
||||
- ctest --output-on-failure -R boost_preprocessor
|
||||
|
||||
- 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:
|
||||
- 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
|
||||
|
||||
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 -j 3 libs/preprocessor/test toolset=$TOOLSET cxxstd=$CXXSTD
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: always
|
@ -1,25 +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(BOOST_SUPERPROJECT_VERSION)
|
||||
|
||||
include(BoostInstall)
|
||||
boost_install(TARGETS boost_preprocessor HEADER_DIRECTORY include/)
|
||||
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTING)
|
||||
|
||||
add_subdirectory(test)
|
||||
|
||||
endif()
|
95
appveyor.yml
95
appveyor.yml
@ -1,95 +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-9.0,msvc-10.0,msvc-11.0,msvc-12.0,msvc-14.0
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
TOOLSET: msvc-14.1
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
||||
TOOLSET: msvc-14.2
|
||||
|
||||
matrix:
|
||||
exclude:
|
||||
- configuration: cmake_test
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
|
||||
- configuration: cmake_test
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
|
||||
|
||||
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/boostdep
|
||||
- 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
|
||||
- b2 -j3 libs/preprocessor/test toolset=%TOOLSET%
|
||||
|
||||
-
|
||||
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
|
File diff suppressed because it is too large
Load Diff
@ -1,58 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>acknowledgements.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Acknowledgements</h4>
|
||||
<div>
|
||||
The following are a few acknowledgements of people that contributed to
|
||||
or were instrumental in the development of the library by Vesa Karnoven and myself.
|
||||
</div>
|
||||
<h4>Vesa Karvonen</h4>
|
||||
<div>
|
||||
The original idea of passing two extra parameters to REPEAT, which makes it possible to create preprocessor code on top of it,
|
||||
was due to Aleksey Gurtovoy.
|
||||
The invokeable IDENTITY macro was invented by him.
|
||||
He also suggested the name for the library.
|
||||
Many thanks to Aleksey for his insights!
|
||||
</div>
|
||||
<div>
|
||||
Thanks to everyone who participated in the review: David Abrahams, Beman Dawes, Ronald Garcia, Douglas Gregor, Aleksey Gurtovoy, Jeremy Siek, and Daryle Walker.
|
||||
</div>
|
||||
<div>
|
||||
Thanks to Chris Little and Mat Marcus for providing help with MWCW.
|
||||
</div>
|
||||
<div>
|
||||
The original automatic recursion technique, which makes many of the library
|
||||
primitives easier to use, was invented by Paul Mensonides.
|
||||
</div>
|
||||
<div>
|
||||
The PREPROCESSOR library has been developed by Vesa Karvonen.
|
||||
</div>
|
||||
<h4>Paul Mensonides</h4>
|
||||
<div>
|
||||
Thanks to Vesa Karvonen for the original conception of the library.
|
||||
His work, his help, and his opinions are all much appreciated.
|
||||
</div>
|
||||
<div>
|
||||
Thanks also to David Abrahams for his observations and continued support.
|
||||
</div>
|
||||
<div>
|
||||
The help of several other Boost developers is also greatly appreciated.
|
||||
In particular, thanks to Aleksey Gurtovoy for his suggestions and to Ralf W. Grosse-Kunstleve for providing
|
||||
access to several compilers for testing.
|
||||
</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>
|
@ -1,58 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>bibliography.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Bibliography</h4>
|
||||
<table style="margin-left: 20px">
|
||||
<tr>
|
||||
<td><b><a name="stroustrup"></a>[Stroustrup]</b></td>
|
||||
<td>Stroustrup: <i>The Design and Evolution of C++</i>, ISBN 0201543303</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><a name="czarnecki"></a>[Czarnecki]</b></td>
|
||||
<td>Czarnecki, Eisenecker: <i>Generative Programming</i>, ISBN 0201309777</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><b><a name="barton"></a>[Barton]</b></td>
|
||||
<td>Barton, Nackman: <i>Scientific and Engineering C++</i>, ISBN 0201533936</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><a name="mcconnell"></a>[McConnell]</b></td>
|
||||
<td>McConnell: <i>Code Complete</i>, ISBN 1556154844</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b><a name="std"></a>[Std]</b></td>
|
||||
<td>ISO/IEC 14882:1998 <i>Programming Languages - C++</i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Thompson]</b></td>
|
||||
<td>Thompson: <i>Haskell: The Craft of Functional Programming</i>, ISBN 0201342758</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Okasaki]</b></td>
|
||||
<td>Okasaki: <i>Purely Functional Data Structures</i>, ISBN 0521663504</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Cousineau]</b></td>
|
||||
<td>Cousineau, Mauny: <i>The Functional Approach to Programming</i>, ISBN 0521576814</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>[Abelson]</b></td>
|
||||
<td>Abelson, Sussman, Sussman: <i>Structure and Interpretation of Computer Programs</i>, ISBN 0521576814</td>
|
||||
</tr>
|
||||
</table>
|
||||
<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>
|
@ -1,38 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>contents.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<style>
|
||||
a, a:link, a:visited { color: black; font-weight: bold; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h4><a href="AppendixA-AnIntroductiontoPreprocessorMetaprogramming.html"
|
||||
target="_top">Introduction</a></h4>
|
||||
<h4><a href="topics.html">Topics</a></h4>
|
||||
<a href="topics.html">
|
||||
</a>
|
||||
<h4><a href="topics.html"></a><a href="terms.html">Terminology</a></h4>
|
||||
<a href="terms.html">
|
||||
</a>
|
||||
<h4><a href="terms.html"></a><a href="data.html">Data Types</a></h4>
|
||||
<a href="data.html">
|
||||
</a>
|
||||
<h4><a href="data.html"></a><a href="ref.html">Reference</a></h4>
|
||||
<a href="ref.html">
|
||||
</a>
|
||||
<h4><a href="ref.html"></a><a href="headers.html">Headers</a></h4>
|
||||
<a href="headers.html">
|
||||
</a>
|
||||
<h4><a href="headers.html"></a><a href="examples.html">Examples</a></h4>
|
||||
<a href="examples.html">
|
||||
</a>
|
||||
<h4><a href="examples.html"></a><a href="miscellanea.html">Miscellanea</a></h4>
|
||||
<a href="miscellanea.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>
|
@ -1,27 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>data.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>
|
||||
Data Types <small><a href="contents.html" target="index">[back]</a></small>
|
||||
</h4>
|
||||
<ul>
|
||||
<li><a href="data/arrays.html">arrays</a></li>
|
||||
<li><a href="data/lists.html">lists</a></li>
|
||||
<li><a href="data/sequences.html">sequences</a></li>
|
||||
<li><a href="data/tuples.html">tuples</a></li>
|
||||
</ul>
|
||||
|
||||
<!--
|
||||
<EFBFBD> Copyright Housemarque Oy 2002
|
||||
<EFBFBD> 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>
|
@ -1,55 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>arrays.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Arrays</h4>
|
||||
<div> An <i>array</i> is a data structure consisting of a two-element <i>tuple</i>.
|
||||
The first element is the number of elements in the <i>array</i>.
|
||||
The second element is another <i>tuple</i> of the elements in the <i>array</i>.
|
||||
For example, </div>
|
||||
<div class="code"> (<i>3</i>, (<i>a</i>, <i>b</i>, <i>c</i>)) </div>
|
||||
<div> ...is an <i>array</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and
|
||||
<i>c</i>. </div>
|
||||
<div> The primary strength of <i>arrays</i> is that they store their own
|
||||
size. Because of this, access to elements does not require the
|
||||
size. It only requires that an element exists at a certain index. </div>
|
||||
<div> This allows macro parameters to be variable in size and allows data
|
||||
states to change size without the user explicitly keeping track of the
|
||||
size independently.<br>
|
||||
<br>
|
||||
An <i>array </i>can be empty and have no elements. An empty array has a
|
||||
0 size. The notation for an empty array is '(0,())'.<br>
|
||||
<br>
|
||||
<span style="font-style: italic;"> </span></div>
|
||||
<div>With variadic macro support a <i>tuple </i>has all of the
|
||||
functionality as an <i>array</i>, knows its own size, and is easier
|
||||
syntactically to use. Because of that an <i>array</i> should be used, as
|
||||
opposed to a <i>tuple</i>, only if your compiler does not support
|
||||
variadic macros. The only advantage an <i>array </i>has over a <i>tuple
|
||||
</i>is that an <i>array </i>can be empty while a <i>tuple </i>always
|
||||
has at least one element and therefore can never have a size of 0.<br>
|
||||
<br>
|
||||
Elements of an <i>array</i> can be extracted with <b>BOOST_PP_ARRAY_ELEM</b>,
|
||||
an <i>array's</i> size can be extracted with <b>BOOST_PP_ARRAY_SIZE</b>,
|
||||
and an <i>array</i> can be converted to the more primitive <i>tuple</i>
|
||||
data structure with <b>BOOST_PP_ARRAY_DATA</b>. </div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/array_data.html">BOOST_PP_ARRAY_DATA</a></li>
|
||||
<li><a href="../ref/array_elem.html">BOOST_PP_ARRAY_ELEM</a></li>
|
||||
<li><a href="../ref/array_size.html">BOOST_PP_ARRAY_SIZE</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</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>
|
@ -1,42 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>lists.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Lists</h4>
|
||||
<div> A <i>list</i> is a simple cons-style list with a head and a
|
||||
tail. The head of a <i>list</i> is an element, and the tail is
|
||||
either another <i>list</i> or <b>BOOST_PP_NIL</b>. For example, </div>
|
||||
<div class="code"> (<i>a</i>, (<i>b</i>, (<i>c</i>, <b>BOOST_PP_NIL</b>)))
|
||||
</div>
|
||||
<div> ...is a <i>list</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
|
||||
</div>
|
||||
<div> This allows macro parameters to be variable in size and allows data
|
||||
states to change size without the user explicitly keeping track of the
|
||||
size independently.<br>
|
||||
<br>
|
||||
A list can be empty and therefore have a size of 0. An empty list is
|
||||
represented by the notation <b>BOOST_PP_NIL.<br>
|
||||
<br>
|
||||
</b></div>
|
||||
<div> Elements of a <i>list</i> can be extracted with <b>BOOST_PP_LIST_FIRST</b>
|
||||
and <b>BOOST_PP_LIST_REST</b>. </div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/list_first.html">BOOST_PP_LIST_FIRST</a></li>
|
||||
<li><a href="../ref/list_rest.html">BOOST_PP_LIST_REST</a></li>
|
||||
<li><a href="../ref/nil.html">BOOST_PP_NIL</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</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>
|
@ -1,60 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>sequences.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4> Sequences </h4>
|
||||
<div> A <i>sequence</i> (abbreviated to <i>seq</i>) is a group of adjacent
|
||||
parenthesized elements. For example, </div>
|
||||
<div class="code"> (<i>a</i>)(<i>b</i>)(<i>c</i>) </div>
|
||||
<div> ...is a <i>seq</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and <i>c</i>.
|
||||
</div>
|
||||
<div> <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>like
|
||||
a <i>tuple, </i>cannot be empty. 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
|
||||
// append to head ^
|
||||
|
||||
BOOST_PP_SEQ_FOLD_LEFT(REVERSE, BOOST_PP_EMPTY, SEQ)()
|
||||
// #1 #2
|
||||
// 1) placeholder for "empty" seq
|
||||
// 2) remove placeholder
|
||||
|
||||
#define SEQ_B (1)(2)(3)
|
||||
#define INC(s, state, elem) state (BOOST_PP_INC(elem))
|
||||
// append to tail ^
|
||||
|
||||
BOOST_PP_SEQ_FOLD_RIGHT(INC, BOOST_PP_SEQ_NIL, SEQ)
|
||||
// ^
|
||||
// special placeholder that will be "eaten"
|
||||
// by appending to the tail
|
||||
</pre> </div>
|
||||
<div> <i>Sequences</i> are extremely efficient. Element access speed
|
||||
approaches random access--even with <i>seqs</i> of up to <i>256</i>
|
||||
elements. This is because element access (among other things) is
|
||||
implemented iteratively rather than recursively. Therefore, elements
|
||||
can be accessed at extremely high indices even on preprocessors with low
|
||||
maximum expansion depths. </div>
|
||||
<div> Elements of a <i>seq</i> can be extracted with <b>BOOST_PP_SEQ_ELEM</b>.
|
||||
</div>
|
||||
<h4> Primitives </h4>
|
||||
<ul>
|
||||
<li> <a href="../ref/seq_elem.html">BOOST_PP_SEQ_ELEM</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</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>
|
@ -1,42 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>tuples.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Tuples</h4>
|
||||
<div> A <i>tuple</i> is a simple comma-separated list of elements inside
|
||||
parenthesis. For example, </div>
|
||||
<div class="code"> (<i>a</i>, <i>b</i>, <i>c</i>) </div>
|
||||
<div> ...is a <i>tuple</i> of <i>3</i> elements--<i>a</i>, <i>b</i>, and
|
||||
<i>c</i>.<br>
|
||||
<br>
|
||||
A <i>tuple </i>cannot be empty. The notation '()' as a <i>tuple </i>is
|
||||
a single element <i>tuple </i>of size 1, where the element is empty. </div>
|
||||
<div> <i>Tuples</i> are fast and easy to use. With variadic macro
|
||||
support it is not necessary to know the size of a <i>tuple; </i>without
|
||||
variadic macro support all access to <i>tuples</i> requires
|
||||
knowledge of its size. Use a <i>tuple </i>instead of an <i>array</i> if
|
||||
your compiler supports variadic macros, since a <i>tuple </i>has all of
|
||||
the functionality as an <i>array </i>and is easier syntactically to use.
|
||||
The only functionality an <i>array </i>has which a <i>tuple </i>does
|
||||
not have is that an <i>array </i>can be empty whereas a <i>tuple </i>cannot
|
||||
be empty.</div>
|
||||
<div> Elements of a <i>tuple</i> can be extracted with <b>BOOST_PP_TUPLE_ELEM</b>.
|
||||
</div>
|
||||
<h4>Primitives</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/tuple_elem.html">BOOST_PP_TUPLE_ELEM</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</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>
|
@ -1,27 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>topics.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
</head>
|
||||
<body>
|
||||
<h4>Examples <small><a href="contents.html" target="index">[back]</a></small></h4>
|
||||
<ul>
|
||||
<li><a href="examples/array_arithmetic.c">array_arithmetic.c</a></i>
|
||||
<li><a href="examples/catch_builtin.cpp">catch_builtin.cpp</a></i>
|
||||
<li><a href="examples/delay.c">delay.c</a></i>
|
||||
<li><a href="examples/duffs_device.c">duffs_device.c</a></i>
|
||||
<li><a href="examples/is_integral.cpp">is_integral.cpp</a></li>
|
||||
<li><a href="examples/linear_fib.c">linear_fib.c</a></li>
|
||||
</ul>
|
||||
|
||||
<!--
|
||||
<EFBFBD> Copyright Housemarque Oy 2002
|
||||
<EFBFBD> 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>
|
@ -1,196 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* This example implements over 2200 functions for 1-dimensional arithmetic
|
||||
# * array manipulation in C. The idea is to use preprocessor data structures,
|
||||
# * lists, and tuples for storing metainformation to be used for generating
|
||||
# * the actual C code.
|
||||
# *
|
||||
# * Who needs templates anyway? :)
|
||||
# *
|
||||
# * Compile with any C compiler with a standards conforming preprocessor.
|
||||
# */
|
||||
#
|
||||
# include <boost/preprocessor/comparison/less.hpp>
|
||||
# include <boost/preprocessor/control/if.hpp>
|
||||
# include <boost/preprocessor/list/at.hpp>
|
||||
# include <boost/preprocessor/list/cat.hpp>
|
||||
# include <boost/preprocessor/list/for_each_product.hpp>
|
||||
# include <boost/preprocessor/logical/or.hpp>
|
||||
# include <boost/preprocessor/tuple/to_list.hpp>
|
||||
# include <boost/preprocessor/tuple/eat.hpp>
|
||||
#
|
||||
# /* Information about C operators */
|
||||
#
|
||||
# /* Accessors for the operator datatype. */
|
||||
# define OP_SYMBOL(O) BOOST_PP_TUPLE_ELEM(5, 0, O)
|
||||
# define OP_NAME(O) BOOST_PP_TUPLE_ELEM(5, 1, O)
|
||||
# define OP_IS_FLOATING(O) BOOST_PP_TUPLE_ELEM(5, 2, O)
|
||||
# define OP_IS_LOGICAL(O) BOOST_PP_TUPLE_ELEM(5, 3, O)
|
||||
# define OP_IS_SHIFT(O) BOOST_PP_TUPLE_ELEM(5, 4, O)
|
||||
#
|
||||
# /* List of applicative unary operators. */
|
||||
# define APPLICATIVE_UNARY_OPS \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
3, \
|
||||
( \
|
||||
( ! , logical_not, 1, 1, 0), \
|
||||
( ~ , bitwise_not, 0, 0, 0), \
|
||||
( - , neg, 1, 0, 0) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* List of applicative binary operators. */
|
||||
# define APPLICATIVE_BINARY_OPS \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
18, \
|
||||
( \
|
||||
( * , mul ,1 ,0 ,0), \
|
||||
( / , div ,1 ,0 ,0), \
|
||||
( % , mod ,0 ,0 ,0), \
|
||||
( + , add ,1 ,0 ,0), \
|
||||
( - , sub ,1 ,0 ,0), \
|
||||
( << , shift_left ,0 ,0 ,1), \
|
||||
( >> , shift_right ,0 ,0 ,1), \
|
||||
( < , less ,1 ,1 ,0), \
|
||||
( <= , less_equal ,1 ,1 ,0), \
|
||||
( >= , greater_equal ,1 ,1 ,0), \
|
||||
( > , greater ,1 ,1 ,0), \
|
||||
( == , equal ,1 ,1 ,0), \
|
||||
( != , not_equal ,1 ,1 ,0), \
|
||||
( & , bitwise_and ,0 ,0 ,0), \
|
||||
( | , bitwise_or ,0 ,0 ,0), \
|
||||
( ^ , bitwise_xor ,0 ,0 ,0), \
|
||||
( && , logical_and ,1 ,1 ,0), \
|
||||
( || , logical_or ,1 ,1 ,0) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* Information about C built-in types. */
|
||||
#
|
||||
# /* Accessors for the type datatype. */
|
||||
# define TYPE_NAME(T) BOOST_PP_TUPLE_ELEM(4, 0, T)
|
||||
# define TYPE_ABBREVIATION(T) BOOST_PP_TUPLE_ELEM(4, 1, T)
|
||||
# define TYPE_IS_FLOATING(T) BOOST_PP_TUPLE_ELEM(4, 2, T)
|
||||
# define TYPE_RANK(T) BOOST_PP_TUPLE_ELEM(4, 3, T)
|
||||
#
|
||||
# /* List of C built-in types. */
|
||||
# define BUILTIN_TYPES \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
12, \
|
||||
( \
|
||||
( signed char ,sc, 0, 1), \
|
||||
( char ,ch, 0, 1), \
|
||||
( unsigned char ,uc, 0, 1), \
|
||||
( short ,ss, 0, 2), \
|
||||
( unsigned short ,us, 0, 2), \
|
||||
TYPE_INT, \
|
||||
( unsigned ,ui, 0, 4), \
|
||||
( long ,sl, 0, 5), \
|
||||
( unsigned long ,ul, 0, 6), \
|
||||
( float ,fl, 1, 7), \
|
||||
( double ,db, 1, 8), \
|
||||
( long double ,ld, 1, 9) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* Type int is needed in some type computations. */
|
||||
# define TYPE_INT (int, si, 0, 3)
|
||||
#
|
||||
# /* Type computation macros. */
|
||||
# define TYPE_OF_INTEGER_PROMOTION(T) \
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_LESS(TYPE_RANK(T), TYPE_RANK(TYPE_INT)), \
|
||||
TYPE_INT, T \
|
||||
) \
|
||||
/**/
|
||||
# define TYPE_OF_USUAL_ARITHMETIC_CONVERSION(L, R) \
|
||||
TYPE_OF_INTEGER_PROMOTION( \
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_LESS(TYPE_RANK(L), TYPE_RANK(R)), \
|
||||
R, L \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
# define TYPE_OF_UNARY_OP(O, T) \
|
||||
BOOST_PP_IF( \
|
||||
OP_IS_LOGICAL(O), \
|
||||
TYPE_INT, TYPE_OF_INTEGER_PROMOTION(T) \
|
||||
) \
|
||||
/**/
|
||||
# define TYPE_OF_BINARY_OP(O, L, R) \
|
||||
BOOST_PP_IF( \
|
||||
OP_IS_LOGICAL(O), TYPE_INT, \
|
||||
BOOST_PP_IF( \
|
||||
OP_IS_SHIFT(O), \
|
||||
TYPE_OF_INTEGER_PROMOTION(L), \
|
||||
TYPE_OF_USUAL_ARITHMETIC_CONVERSION(L,R) \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
# define IS_VALID_UNARY_OP_AND_TYPE_COMBINATION(O, T) \
|
||||
BOOST_PP_IF( \
|
||||
TYPE_IS_FLOATING(T), \
|
||||
OP_IS_FLOATING(O), 1 \
|
||||
) \
|
||||
/**/
|
||||
# define IS_VALID_BINARY_OP_AND_TYPE_COMBINATION(O, L, R) \
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_OR(TYPE_IS_FLOATING(L), TYPE_IS_FLOATING(R)), \
|
||||
OP_IS_FLOATING(O), 1 \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* Generates code for all unary operators and integral types. */
|
||||
# define UNARY_ARRAY_OP(_, OT) \
|
||||
BOOST_PP_IF( \
|
||||
IS_VALID_UNARY_OP_AND_TYPE_COMBINATION OT, \
|
||||
UNARY_ARRAY_OP_CODE, BOOST_PP_TUPLE_EAT(2) \
|
||||
) OT \
|
||||
/**/
|
||||
# define UNARY_ARRAY_OP_CODE(O, T) \
|
||||
void BOOST_PP_LIST_CAT(BOOST_PP_TUPLE_TO_LIST(4, (array_, OP_NAME(O), _, TYPE_ABBREVIATION(T)))) \
|
||||
(const TYPE_NAME(T)* in, TYPE_NAME(TYPE_OF_UNARY_OP(O, T))* out, unsigned n) { \
|
||||
do { \
|
||||
*out++ = OP_SYMBOL(O) *in++; \
|
||||
} while (--n); \
|
||||
} \
|
||||
/**/
|
||||
|
||||
BOOST_PP_LIST_FOR_EACH_PRODUCT(UNARY_ARRAY_OP, 2, (APPLICATIVE_UNARY_OPS, BUILTIN_TYPES))
|
||||
|
||||
# /* Generates code for all binary operators and integral type pairs. */
|
||||
# define BINARY_ARRAY_OP(_, OLR) \
|
||||
BOOST_PP_IF( \
|
||||
IS_VALID_BINARY_OP_AND_TYPE_COMBINATION OLR, \
|
||||
BINARY_ARRAY_OP_CODE, BOOST_PP_TUPLE_EAT(3) \
|
||||
) OLR \
|
||||
/**/
|
||||
# define BINARY_ARRAY_OP_CODE(O, L, R) \
|
||||
void BOOST_PP_LIST_CAT( \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
6, (array_, OP_NAME(O), _, TYPE_ABBREVIATION(L), _, TYPE_ABBREVIATION(R)) \
|
||||
) \
|
||||
)(const TYPE_NAME(L)* lhs_in, const TYPE_NAME(R)* rhs_in, TYPE_NAME(TYPE_OF_BINARY_OP(O, L, R))* out, unsigned n) { \
|
||||
do { \
|
||||
*out++ = *lhs_in OP_SYMBOL(O) *rhs_in; \
|
||||
++lhs_in; \
|
||||
++rhs_in; \
|
||||
} while (--n); \
|
||||
} \
|
||||
/**/
|
||||
|
||||
BOOST_PP_LIST_FOR_EACH_PRODUCT(BINARY_ARRAY_OP, 3, (APPLICATIVE_BINARY_OPS, BUILTIN_TYPES, BUILTIN_TYPES))
|
@ -1,51 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* This example demonstrates the usage of lists and BOOST_PP_LIST_FOR_EACH(). */
|
||||
#
|
||||
# include <iostream>
|
||||
# include <typeinfo>
|
||||
#
|
||||
# include <boost/preprocessor/list/for_each.hpp>
|
||||
# include <boost/preprocessor/tuple/to_list.hpp>
|
||||
#
|
||||
# /* List of built-in types. (Strictly speaking wchar_t should be on the list.) */
|
||||
#
|
||||
# define BUILTIN_TYPES \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
13, \
|
||||
( \
|
||||
bool, \
|
||||
char, signed char, unsigned char, \
|
||||
unsigned short, short, \
|
||||
int, unsigned, \
|
||||
long, unsigned long, \
|
||||
float, \
|
||||
double, long double \
|
||||
) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# define CATCH(R, _, T) \
|
||||
catch (T t) { \
|
||||
std::cerr << "Caught an " << typeid(t).name() << " = " << t; \
|
||||
} \
|
||||
/**/
|
||||
|
||||
int main() {
|
||||
try {
|
||||
throw 10;
|
||||
}
|
||||
BOOST_PP_LIST_FOR_EACH(CATCH, _, BUILTIN_TYPES)
|
||||
return 0;
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* The time complexity of DELAY(N) is O(2^N).
|
||||
# *
|
||||
# * Handy when recompiles are too fast to take a coffee break. :)
|
||||
# *
|
||||
# * Template metaprogramming can be used for implementing similar
|
||||
# * delays. Unfortunately template instantiation consumes memory,
|
||||
# * therefore compilers usually fail to fully compile long template
|
||||
# * based delays, because they run out of memory.
|
||||
# *
|
||||
# * On many compilers (e.g. g++, MSVC++), this macro takes only a
|
||||
# * small amount of memory to preprocess. On some compilers (e.g.
|
||||
# * MWCW), however, this macro seems to consume huge amounts of
|
||||
# * memory.
|
||||
# */
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/dec.hpp>
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/control/while.hpp>
|
||||
# include <boost/preprocessor/facilities/empty.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# ifndef DELAY_MAX
|
||||
# define DELAY_MAX 14
|
||||
# endif
|
||||
#
|
||||
# define DELAY(N) BOOST_PP_TUPLE_ELEM(2, 0, (BOOST_PP_EMPTY, BOOST_PP_WHILE(DELAY_C, BOOST_PP_CAT(DELAY_F, N), BOOST_PP_DEC(N))))()
|
||||
#
|
||||
# define DELAY_C(D, N) N
|
||||
#
|
||||
# define DELAY_F0(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F1(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F2(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F3(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F4(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F5(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F6(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F7(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F8(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F9(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F10(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F11(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F12(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F13(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F14(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F15(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F16(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F17(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F18(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F19(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F20(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F21(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F22(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F23(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F24(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F25(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F26(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F27(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F28(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F29(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F30(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F31(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F32(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F33(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F34(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F35(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F36(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F37(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F38(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F39(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F40(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F41(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F42(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F43(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F44(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F45(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F46(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F47(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F48(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F49(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
# define DELAY_F50(D, N) BOOST_PP_IF(1, BOOST_PP_DEC(N), BOOST_PP_WHILE_ ## D(DELAY_C, DELAY_F ## N, BOOST_PP_DEC(N)))
|
||||
|
||||
DELAY(DELAY_MAX)
|
@ -1,61 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* This example uses the preprocessor library to implement a generalized
|
||||
# * macro for implementing Duff's Device.
|
||||
# *
|
||||
# * This example was inspired by an original generalized macro for
|
||||
# * for implementing Duff's Device written by Joerg Walter.
|
||||
# */
|
||||
#
|
||||
# include <assert.h>
|
||||
#
|
||||
# include <boost/preprocessor/repetition/repeat.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* Expands to a Duff's Device. */
|
||||
# define DUFFS_DEVICE(UNROLLING_FACTOR, COUNTER_TYPE, N, STATEMENT) \
|
||||
do { \
|
||||
COUNTER_TYPE duffs_device_initial_cnt = (N); \
|
||||
if (duffs_device_initial_cnt > 0) { \
|
||||
COUNTER_TYPE duffs_device_running_cnt = (duffs_device_initial_cnt + (UNROLLING_FACTOR - 1)) / UNROLLING_FACTOR; \
|
||||
switch (duffs_device_initial_cnt % UNROLLING_FACTOR) { \
|
||||
do { \
|
||||
BOOST_PP_REPEAT(UNROLLING_FACTOR, DUFFS_DEVICE_C, (UNROLLING_FACTOR, { STATEMENT })) \
|
||||
} while (--duffs_device_running_cnt); \
|
||||
} \
|
||||
} \
|
||||
} while (0) \
|
||||
/**/
|
||||
#
|
||||
# define DUFFS_DEVICE_C(Z, I, UNROLLING_FACTOR_STATEMENT) \
|
||||
case (I ? BOOST_PP_TUPLE_ELEM(2, 0, UNROLLING_FACTOR_STATEMENT) - I : 0): \
|
||||
BOOST_PP_TUPLE_ELEM(2, 1, UNROLLING_FACTOR_STATEMENT); \
|
||||
/**/
|
||||
#
|
||||
# ifndef UNROLLING_FACTOR
|
||||
# define UNROLLING_FACTOR 16
|
||||
# endif
|
||||
#
|
||||
# ifndef N
|
||||
# define N 1000
|
||||
# endif
|
||||
|
||||
int main(void) {
|
||||
int i = 0;
|
||||
DUFFS_DEVICE(UNROLLING_FACTOR, int, 0, ++i;);
|
||||
assert(i == 0);
|
||||
DUFFS_DEVICE(UNROLLING_FACTOR, int, N, ++i;);
|
||||
assert(i == N);
|
||||
return 0;
|
||||
}
|
@ -1,49 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* This example demonstrates the usage of preprocessor lists for generating C++ code. */
|
||||
#
|
||||
# include <boost/preprocessor/facilities/empty.hpp>
|
||||
# include <boost/preprocessor/list/at.hpp>
|
||||
# include <boost/preprocessor/list/for_each_product.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
# include <boost/preprocessor/tuple/to_list.hpp>
|
||||
#
|
||||
# /* List of integral types. (Strictly speaking, wchar_t should be on the list.) */
|
||||
# define INTEGRAL_TYPES \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
9, (char, signed char, unsigned char, short, unsigned short, int, unsigned, long, unsigned long) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* List of invokeable cv-qualifiers */
|
||||
# define CV_QUALIFIERS \
|
||||
BOOST_PP_TUPLE_TO_LIST( \
|
||||
4, (BOOST_PP_EMPTY, const BOOST_PP_EMPTY, volatile BOOST_PP_EMPTY, const volatile BOOST_PP_EMPTY) \
|
||||
) \
|
||||
/**/
|
||||
#
|
||||
# /* Template for testing whether a type is an integral type. */
|
||||
|
||||
template<class T> struct is_integral {
|
||||
enum { value = false };
|
||||
};
|
||||
|
||||
# /* Macro for defining a specialization of is_integral<> template. */
|
||||
# define IS_INTEGRAL_SPECIALIZATION(R, L) \
|
||||
template<> struct is_integral<BOOST_PP_TUPLE_ELEM(2, 0, L)() BOOST_PP_TUPLE_ELEM(2, 1, L)> { \
|
||||
enum { value = true }; \
|
||||
}; \
|
||||
/**/
|
||||
|
||||
BOOST_PP_LIST_FOR_EACH_PRODUCT(IS_INTEGRAL_SPECIALIZATION, 2, (CV_QUALIFIERS, INTEGRAL_TYPES))
|
@ -1,91 +0,0 @@
|
||||
# /* Copyright (C) 2002
|
||||
# * Housemarque Oy
|
||||
# * http://www.housemarque.com
|
||||
# *
|
||||
# * 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)
|
||||
# */
|
||||
#
|
||||
# /* Revised by Paul Mensonides (2002) */
|
||||
#
|
||||
# /* See http://www.boost.org for most recent version. */
|
||||
#
|
||||
# /* This example shows how BOOST_PP_WHILE() can be used for implementing macros. */
|
||||
#
|
||||
# include <stdio.h>
|
||||
#
|
||||
# include <boost/preprocessor/arithmetic/add.hpp>
|
||||
# include <boost/preprocessor/arithmetic/sub.hpp>
|
||||
# include <boost/preprocessor/comparison/less_equal.hpp>
|
||||
# include <boost/preprocessor/control/while.hpp>
|
||||
# include <boost/preprocessor/list/adt.hpp>
|
||||
# include <boost/preprocessor/tuple/elem.hpp>
|
||||
#
|
||||
# /* First consider the following C implementation of Fibonacci. */
|
||||
|
||||
typedef struct linear_fib_state {
|
||||
int a0, a1, n;
|
||||
} linear_fib_state;
|
||||
|
||||
static int linear_fib_c(linear_fib_state p) {
|
||||
return p.n;
|
||||
}
|
||||
|
||||
static linear_fib_state linear_fib_f(linear_fib_state p) {
|
||||
linear_fib_state r = { p.a1, p.a0 + p.a1, p.n - 1 };
|
||||
return r;
|
||||
}
|
||||
|
||||
static int linear_fib(int n) {
|
||||
linear_fib_state p = { 0, 1, n };
|
||||
while (linear_fib_c(p)) {
|
||||
p = linear_fib_f(p);
|
||||
}
|
||||
return p.a0;
|
||||
}
|
||||
|
||||
# /* Then consider the following preprocessor implementation of Fibonacci. */
|
||||
#
|
||||
# define LINEAR_FIB(n) LINEAR_FIB_D(1, n)
|
||||
# /* Since the macro is implemented using BOOST_PP_WHILE, the actual
|
||||
# * implementation takes a depth as a parameters so that it can be called
|
||||
# * inside a BOOST_PP_WHILE. The above easy-to-use version simply uses 1
|
||||
# * as the depth and cannot be called inside a BOOST_PP_WHILE.
|
||||
# */
|
||||
#
|
||||
# define LINEAR_FIB_D(d, n) \
|
||||
BOOST_PP_TUPLE_ELEM(3, 0, BOOST_PP_WHILE_ ## d(LINEAR_FIB_C, LINEAR_FIB_F, (0, 1, n)))
|
||||
# /* ^^^^ ^^^^^ ^^ ^^ ^^^^^^^
|
||||
# * #1 #2 #3 #3 #4
|
||||
# *
|
||||
# * 1) The state is a 3-element tuple. After the iteration is finished, the first
|
||||
# * element of the tuple is the result.
|
||||
# *
|
||||
# * 2) The WHILE primitive is "invoked" directly. BOOST_PP_WHILE(D, ...)
|
||||
# * can't be used because it would not be expanded by the preprocessor.
|
||||
# *
|
||||
# * 3) ???_C is the condition and ???_F is the iteration macro.
|
||||
# */
|
||||
#
|
||||
# define LINEAR_FIB_C(d, p) \
|
||||
/* p.n */ BOOST_PP_TUPLE_ELEM(3, 2, p) \
|
||||
/**/
|
||||
#
|
||||
# define LINEAR_FIB_F(d, p) \
|
||||
( \
|
||||
/* p.a1 */ BOOST_PP_TUPLE_ELEM(3, 1, p), \
|
||||
/* p.a0 + p.a1 */ BOOST_PP_ADD_D(d, BOOST_PP_TUPLE_ELEM(3, 0, p), BOOST_PP_TUPLE_ELEM(3, 1, p)), \
|
||||
/* ^^ ^ \
|
||||
* BOOST_PP_ADD() uses BOOST_PP_WHILE(). Therefore we \
|
||||
* pass the recursion depth explicitly to BOOST_PP_ADD_D(). \
|
||||
*/ \
|
||||
/* p.n - 1 */ BOOST_PP_DEC(BOOST_PP_TUPLE_ELEM(3, 2, p)) \
|
||||
) \
|
||||
/**/
|
||||
|
||||
int main() {
|
||||
printf("linear_fib(10) = %d\n", linear_fib(10));
|
||||
printf("LINEAR_FIB(10) = %d\n", LINEAR_FIB(10));
|
||||
return 0;
|
||||
}
|
334
doc/examples_preprocessed.htm
Normal file
334
doc/examples_preprocessed.htm
Normal file
@ -0,0 +1,334 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Boost PREPROCESSOR library</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
<a href="index.htm"><IMG height=86
|
||||
alt="c++boost.gif (8819 bytes)"
|
||||
src="../../../c++boost.gif"
|
||||
width=277 align=center></a>
|
||||
<hr>
|
||||
<h1>Boost PREPROCESSOR library: Tutorial examples preprocessed</h1>
|
||||
|
||||
<p>The following code snippets were produced by actually preprocessing the code
|
||||
snippets of the tutorial. After preprocessing the code was reformatted manually.</p>
|
||||
|
||||
<hr>
|
||||
<p><strong><a name="Local Macro"></a><a href="tutorial.htm#Local Macro">EXAMPLE</a>:</strong>
|
||||
Use a Local Macro to avoid small scale repetition</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>template<class T, int n>
|
||||
vec<T,n>&
|
||||
operator +=
|
||||
( vec<T,n>&
|
||||
lhs
|
||||
, const vec<T,n>&
|
||||
rhs
|
||||
)
|
||||
{ for (int i=0; i<n; ++i)
|
||||
lhs(i) += rhs(i);
|
||||
return lhs;
|
||||
}
|
||||
|
||||
template<class T, int n>
|
||||
vec<T,n>&
|
||||
operator -=
|
||||
( vec<T,n>&
|
||||
lhs
|
||||
, const vec<T,n>&
|
||||
rhs
|
||||
)
|
||||
{ for (int i=0; i<n; ++i)
|
||||
lhs(i) -= rhs(i);
|
||||
return lhs;
|
||||
}
|
||||
|
||||
template<class T, int n>
|
||||
vec<T,n>&
|
||||
operator *=
|
||||
( vec<T,n>&
|
||||
lhs
|
||||
, const vec<T,n>&
|
||||
rhs
|
||||
)
|
||||
{ for (int i=0; i<n; ++i)
|
||||
lhs(i) *= rhs(i);
|
||||
return lhs;
|
||||
}
|
||||
|
||||
template<class T, int n>
|
||||
vec<T,n>&
|
||||
operator /=
|
||||
( vec<T,n>&
|
||||
lhs
|
||||
, const vec<T,n>&
|
||||
rhs
|
||||
)
|
||||
{ for (int i=0; i<n; ++i)
|
||||
lhs(i) /= rhs(i);
|
||||
return lhs;
|
||||
}
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<p><strong><a name="UNUSED"></a><a href="tutorial.htm#UNUSED">EXAMPLE</a>:</strong>
|
||||
Use BOOST_PREPROCESSOR_EMPTY() as an unused parameter in Local Macro instantiations</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>template<class base>
|
||||
typename implement_subscript_using_begin_subscript<base>::value_type&
|
||||
implement_subscript_using_begin_subscript<base>::operator[]
|
||||
( index_type
|
||||
i
|
||||
)
|
||||
{ return base::begin()[i];
|
||||
}
|
||||
|
||||
template<class base>
|
||||
const typename implement_subscript_using_begin_subscript<base>::value_type&
|
||||
implement_subscript_using_begin_subscript<base>::operator[]
|
||||
( index_type
|
||||
i
|
||||
) const
|
||||
{ return base::begin()[i];
|
||||
}
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<p><b><a name="CAT"></a><a href="tutorial.htm#CAT">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_CAT instead of ## when necessary</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>enum
|
||||
{ static_check_152 = (sizeof(int) <= sizeof(long)) ? 1 : -1
|
||||
};
|
||||
typedef char
|
||||
static_assert_152
|
||||
[ static_check_152
|
||||
];
|
||||
</pre>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<p><b><a name="STRINGIZE"></a><a href="tutorial.htm#STRINGIZE">EXAMPLE:</a></b> Use BOOST_PREPROCESSOR_STRINGIZE instead of # whenever necessary</p>
|
||||
<blockquote>
|
||||
<pre>#pragma message("examples.cpp" "(" "20" ") : " "TBD!")</pre>
|
||||
</blockquote>
|
||||
<hr>
|
||||
<p><strong><a name="ENUM_PARAMS"></a><a href="tutorial.htm#ENUM_PARAMS">EXAMPLE</a>:</strong>
|
||||
Use:</p>
|
||||
<ul>
|
||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS,</li>
|
||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_A_DEFAULT,</li>
|
||||
<li> BOOST_PREPROCESSOR_ENUM_PARAMS_WITH_DEFAULTS,</li>
|
||||
<li> BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS, or</li>
|
||||
<li>BOOST_PREPROCESSOR_REPEAT, and</li>
|
||||
<li> BOOST_PREPROCESSOR_COMMA_IF</li>
|
||||
</ul>
|
||||
<p>to avoid O(N) repetition on lists in general</p>
|
||||
<blockquote>
|
||||
<pre>struct make_type_list_end;
|
||||
|
||||
template
|
||||
< class T0=make_type_list_end
|
||||
, class T1=make_type_list_end
|
||||
, class T2=make_type_list_end
|
||||
, class T3=make_type_list_end
|
||||
, class T4=make_type_list_end
|
||||
, class T5=make_type_list_end
|
||||
, class T6=make_type_list_end
|
||||
, class T7=make_type_list_end
|
||||
>
|
||||
struct make_type_list
|
||||
{
|
||||
private:
|
||||
enum
|
||||
{ end = is_same<T0,make_type_list_end>::value
|
||||
};
|
||||
public:
|
||||
typedef typename
|
||||
type_if
|
||||
< end
|
||||
, type_cons_empty
|
||||
, type_cons
|
||||
< T0
|
||||
, typename
|
||||
type_inner_if
|
||||
< end
|
||||
, type_identity<end>
|
||||
, make_type_list
|
||||
< T1
|
||||
, T2
|
||||
, T3
|
||||
, T4
|
||||
, T5
|
||||
, T6
|
||||
, T7
|
||||
>
|
||||
>::type
|
||||
>
|
||||
>::type type;
|
||||
};
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<p><strong><a name="Token Look-Up"></a><a href="tutorial.htm#Token Look-Up">EXAMPLE</a>:</strong>
|
||||
Use BOOST_PREPROCESSOR_REPEAT and a Token Look-Up Function to eliminate categorical
|
||||
repetition</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>catch (bool t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (char t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (signed char t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (unsigned char t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (short t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (unsigned short t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (int t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (unsigned int t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (long t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (unsigned long t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (float t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (double t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
catch (long double t)
|
||||
{ report_typeid(t);
|
||||
report_value(t);
|
||||
}
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<p><strong><a name="2ND_REPEAT"></a><a href="tutorial.htm#2ND_REPEAT">EXAMPLE</a>:</strong>
|
||||
Use BOOST_PREPROCESSOR_REPEAT_2ND to avoid O(N*N) repetition</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>vec()
|
||||
{
|
||||
}
|
||||
vec(T a0)
|
||||
{ (*this)[0] = a0;
|
||||
}
|
||||
vec(T a0, T a1)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
}
|
||||
vec(T a0, T a1, T a2)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
}
|
||||
vec(T a0, T a1, T a2, T a3)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
(*this)[3] = a3;
|
||||
}
|
||||
vec(T a0, T a1, T a2, T a3, T a4)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
(*this)[3] = a3;
|
||||
(*this)[4] = a4;
|
||||
}
|
||||
vec(T a0, T a1, T a2, T a3, T a4, T a5)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
(*this)[3] = a3;
|
||||
(*this)[4] = a4;
|
||||
(*this)[5] = a5;
|
||||
}
|
||||
vec(T a0, T a1, T a2, T a3, T a4, T a5, T a6)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
(*this)[3] = a3;
|
||||
(*this)[4] = a4;
|
||||
(*this)[5] = a5;
|
||||
(*this)[6] = a6;
|
||||
}
|
||||
vec(T a0, T a1, T a2, T a3, T a4, T a5, T a6, T a7)
|
||||
{ (*this)[0] = a0;
|
||||
(*this)[1] = a1;
|
||||
(*this)[2] = a2;
|
||||
(*this)[3] = a3;
|
||||
(*this)[4] = a4;
|
||||
(*this)[5] = a5;
|
||||
(*this)[6] = a6;
|
||||
(*this)[7] = a7;
|
||||
}
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
<p><a name="IF"></a><a href="tutorial.htm#IF"><b>EXAMPLE:</b></a>
|
||||
Use BOOST_PREPROCESSOR_IF to implement special case for the first element</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>false == false;
|
||||
true == true;
|
||||
</pre>
|
||||
</blockquote>
|
||||
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
<p><a name="Arithmetic"></a><a href="tutorial.htm#Arithmetic"><B>EXAMPLE:</B></a> Use arithmetic, logical and comparison operations when necessary</p>
|
||||
|
||||
<blockquote>
|
||||
<pre>S, E0, E1
|
||||
E0, S, E1
|
||||
E0, E1, S
|
||||
BAD PARAMS FOR SPECIAL_NUMBERED_LIST! E0, E1, E2, S</pre>
|
||||
</blockquote>
|
||||
|
||||
<hr>
|
||||
<p><EFBFBD> Copyright Housemarque, Inc. 2001</p>
|
||||
<p>Permission to copy, use, modify, sell and distribute this document is granted
|
||||
provided this copyright notice appears in all copies. This document is provided
|
||||
"as is" without express or implied warranty, and with no claim as to its suitability
|
||||
for any purpose. </p>
|
||||
<p>Updated: <!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %b %Y" startspan --><!--webbot bot="Timestamp" endspan i-checksum="15246" -->
|
||||
<p></p>
|
||||
</body>
|
||||
</html>
|
254
doc/headers.html
254
doc/headers.html
@ -1,254 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html; charset=windows-1252" http-equiv="content-type">
|
||||
<title>headers.html</title>
|
||||
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||
<base target="desc">
|
||||
<style>
|
||||
.ps { margin-left: 30px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h4> Headers <small><a href="contents.html" target="index">[back]</a></small>
|
||||
</h4>
|
||||
<ul>
|
||||
<li>../</li>
|
||||
<li class="ps"> <a href="headers/preprocessor.html">preprocessor.hpp</a></li>
|
||||
<li><a href="headers/arithmetic.html">arithmetic.hpp</a></li>
|
||||
<li>arithmetic/</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/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/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/sub.html">sub.hpp</a></li>
|
||||
<li><a href="headers/array.html">array.hpp</a></li>
|
||||
<li>array/</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/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/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/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/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/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/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_tuple.html">to_tuple.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/comma.html">comma.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>comparison/</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_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_equal.html">less_equal.hpp</a></li>
|
||||
<li class="ps"><a href="headers/comparison/not_equal.html">not_equal.hpp</a></li>
|
||||
<li>config/</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><a href="headers/control.html">control.hpp</a></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/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/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/while.html">while.hpp</a></li>
|
||||
<li><a href="headers/debug.html">debug.hpp</a></li>
|
||||
<li>debug/</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><a href="headers/dec.html">dec.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_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/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_params.html">enum_shifted_params.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/facilities.html">facilities.hpp</a></li>
|
||||
<li>facilities/</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>
|
||||
<a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/facilities/empty.html">empty.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/expand.html">expand.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/identity.html">identity.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/intercept.html">intercept.hpp</a></li>
|
||||
<li class="ps"><a href="headers/facilities/overload.html">overload.hpp</a>
|
||||
<a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/facilities/va_opt.html">va_opt.hpp</a>
|
||||
<a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li><a href="headers/for.html">for.hpp*</a></li>
|
||||
<li><a href="headers/identity.html">identity.hpp*</a></li>
|
||||
<li><a href="headers/if.html">if.hpp*</a></li>
|
||||
<li><a href="headers/inc.html">inc.hpp*</a></li>
|
||||
<li><a href="headers/iterate.html">iterate.hpp*</a></li>
|
||||
<li><a href="headers/iteration.html">iteration.hpp</a></li>
|
||||
<li>iteration/</li>
|
||||
<li class="ps"><a href="headers/iteration/iterate.html">iterate.hpp</a></li>
|
||||
<li class="ps"><a href="headers/iteration/local.html">local.hpp</a></li>
|
||||
<li class="ps"><a href="headers/iteration/self.html">self.hpp</a></li>
|
||||
<li><a href="headers/library.html">library.hpp</a></li>
|
||||
<li><a href="headers/limits.html">limits.hpp*</a></li>
|
||||
<li><a href="headers/list.html">list.hpp</a></li>
|
||||
<li>list/</li>
|
||||
<li class="ps"><a href="headers/list/adt.html">adt.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/append.html">append.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/at.html">at.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/cat.html">cat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/enum.html">enum.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/filter.html">filter.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/fold_left.html">fold_left.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/for_each.html">for_each.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/for_each_product.html">for_each_product.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/reverse.html">reverse.hpp</a></li>
|
||||
<li class="ps"><a href="headers/list/size.html">size.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/to_seq.html">to_seq.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/transform.html">transform.hpp</a></li>
|
||||
<li><a href="headers/logical.html">logical.hpp</a></li>
|
||||
<li>logical/</li>
|
||||
<li class="ps"><a href="headers/logical/and.html">and.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitand.html">bitand.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitnor.html">bitnor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitor.html">bitor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bitxor.html">bitxor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/bool.html">bool.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/compl.html">compl.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/nor.html">nor.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/not.html">not.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/or.html">or.hpp</a></li>
|
||||
<li class="ps"><a href="headers/logical/xor.html">xor.hpp</a></li>
|
||||
<li><a href="headers/max.html">max.hpp*</a></li>
|
||||
<li><a href="headers/min.html">min.hpp*</a></li>
|
||||
<li><a href="headers/punctuation.html">punctuation.hpp</a></li>
|
||||
<li>punctuation/</li>
|
||||
<li class="ps"><a href="headers/punctuation/comma.html">comma.hpp</a></li>
|
||||
<li class="ps"><a href="headers/punctuation/comma_if.html">comma_if.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 class="ps"><a href="headers/punctuation/paren.html">paren.hpp</a></li>
|
||||
<li class="ps"><a href="headers/punctuation/paren_if.html">paren_if.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/repeat.html">repeat.hpp*</a></li>
|
||||
<li><a href="headers/repeat_2nd.html">repeat_2nd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_3rd.html">repeat_3rd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to.html">repeat_from_to.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to_2nd.html">repeat_from_to_2nd.hpp*</a></li>
|
||||
<li><a href="headers/repeat_from_to_3rd.html">repeat_from_to_3rd.hpp*</a></li>
|
||||
<li><a href="headers/repetition.html">repetition.hpp</a></li>
|
||||
<li>repetition/</li>
|
||||
<li class="ps"><a href="headers/repetition/deduce_r.html">deduce_r.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.html">enum.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_params.html">enum_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/epwd.html">enum_params_with_defaults.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/enum_shifted_params.html">enum_shifted_params.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_trailing.html">enum_trailing.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/enum_trailing_params.html">enum_trailing_params.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/for.html">for.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/repeat.html">repeat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/repetition/repeat_from_to.html">repeat_from_to.hpp</a></li>
|
||||
<li><a href="headers/selection.html">selection.hpp</a></li>
|
||||
<li>selection/</li>
|
||||
<li class="ps"><a href="headers/selection/max.html">max.hpp</a></li>
|
||||
<li class="ps"><a href="headers/selection/min.html">min.hpp</a></li>
|
||||
<li><a href="headers/seq.html">seq.hpp</a></li>
|
||||
<li>seq/</li>
|
||||
<li class="ps"><a href="headers/seq/cat.html">cat.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/elem.html">elem.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/enum.html">enum.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/filter.html">filter.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/fold_left.html">fold_left.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/for_each.html">for_each.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/for_each_product.html">for_each_product.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/insert.html">insert.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/pop_front.html">pop_front.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/push_front.html">push_front.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/remove.html">remove.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/replace.html">replace.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/reverse.html">reverse.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/seq.html">seq.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/size.html">size.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/subseq.html">subseq.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/to_list.html">to_list.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/transform.html">transform.hpp</a></li>
|
||||
<li class="ps"><a href="headers/seq/variadic_seq_to_seq.html">variadic_seq_to_seq.hpp</a></li>
|
||||
<li><a href="headers/slot.html">slot.hpp</a></li>
|
||||
<li>slot/</li>
|
||||
<li class="ps"><a href="headers/slot/counter.html">counter.hpp</a></li>
|
||||
<li class="ps"><a href="headers/slot/slot.html">slot.hpp</a></li>
|
||||
<li><a href="headers/tuple.html">tuple.hpp</a></li>
|
||||
<li>tuple/</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/elem.html">elem.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</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 class="ps"><a href="headers/tuple/insert.html">insert.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/pop_back.html">pop_back.hpp</a> <a
|
||||
href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/pop_front.html">pop_front.hpp</a> <a
|
||||
href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/push_back.html">push_back.hpp</a> <a
|
||||
href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/push_front.html">push_front.hpp</a>
|
||||
<a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/rem.html">rem.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<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>
|
||||
<li class="ps"><a href="headers/tuple/reverse.html">reverse.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/size.html">size.hpp</a> <a href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<li class="ps"><a href="headers/tuple/to_array.html">to_array.hpp</a> <a
|
||||
href="topics/variadic_macros.html#VNotation">(v)</a></li>
|
||||
<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>
|
||||
<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>
|
@ -1,36 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic.hpp</b> includes the headers in the <i>arithmetic</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/add.html"><boost/preprocessor/arithmetic/add.hpp></a></li>
|
||||
<li><a href="arithmetic/dec.html"><boost/preprocessor/arithmetic/dec.hpp></a></li>
|
||||
<li><a href="arithmetic/div.html"><boost/preprocessor/arithmetic/div.hpp></a></li>
|
||||
<li><a href="arithmetic/inc.html"><boost/preprocessor/arithmetic/inc.hpp></a></li>
|
||||
<li><a href="arithmetic/mod.html"><boost/preprocessor/arithmetic/mod.hpp></a></li>
|
||||
<li><a href="arithmetic/mul.html"><boost/preprocessor/arithmetic/mul.hpp></a></li>
|
||||
<li><a href="arithmetic/sub.html"><boost/preprocessor/arithmetic/sub.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/add.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/add.hpp</b> header defines macros for addition.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/add.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/add.html">BOOST_PP_ADD</a></li>
|
||||
<li><a href="../../ref/add_d.html">BOOST_PP_ADD_D</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/dec.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/dec.hpp</b> header defines a decrementation macro.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/dec.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/dec.html">BOOST_PP_DEC</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/div.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/div.hpp</b> header defines macros for division.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/div.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/div.html">BOOST_PP_DIV</a></li>
|
||||
<li><a href="../../ref/div_d.html">BOOST_PP_DIV_D</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/inc.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/inc.hpp</b> header defines an incrementation macro.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/inc.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/inc.html">BOOST_PP_INC</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/mod.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/mod.hpp</b> header defines macros for modulus.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/mod.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/mod.html">BOOST_PP_MOD</a></li>
|
||||
<li><a href="../../ref/mod_d.html">BOOST_PP_MOD_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/mul.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/mul.hpp</b> header defines macros for multiplication.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/mul.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/mul.html">BOOST_PP_MUL</a></li>
|
||||
<li><a href="../../ref/mul_d.html">BOOST_PP_MUL_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>arithmetic/sub.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>arithmetic/sub.hpp</b> header defines macros for subtraction.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/arithmetic/sub.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/sub.html">BOOST_PP_SUB</a></li>
|
||||
<li><a href="../../ref/sub_d.html">BOOST_PP_SUB_D</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</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>
|
@ -1,43 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array.hpp</b> includes the headers in the <i>array</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="array/data.html"><boost/preprocessor/array/data.hpp></a></li>
|
||||
<li><a href="array/elem.html"><boost/preprocessor/array/elem.hpp></a></li>
|
||||
<li><a href="array/enum.html"><boost/preprocessor/array/enum.hpp></a></li>
|
||||
<li><a href="array/insert.html"><boost/preprocessor/array/insert.hpp></a></li>
|
||||
<li><a href="array/pop_back.html"><boost/preprocessor/array/pop_back.hpp></a></li>
|
||||
<li><a href="array/pop_front.html"><boost/preprocessor/array/pop_front.hpp></a></li>
|
||||
<li><a href="array/push_back.html"><boost/preprocessor/array/push_back.hpp></a></li>
|
||||
<li><a href="array/push_front.html"><boost/preprocessor/array/push_front.hpp></a></li>
|
||||
<li><a href="array/remove.html"><boost/preprocessor/array/remove.hpp></a></li>
|
||||
<li><a href="array/replace.html"><boost/preprocessor/array/replace.hpp></a></li>
|
||||
<li><a href="array/reverse.html"><boost/preprocessor/array/reverse.hpp></a></li>
|
||||
<li><a href="array/size.html"><boost/preprocessor/array/size.hpp></a></li>
|
||||
<li><a href="array/to_list.html"><boost/preprocessor/array/to_list.hpp></a></li>
|
||||
<li><a href="array/to_seq.html"><boost/preprocessor/array/to_seq.hpp></a></li>
|
||||
<li><a href="array/to_tuple.html"><boost/preprocessor/array/to_tuple.hpp></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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/data.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/data.hpp</b> header defines a macro to extract the <i>tuple</i> data from an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/data.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_data.html">BOOST_PP_ARRAY_DATA</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/elem.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/elem.hpp</b> header defines a macro to extract elements from an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/elem.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_elem.html">BOOST_PP_ARRAY_ELEM</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</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>
|
@ -1,24 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/enum.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;"> The <b>array/enum.hpp</b> header
|
||||
defines a macro to convert an <i>array</i> to its comma-separated elements. </div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code"> #include <b><boost/preprocessor/array/enum.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_enum.html">BOOST_PP_ARRAY_ENUM</a></li>
|
||||
</ul>
|
||||
<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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/insert.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/insert.hpp</b> header defines macros to insert an element into an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/insert.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_insert.html">BOOST_PP_ARRAY_INSERT</a></li>
|
||||
<li><a href="../../ref/array_insert_d.html">BOOST_PP_ARRAY_INSERT_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/pop_back.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/pop_back.hpp</b> header defines macros to pop an element from the end of an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/pop_back.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_pop_back.html">BOOST_PP_ARRAY_POP_BACK</a></li>
|
||||
<li><a href="../../ref/array_pop_back_z.html">BOOST_PP_ARRAY_POP_BACK_Z</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/pop_front.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/pop_front.hpp</b> header defines macros to pop an element from the beginning of an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/pop_front.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_pop_front.html">BOOST_PP_ARRAY_POP_FRONT</a></li>
|
||||
<li><a href="../../ref/array_pop_front_z.html">BOOST_PP_ARRAY_POP_FRONT_Z</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/push_back.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/push_back.hpp</b> header defines a macro to append an element to the end of an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/push_back.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_push_back.html">BOOST_PP_ARRAY_PUSH_BACK</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/push_front.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/push_front.hpp</b> header defines a macro to append an element to the beginning of an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/push_front.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_push_front.html">BOOST_PP_ARRAY_PUSH_FRONT</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/remove.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/remove.hpp</b> header defines macros to remove an element from an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/remove.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_remove.html">BOOST_PP_ARRAY_REMOVE</a></li>
|
||||
<li><a href="../../ref/array_remove_d.html">BOOST_PP_ARRAY_REMOVE_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/replace.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/replace.hpp</b> header defines macros to replace an element in an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/replace.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_replace.html">BOOST_PP_ARRAY_REPLACE</a></li>
|
||||
<li><a href="../../ref/array_replace_d.html">BOOST_PP_ARRAY_REPLACE_D</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/reverse.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/reverse.hpp</b> header defines macros to reverse the elements in an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/reverse.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_reverse.html">BOOST_PP_ARRAY_REVERSE</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/size.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>array/size.hpp</b> header defines a macro that extracts the size of an <i>array</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/array/size.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_size.html">BOOST_PP_ARRAY_SIZE</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</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>
|
@ -1,24 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/to_list.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;"> The <b>array/to_list.hpp</b> header
|
||||
defines a macro that converts an <i>array</i> to a <i>list</i>. </div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code"> #include <b><boost/preprocessor/array/to_list.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_to_list.html">BOOST_PP_ARRAY_TO_LIST</a></li>
|
||||
</ul>
|
||||
<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>
|
@ -1,24 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/to_seq.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;"> The <b>array/to_seq.hpp</b> header
|
||||
defines a macro that converts an <i>array</i> to a <i>seq.</i> </div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code"> #include <b><boost/preprocessor/array/to_seq.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_to_seq.html">BOOST_PP_ARRAY_TO_SEQ</a></li>
|
||||
</ul>
|
||||
<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>
|
@ -1,24 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>array/to_tuple.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;"> The <b>array/to_tuple.hpp</b> header
|
||||
defines a macro that converts an <i>array </i>to a <i>tuple</i>. </div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code"> #include <b><boost/preprocessor/array/to_tuple.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/array_to_tuple.html">BOOST_PP_ARRAY_TO_TUPLE</a></li>
|
||||
</ul>
|
||||
<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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>assert_msg.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>assert_msg.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/assert_msg.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="debug/assert.html"><boost/preprocessor/debug/assert.hpp></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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>cat.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>cat.hpp</b> header defines a concatenation macro.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/cat.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../ref/cat.html">BOOST_PP_CAT</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comma.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comma.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comma.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="punctuation/comma.html"><boost/preprocessor/punctuation/comma.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comma_if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comma_if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comma_if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="punctuation/comma_if.html"><boost/preprocessor/punctuation/comma_if.hpp></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</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>
|
@ -1,35 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison.hpp</b> includes the headers in the <i>comparison</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="comparison/equal.html"><boost/preprocessor/comparison/equal.hpp></a></li>
|
||||
<li><a href="comparison/greater.html"><boost/preprocessor/comparison/greater.hpp></a></li>
|
||||
<li><a href="comparison/greater_equal.html"><boost/preprocessor/comparison/greater_equal.hpp></a></li>
|
||||
<li><a href="comparison/less.html"><boost/preprocessor/comparison/less.hpp></a></li>
|
||||
<li><a href="comparison/less_equal.html"><boost/preprocessor/comparison/less_equal.hpp></a></li>
|
||||
<li><a href="comparison/not_equal.html"><boost/preprocessor/comparison/not_equal.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/equal.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/equal.hpp</b> header defines macros that compare for equality.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/equal.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/equal.html">BOOST_PP_EQUAL</a></li>
|
||||
<li><a href="../../ref/equal_d.html">BOOST_PP_EQUAL_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/greater.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/greater.hpp</b> header defines macros that compare for greater magnitude.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/greater.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/greater.html">BOOST_PP_GREATER</a></li>
|
||||
<li><a href="../../ref/greater_d.html">BOOST_PP_GREATER_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/greater_equal.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/greater_equal.hpp</b> header defines macros that compare for equality or greater magnitude.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/greater_equal.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/greater_equal.html">BOOST_PP_GREATER_EQUAL</a></li>
|
||||
<li><a href="../../ref/greater_equal_d.html">BOOST_PP_GREATER_EQUAL_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/less.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/less.hpp</b> header defines macros that compare for lesser magnitude.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/less.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/less.html">BOOST_PP_LESS</a></li>
|
||||
<li><a href="../../ref/less_d.html">BOOST_PP_LESS_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/less_equal.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/less_equal.hpp</b> header defines macros that compare for equality or lesser magnitude.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/less_equal.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/less_equal.html">BOOST_PP_LESS_EQUAL</a></li>
|
||||
<li><a href="../../ref/less_equal_d.html">BOOST_PP_LESS_EQUAL_D</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>comparison/not_equal.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>comparison/not_equal.hpp</b> header defines macros that compare for equality.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/comparison/not_equal.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/not_equal.html">BOOST_PP_NOT_EQUAL</a></li>
|
||||
<li><a href="../../ref/not_equal_d.html">BOOST_PP_NOT_EQUAL_D</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</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>
|
@ -1,44 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>config/limits.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>config/limits.hpp</b> header defines various library limits.
|
||||
</div>
|
||||
<h4>
|
||||
Usage
|
||||
</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/config/limits.hpp></b>
|
||||
</div>
|
||||
<h4>
|
||||
Contents
|
||||
</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/limit_dim.html">BOOST_PP_LIMIT_DIM</a></li>
|
||||
<li><a href="../../ref/limit_for.html">BOOST_PP_LIMIT_FOR</a></li>
|
||||
<li><a href="../../ref/limit_iteration.html">BOOST_PP_LIMIT_ITERATION</a></li>
|
||||
<li><a href="../../ref/limit_iteration_dim.html">BOOST_PP_LIMIT_ITERATION_DIM</a></li>
|
||||
<li><a href="../../ref/limit_mag.html">BOOST_PP_LIMIT_MAG</a></li>
|
||||
<li><a href="../../ref/limit_repeat.html">BOOST_PP_LIMIT_REPEAT</a></li>
|
||||
<li><a href="../../ref/limit_seq.html">BOOST_PP_LIMIT_SEQ</a></li>
|
||||
<li><a href="../../ref/limit_slot_count.html">BOOST_PP_LIMIT_SLOT_COUNT</a></li>
|
||||
<li><a href="../../ref/limit_slot_sig.html">BOOST_PP_LIMIT_SLOT_SIG</a></li>
|
||||
<li><a href="../../ref/limit_tuple.html">BOOST_PP_LIMIT_TUPLE</a></li>
|
||||
<li><a href="../../ref/limit_while.html">BOOST_PP_LIMIT_WHILE</a></li>
|
||||
<li><a href="../../ref/limit_variadic.html">BOOST_PP_LIMIT_VARIADIC</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</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>
|
@ -1,32 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>config/config.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>config/config.hpp</b>
|
||||
header defines internal configuration macros as well as a macro for determining variadic macro support. The file
|
||||
is automatically included whenever any Boost PP macros are used. The end-user can manually
|
||||
include it in order to use the BOOST_PP_VARIADICS macro, but normally should never have to do so. </div>
|
||||
<h4>
|
||||
Usage
|
||||
</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/config/config.hpp></b>
|
||||
</div>
|
||||
<h4>
|
||||
Contents
|
||||
</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/variadics.html">BOOST_PP_VARIADICS</a></li></ul>
|
||||
<hr size="1">
|
||||
<div style="margin-left: 0px;"><i><EFBFBD> Copyright Edward Diener 2011,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>
|
@ -1,35 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control.hpp</b> includes the headers in the <i>control</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/deduce_d.html"><boost/preprocessor/control/deduce_d.hpp></a></li>
|
||||
<li><a href="control/expr_if.html"><boost/preprocessor/control/expr_if.hpp></a></li>
|
||||
<li><a href="control/expr_iif.html"><boost/preprocessor/control/expr_iif.hpp></a></li>
|
||||
<li><a href="control/if.html"><boost/preprocessor/control/if.hpp></a></li>
|
||||
<li><a href="control/iif.html"><boost/preprocessor/control/iif.hpp></a></li>
|
||||
<li><a href="control/while.html"><boost/preprocessor/control/while.hpp></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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/deduce_d.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/deduce_d.hpp</b> header defines a macro to manually deduce the current state of the <b>BOOST_PP_WHILE</b> construct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/deduce_d.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/deduce_d.html">BOOST_PP_DEDUCE_D</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/expr_if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/expr_if.hpp</b> header defines a macro that expands to an expression selectively.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/expr_if.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/expr_if.html">BOOST_PP_EXPR_IF</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/expr_iif.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/expr_iif.hpp</b> header defines a macro that expands to an expression selectively.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/expr_iif.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/expr_iif.html">BOOST_PP_EXPR_IIF</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/if.hpp</b> header defines a macro that chooses between two alternatives.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/if.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/if.html">BOOST_PP_IF</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/iif.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/iif.hpp</b> header defines a macro that chooses between two alternatives.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/iif.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/iif.html">BOOST_PP_IIF</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>control/while.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>control/while.hpp</b> header defines a looping contruct.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/control/while.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/while.html">BOOST_PP_WHILE</a></li>
|
||||
<li><a href="../../ref/while_d.html">BOOST_PP_WHILE_<i>d</i></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>debug.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>debug.hpp</b> includes the headers in the <i>debug</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/debug.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="debug/assert.html"><boost/preprocessor/debug/assert.hpp></a></li>
|
||||
<li><a href="debug/line.html"><boost/preprocessor/debug/line.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>debug/assert.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>debug/assert.hpp</b> header defines macros for preprocessing-time assertions.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/debug/assert.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/assert.html">BOOST_PP_ASSERT</a></li>
|
||||
<li><a href="../../ref/assert_msg.html">BOOST_PP_ASSERT_MSG</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>debug/line.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>debug/line.hpp</b> header defines macros for preprocessing-time assertions.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/debug/line.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/line.html">BOOST_PP_LINE</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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>dec.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>dec.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/dec.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/dec.html"><boost/preprocessor/arithmetic/dec.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>empty.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>empty.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/empty.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/empty.html"><boost/preprocessor/facilities/empty.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum.html"><boost/preprocessor/repetition/enum.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_params.html"><boost/preprocessor/repetition/enum_params.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_shifted.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_shifted.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_shifted.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_shifted.html"><boost/preprocessor/repetition/enum_shifted.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_shifted_params.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_shifted_params.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_shifted_params.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/enum_shifted_params.html"><boost/preprocessor/repetition/enum_shifted_params.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params_with_a_default.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params_with_a_default.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params_with_a_default.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/epwad.html"><boost/preprocessor/repetition/enum_params_with_a_default.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>enum_params_with_defaults.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>enum_params_with_defaults.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/enum_params_with_defaults.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/epwd.html"><boost/preprocessor/repetition/enum_params_with_defaults.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>expand.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>expand.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/expand.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/expand.html"><boost/preprocessor/facilities/expand.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>expr_if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>expr_if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/expr_if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/expr_if.html"><boost/preprocessor/control/expr_if.hpp></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</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>
|
@ -1,35 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities.hpp</b> includes the headers in the <i>facilities</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/apply.html"><boost/preprocessor/facilities/apply.hpp></a></li>
|
||||
<li><a href="facilities/empty.html"><boost/preprocessor/facilities/empty.hpp></a></li>
|
||||
<li><a href="facilities/check_empty.html"><boost/preprocessor/facilities/check_empty.hpp></a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
|
||||
<li><a href="facilities/expand.html"><boost/preprocessor/facilities/expand.hpp></a></li>
|
||||
<li><a href="facilities/identity.html"><boost/preprocessor/facilities/identity.hpp></a></li>
|
||||
<li><a href="facilities/intercept.html"><boost/preprocessor/facilities/intercept.hpp></a></li>
|
||||
<li><a href="facilities/overload.html"><boost/preprocessor/facilities/overload.hpp></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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/apply.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities/apply.hpp</b> header defines facilities that abstract the difference between an argument and nothing.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/apply.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/apply.html">BOOST_PP_APPLY</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</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>
|
@ -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><boost/preprocessor/facilities/check_empty.hpp></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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/empty.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities/empty.hpp</b> header defines a nullary macro that expands to nothing.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/empty.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/empty.html">BOOST_PP_EMPTY</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/expand.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities/expand.hpp</b> header defines a macro that causes double expansion.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/expand.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/expand.html">BOOST_PP_EXPAND</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</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>
|
@ -1,32 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/identity.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<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>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/identity.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<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>
|
||||
<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>
|
||||
</br><i><EFBFBD> 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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/intercept.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities/intercept.hpp</b> header defines a utility macro to intercept a numeric concatenation.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/intercept.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/intercept.html">BOOST_PP_INTERCEPT</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</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>
|
@ -1,28 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>facilities/overload.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>facilities/overload.hpp</b> header defines variadic macros that overload non-variadic macros to accept different numbers of parameters.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/facilities/overload.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/overload.html">BOOST_PP_OVERLOAD</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 2011,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>
|
@ -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><boost/preprocessor/facilities/va_opt.hpp></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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>for.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>for.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/for.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="repetition/for.html"><boost/preprocessor/repetition/for.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>identity.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>identity.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/identity.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="facilities/identity.html"><boost/preprocessor/facilities/identity.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>if.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>if.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/if.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="control/if.html"><boost/preprocessor/control/if.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>inc.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>inc.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/inc.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="arithmetic/inc.html"><boost/preprocessor/arithmetic/inc.hpp></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</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iterate.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iterate.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iterate.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="iteration/iterate.html"><boost/preprocessor/iteration/iterate.hpp></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</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>
|
@ -1,32 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iteration.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iteration.hpp</b> includes the headers in the <i>iteration</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iteration.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="iteration/iterate.html"><boost/preprocessor/iteration/iterate.hpp></a></li>
|
||||
<li><a href="iteration/local.html"><boost/preprocessor/iteration/local.hpp></a></li>
|
||||
<li><a href="iteration/self.html"><boost/preprocessor/iteration/self.hpp></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</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>
|
@ -1,43 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iteration/iterate.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iteration/iterate.hpp</b> header defines a macros to interface with the <i>file-iteration</i> mechanism.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iteration/iterate.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/frame_finish.html">BOOST_PP_FRAME_FINISH</a></li>
|
||||
<li><a href="../../ref/frame_flags.html">BOOST_PP_FRAME_FLAGS</a></li>
|
||||
<li><a href="../../ref/frame_iteration.html">BOOST_PP_FRAME_ITERATION</a></li>
|
||||
<li><a href="../../ref/frame_start.html">BOOST_PP_FRAME_START</a></li>
|
||||
<li><a href="../../ref/iterate.html">BOOST_PP_ITERATE</a></li>
|
||||
<li><a href="../../ref/iteration.html">BOOST_PP_ITERATION</a></li>
|
||||
<li><a href="../../ref/iteration_depth.html">BOOST_PP_ITERATION_DEPTH</a></li>
|
||||
<li><a href="../../ref/iteration_finish.html">BOOST_PP_ITERATION_FINISH</a></li>
|
||||
<li><a href="../../ref/iteration_flags.html">BOOST_PP_ITERATION_FLAGS</a></li>
|
||||
<li><a href="../../ref/iteration_start.html">BOOST_PP_ITERATION_START</a></li>
|
||||
<li><a href="../../ref/relative_finish.html">BOOST_PP_RELATIVE_FINISH</a></li>
|
||||
<li><a href="../../ref/relative_flags.html">BOOST_PP_RELATIVE_FLAGS</a></li>
|
||||
<li><a href="../../ref/relative_iteration.html">BOOST_PP_RELATIVE_ITERATION</a></li>
|
||||
<li><a href="../../ref/relative_start.html">BOOST_PP_RELATIVE_START</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iteration/local.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iteration/local.hpp</b> header defines a macro to interface with the <i>local-iteration</i> mechanism.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iteration/local.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/local_iterate.html">BOOST_PP_LOCAL_ITERATE</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</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>
|
@ -1,30 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>iteration/self.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>iteration/self.hpp</b> header defines a macro to facilitate self-inclusion.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/iteration/self.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/include_self.html">BOOST_PP_INCLUDE_SELF</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</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>
|
@ -1,26 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>library.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>library.hpp</b> includes the entire library.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/library.hpp></b>
|
||||
</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>
|
@ -1,31 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>limits.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>limits.hpp</b> is a jumper header for backwards compatibility.
|
||||
This header is deprecated.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/limits.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="config/limits.html"><boost/preprocessor/config/limits.hpp></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</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>
|
@ -1,47 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>list.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>list.hpp</b> includes the headers in the <i>list</i> folder.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/list.hpp></b>
|
||||
</div>
|
||||
<h4>Includes</h4>
|
||||
<ul>
|
||||
<li><a href="list/adt.html"><boost/preprocessor/list/adt.hpp></a></li>
|
||||
<li><a href="list/append.html"><boost/preprocessor/list/append.hpp></a></li>
|
||||
<li><a href="list/at.html"><boost/preprocessor/list/at.hpp></a></li>
|
||||
<li><a href="list/cat.html"><boost/preprocessor/list/cat.hpp></a></li>
|
||||
<li><a href="list/enum.html"><boost/preprocessor/list/enum.hpp></a></li>
|
||||
<li><a href="list/filter.html"><boost/preprocessor/list/filter.hpp></a></li>
|
||||
<li><a href="list/first_n.html"><boost/preprocessor/list/first_n.hpp></a></li>
|
||||
<li><a href="list/fold_left.html"><boost/preprocessor/list/fold_left.hpp></a></li>
|
||||
<li><a href="list/fold_right.html"><boost/preprocessor/list/fold_right.hpp></a></li>
|
||||
<li><a href="list/for_each.html"><boost/preprocessor/list/for_each.hpp></a></li>
|
||||
<li><a href="list/for_each_i.html"><boost/preprocessor/list/for_each_i.hpp></a></li>
|
||||
<li><a href="list/for_each_product.html"><boost/preprocessor/list/for_each_product.hpp></a></li>
|
||||
<li><a href="list/rest_n.html"><boost/preprocessor/list/rest_n.hpp></a></li>
|
||||
<li><a href="list/reverse.html"><boost/preprocessor/list/reverse.hpp></a></li>
|
||||
<li><a href="list/size.html"><boost/preprocessor/list/size.hpp></a></li>
|
||||
<li><a href="list/to_array.html"><boost/preprocessor/list/to_array.hpp></a></li>
|
||||
<li><a href="list/to_seq.html"><boost/preprocessor/list/to_seq.hpp></a></li>
|
||||
<li><a href="list/to_tuple.html"><boost/preprocessor/list/to_tuple.hpp></a></li>
|
||||
<li><a href="list/transform.html"><boost/preprocessor/list/transform.hpp></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</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>
|
@ -1,35 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>list/adt.hpp</title>
|
||||
<link rel="stylesheet" type="text/css" href="../../styles.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>list/adt.hpp</b> header defines basic operations for manipulating <i>lists</i>.
|
||||
</div>
|
||||
<h4>Usage</h4>
|
||||
<div class="code">
|
||||
#include <b><boost/preprocessor/list/adt.hpp></b>
|
||||
</div>
|
||||
<h4>Contents</h4>
|
||||
<ul>
|
||||
<li><a href="../../ref/list_cons.html">BOOST_PP_LIST_CONS</a></li>
|
||||
<li><a href="../../ref/list_first.html">BOOST_PP_LIST_FIRST</a></li>
|
||||
<li><a href="../../ref/list_is_cons.html">BOOST_PP_LIST_IS_CONS</a></li>
|
||||
<li><a href="../../ref/list_is_nil.html">BOOST_PP_LIST_IS_NIL</a></li>
|
||||
<li><a href="../../ref/list_nil.html">BOOST_PP_LIST_NIL</a></li>
|
||||
<li><a href="../../ref/list_rest.html">BOOST_PP_LIST_REST</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</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
Reference in New Issue
Block a user