Compare commits

...

561 Commits

Author SHA1 Message Date
Marshall Clow 1be8ba2320 Mark the NVIDIA compiler as supported
See https://svn.boost.org/trac10/ticket/13447
2018-02-14 17:58:02 -08:00
Edward Diener 34af3a925c Merge pull request #11 from danieljames/feature/fix-links
Fix some links
2018-01-11 13:02:34 -05:00
Daniel James ad22f9686e Fix some links 2018-01-11 14:20:16 +00:00
eldiener aa9ee3ae3f Removed --depth 1 2017-10-29 21:31:25 -04:00
Edward Diener f54e270433 Better appveyor designation for tests. 2017-10-09 11:58:08 -04:00
Edward Diener 08ec2abb2e Updated appveyor file for correct toolsets. 2017-10-09 11:39:03 -04:00
Edward Diener c4b1ce10bd Add VS2017 worker image. 2017-10-09 11:23:30 -04:00
Edward Diener 1ecc2e2ec9 Added Appveyor file. 2017-10-09 08:09:05 -04:00
Edward Diener dfc1c46ece With _MSC_VER and __clang__ always use strict mode and variadics turned on without any VC++ fixes. 2017-03-26 08:51:41 -07:00
Edward Diener e474eea44f Slight correction to particularize previous change as involving only -fno-ms-compatibility mode. 2017-03-26 01:02:05 -07:00
Edward Diener b03c6cd3c0 In the configuration the combination of clang defined and gcc defined always gets strict mode and variadic macro support, even under Windows where VC++ may also be defined. 2017-03-25 23:22:32 -07:00
Edward Diener d8389ffda6 Exclude tests for gcc when C++0x is not supported. This should fix some test matrices for old versions of gcc. 2017-01-05 09:57:01 -05:00
Edward Diener dc41624aba Added Travis CI file. Updated config.hpp for Intel 17 on Windows. 2016-11-16 13:01:51 -05:00
Edward Diener 4ae346bbc5 Merge pull request #9 from sergiud/intel-17.0-fix
Intel C++ compiler 17.0 fix
2016-11-16 09:40:21 -05:00
Edward Diener d922d757be Fix for VC++ and VC++ emuolations ot the SEQ_TO_LIST macro 2016-11-16 00:15:57 -05:00
Edward Diener eb143c10f8 Added configuration info test. 2016-11-14 00:25:46 -05:00
Sergiu Deitsch e1e3a2e21e added Intel C++ compiler 17.0 workaround 2016-11-11 15:30:21 +01:00
Edward Diener e70abe7b49 Updated for VC++ quirks and overload code example. 2016-04-11 14:24:38 -04:00
Edward Diener ee73989a21 Further change to ensure that clang targeting VC++ behaves as the VC++ preprocessor 2016-03-30 13:52:02 -04:00
Edward Diener 7835ed019c Updated configuration to support clang targeting VC++ 2016-03-30 12:08:46 -04:00
Edward Diener 3292532517 Merge branch 'master' into develop 2015-10-16 18:47:02 -04:00
Edward Diener 4e29a160b9 Merge branch 'develop' 2015-10-14 22:36:27 -04:00
Edward Diener b1be22cf77 Merge pull request #8 from mgaunard/patch-1
lower version requirement for SunCC and variadics
2015-10-08 11:34:04 -04:00
Mathias Gaunard f59d83b8bf lower version requirement for SunCC and variadics
Macro variadics appear to work fine with SunCC 5.12.
2015-10-08 11:31:27 +01:00
Edward Diener 88c4282493 Fixed leaving off first letter of word in doc. 2015-09-21 10:53:10 -07:00
Edward Diener 02ab183b96 Added documentation for identity_n macro. 2015-09-13 13:21:57 -04:00
Edward Diener 735e301c46 Added BOOST_PP_IDENTITY_N functionality with test. 2015-09-12 19:53:59 -04:00
Edward Diener e983c16e61 Merge branch 'develop' 2015-08-27 21:21:19 -04:00
Edward Diener 132eb67cec Remove spaces in the filename for AppendixA. 2015-08-21 16:38:12 -04:00
Edward Diener 4c39e92496 Merge branch 'develop' 2015-08-21 09:28:34 -04:00
Edward Diener 2689b91d91 Merge pull request #6 from teeks99/unicode_name2
Removed weird unicode character from filename and links
2015-08-17 13:27:17 -04:00
Thomas Kent 478bb6e10e Removed weird unicode character from filename and links 2015-08-14 17:39:42 -05:00
Edward Diener 3c3c7b42d9 Corrected implementation same as 'develop' and updated test sames as 'develop'. 2015-07-17 07:45:08 -04:00
Edward Diener 3f97464c27 Added needed include. 2015-07-17 07:16:11 -04:00
Edward Diener d4fbb8fda2 Back out change from 'develop' because of failing MPL test. 2015-07-16 19:52:49 -04:00
Edward Diener 38e7f69054 Merge branch 'develop' 2015-07-16 18:16:24 -04:00
Edward Diener 3ed3cd689e Added more thorough tests for large seqs 2015-05-30 08:00:33 -04:00
Edward Diener fc6229660e Added not about VC++ compiler limitation 2015-05-29 22:53:01 -04:00
Edward Diener b125850bbb Fixes for BOOST_PP_SEQ_REMOVE when the seq is its maximum size and has its last element removed. Also updated seq tests. 2015-05-29 01:36:06 -04:00
Edward Diener 350c0e59b1 Add ned macro 2015-05-27 19:15:45 -04:00
Edward Diener 2612bf706c Corrected fix for the for_each problem when dealing with as much as 256 seq elements. 2015-05-27 19:13:22 -04:00
Edward Diener b84235fcb7 Revert "Corrected fix for seq for each processing."
This reverts commit dc61cc1373.
2015-05-27 07:44:30 -04:00
Edward Diener 4aa8ae8a01 Disallow variadic macro support for versions below 12.4, since that is the first version with C++11 support. 2015-05-26 17:39:58 -04:00
Edward Diener 9044b17f18 For Oracle C++ do not automatically turn off variadic macro support for version 12.3 or higher, since those versions can support C++11. 2015-05-25 23:46:33 -04:00
Edward Diener 106f5a43a1 Added local copy of preprocessor introduction from the C++ Template Metaprogramming Book Appendix A 2015-05-20 17:19:31 -04:00
Edward Diener 915ab7834c Add local copy of preprocessing tutorail 2015-05-20 16:48:23 -04:00
Edward Diener dc61cc1373 Corrected fix for seq for each processing. 2015-05-19 20:10:39 -04:00
Edward Diener 4c2c83f9f2 Backing out for_each and for_each_i changes. 2015-05-19 11:34:02 -04:00
Edward Diener 862f64c45c Updated documentation about undefined behavior. 2015-05-18 17:02:48 -04:00
Edward Diener 06c18a67f8 Fixed replace when replacing the last element of a 256 element sequence. 2015-05-18 16:36:06 -04:00
Edward Diener eb2a675b8f Added #undef to quell VC++ warnings about macro be redefined. 2015-05-18 10:51:50 -04:00
Edward Diener b12333b419 Fixed problem when repetitions go past 256 and the 257th loop op returns that the repetitions are finished. 2015-05-18 02:14:35 -04:00
Edward Diener 1543b5fbf7 Remove need to add extra nil element 2015-05-17 14:54:39 -04:00
Edward Diener 86378d648e Removed need to add extra seq element. 2015-05-17 13:30:03 -04:00
Edward Diener 633f1e679a Added information about empty data. 2015-05-17 00:46:10 -04:00
Edward Diener 4360660e39 Add wstringize.hpp to library header 2015-05-16 23:58:39 -04:00
Edward Diener 827ff0905c Cleaner use of preprocessor defines to quell warnings. 2015-05-16 23:44:06 -04:00
Edward Diener 9cb039ab8b Merge branch 'develop' 2015-03-28 04:19:20 -04:00
Edward Diener 1b3fe1570b Put BOOST_PP_EXPAND in correct place for VC++ 2015-02-02 21:19:50 -05:00
Edward Diener 4f0adfb553 Reveert removal of BOOST_PP_EXPAND 2015-02-02 18:04:58 -05:00
Edward Diener 01848af60d Merge branch 'vctuple' into develop 2015-01-30 23:16:08 -05:00
Edward Diener dc54fee21c Remove BOOST_PP_EXPAND usage since it is no needed 2015-01-30 23:11:07 -05:00
Edward Diener 77a9177c31 Remove extraneous include 2015-01-30 22:15:54 -05:00
Edward Diener f1165249fb Merge branch 'develop' 2015-01-15 15:20:38 -05:00
Edward Diener fd135a078f Added BOOST_PP_LIST_SIZE_D to list of re-entrant macros. 2014-12-09 13:21:49 -05:00
Edward Diener eedd7378f1 Added EQUAL and NOT_EQUAL to re-entrancy list. 2014-12-07 16:04:57 -05:00
Edward Diener e1ade3ea3b Changed explanation of which value should be greater for maximum efficiency. 2014-12-05 00:16:11 -05:00
Edward Diener 3760758d4e When the Intellisense compiler is being used wihin the Visual Studio IDE, both __EDG__ and __INTELLISENSE__ are defined along with the usual VC++ predefines. This change adjusts the Boost PP configuration to take into account that situation. 2014-11-09 14:20:03 -05:00
Edward Diener 0baf10bfc6 Updated docs to refer to config.hpp rather than variadics.hpp. 2014-11-07 16:35:36 -05:00
Edward Diener e72b298001 Merge branch 'develop' 2014-10-12 18:29:09 -04:00
Edward Diener f77c8f2c85 When using clang variadic macro support is now dependent on the C or C++ version system, and not automatically turned on in all situations. This reduces clang warnings. 2014-08-19 00:32:35 -04:00
Edward Diener 9c2ef3ae46 Merge pull request #3 from danieljames/metadata
Create metadata file.
2014-08-18 11:36:36 -04:00
Daniel James 1a40a5ea30 Add metadata file. 2014-08-18 15:09:06 +01:00
Edward Diener 15f75eca35 Updated test for "empty" tuple and arrays. 2014-07-21 08:38:07 -04:00
Edward Diener 8924ad016f Additional tests for "empty" tuples. 2014-07-20 17:40:34 -04:00
Edward Diener 9c478f0c39 Special processing when "empty" single element . 2014-07-20 17:40:02 -04:00
Edward Diener cee3323340 Corrected link. 2014-07-16 19:30:51 -04:00
Edward Diener 503175a63e Added copyright and base link back to original macro. 2014-07-03 21:17:20 -04:00
Edward Diener 46ff3eb1f4 Correct line endings. 2014-07-03 21:15:56 -04:00
Edward Diener 04634b402b Added topics for showing lists of macros which re-enter FOR, REPEAT, and WHILE. 2014-07-03 21:10:26 -04:00
Edward Diener 83f05f5325 Add links tio topics for re-entrancies. 2014-07-03 21:02:11 -04:00
Edward Diener 00d05d4f04 Added links to topics with macros which use re-entrancy versions. 2014-07-03 20:55:39 -04:00
Edward Diener 542bd2653d Use expand to fix VC++ problem. 2014-07-03 16:59:52 -04:00
Edward Diener fd36e236bc get_data not needed. 2014-07-03 16:59:39 -04:00
Edward Diener c4bf80ee1d Cleaner inclusion if is_single_return functionality. 2014-07-03 16:59:30 -04:00
Edward Diener 2cea910cd8 Simplify get_data. 2014-07-03 16:59:15 -04:00
Edward Diener 4fc958a89d Remove special processing for REM_CTOR wsing VC++. 2014-07-03 16:59:05 -04:00
Edward Diener 08c50b219d Added documentation for is_begin_parens and remove_parens. 2014-07-03 16:58:01 -04:00
Edward Diener 3a472c2084 Updated docs 2014-07-03 16:56:40 -04:00
Edward Diener 4063b1564b Updated doc for empty array and/or list when converted to other data type. 2014-07-03 16:51:28 -04:00
Edward Diener b70598c357 Using BOOST_PP_IDENTITY makes code clearer. 2014-07-03 16:51:17 -04:00
Edward Diener 56525c76cc Change back to original implementation. 2014-07-03 16:50:56 -04:00
Edward Diener 8ac31eb612 Changed BOOST_PP_EMPTY to only use the variadic version when not VC++. Corrected others to use local version of EMPTY. 2014-07-03 16:50:44 -04:00
Edward Diener f61bb8a80f Changed functionality so empty arrays/lists when converted to a seq or a tuple expand to nothing. 2014-07-03 16:46:20 -04:00
Edward Diener df165d9fc6 Added further tests for empty lists and arrays. 2014-07-03 16:46:07 -04:00
Edward Diener fb732aaab5 Fixes for empty conversions and tests for empty conversions. 2014-07-03 16:45:55 -04:00
Edward Diener 9dfce3363c Added remove_parens and tests. 2014-07-03 16:45:22 -04:00
Edward Diener 6590e41581 Further tests of changes involving empty data. 2014-07-03 16:45:10 -04:00
Edward Diener ec93b32f82 Corrected calculation _msc_ver number. 2014-07-03 16:44:56 -04:00
Edward Diener 6c091d7f99 Removed tests which involve undefined behavior. 2014-07-03 16:44:39 -04:00
Edward Diener b3b9e80f86 Updated tests for strict compilers or VC++ 2014-07-03 16:44:27 -04:00
Edward Diener ea91a3defa Added variadic is_empty tests. 2014-07-03 16:44:13 -04:00
Edward Diener 4ed6f6e07a Addition of is_empty tests and changes to rem processing as a workaround to VC++ problem. 2014-07-03 16:44:00 -04:00
Edward Diener 2c7cf9410a Added variadic version of BOOST_PP_EMPTY and added new is_empty tests. 2014-07-03 16:43:40 -04:00
Edward Diener 975c39b910 Added variadic is_empty and is_begin_parens along with tests. 2014-07-03 16:43:16 -04:00
Edward Diener f80bb83f3b Fixes for empty tuple processing 2014-07-03 16:42:26 -04:00
Edward Diener 21ccb35814 Reapply typo fix. 2014-06-17 07:08:04 -04:00
Edward Diener 6b0be3fe4f Revert "Merge branch 'master' into develop"
This reverts commit 1422fce0db, reversing
changes made to 9d2d1fffdf.
2014-06-16 23:58:35 -04:00
Edward Diener 1422fce0db Merge branch 'master' into develop 2014-06-16 08:43:38 -04:00
Edward Diener 9d2d1fffdf Revert use of variadic is_empty. 2014-06-16 07:01:15 -04:00
Edward Diener 60691e3a49 Merge branch 'vcoverload' into develop 2014-06-08 10:21:02 -04:00
Edward Diener 3f75659921 Added documentation for is_begin_parens and remove_parens. 2014-06-08 02:00:24 -04:00
Edward Diener b43a4708eb Correct line endings. 2014-06-04 19:38:09 -04:00
Edward Diener b923dadf19 Merge pull request #2 from coding-po/Bug_8454
#8454. Fixed minor typo in documentation.
2014-06-04 06:53:42 -04:00
Edward Diener e57370608e Updated doc for empty array and/or list when converted to other data type. 2014-06-04 06:50:33 -04:00
6recetru 7da3c88d82 #8454. Fixed minor typo in documentation. 2014-05-26 16:55:07 -07:00
Edward Diener 70e0f2d6e0 Using BOOST_PP_IDENTITY makes code clearer. 2014-05-26 16:36:30 -04:00
Edward Diener b03d46129c Change back to original implementation. 2014-05-25 07:53:44 -04:00
Edward Diener 9d308c1b9d Changed BOOST_PP_EMPTY to only use the variadic version when not VC++. Corrected others to use local version of EMPTY. 2014-05-23 10:23:40 -04:00
Edward Diener 1f16a481c7 Changed functionality so empty arrays/lists when converted to a seq or a tuple expand to nothing. 2014-05-05 20:49:20 -04:00
Edward Diener 181a88db7e Added further tests for empty lists and arrays. 2014-05-04 23:55:53 -04:00
Edward Diener 697ebcd840 Fixes for empty conversions and tests for empty conversions. 2014-05-04 03:07:00 -04:00
Edward Diener 70e775452a Added remove_parens and tests. 2014-05-03 02:15:47 -04:00
Edward Diener dec4cfd273 Further tests of changes involving empty data. 2014-05-02 20:17:08 -04:00
Edward Diener 7da9dbb7a9 Corrected calculation _msc_ver number. 2014-05-02 02:59:10 -04:00
Edward Diener 5c22605c3d Removed tests which involve undefined behavior. 2014-05-01 23:21:05 -04:00
Edward Diener 4614c62130 Updated tests for strict compilers or VC++ 2014-05-01 01:20:12 -04:00
Edward Diener fe2a9cbfcc Added variadic is_empty tests. 2014-04-30 16:15:57 -04:00
Edward Diener c66ea5871f Addition of is_empty tests and changes to rem processing as a workaround to VC++ problem. 2014-04-30 16:06:49 -04:00
Edward Diener 6fe93a542d Added variadic version of BOOST_PP_EMPTY and added new is_empty tests. 2014-04-28 22:12:08 -04:00
Edward Diener d2bfda8308 Added variadic is_empty and is_begin_parens along with tests. 2014-04-28 19:24:42 -04:00
Edward Diener 0a23b4d6a6 Fixes for empty tuple processing 2014-04-27 12:00:13 -04:00
Edward Diener 81302d1e69 Merge branch 'develop' 2014-04-01 00:43:06 -04:00
Edward Diener 91fb925e1c Correct line ending. 2014-02-27 22:43:23 -05:00
Edward Diener cc9fbc3734 Fix incorrect line ending. 2014-02-27 17:37:30 -05:00
Edward Diener a5ed4fe7d8 Added copyright and base link back to original macro. 2014-02-27 17:25:32 -05:00
Edward Diener 042fb29bf1 Added links to topics with macros which use re-entrancy versions. 2014-02-27 17:06:00 -05:00
Edward Diener 2b46c0f6bd Added topics for showing lists of macros which re-enter FOR, REPEAT, and WHILE. 2014-02-27 16:49:57 -05:00
Edward Diener 7cb46e03ea Change from develop to master. 2014-02-26 09:40:58 -05:00
Edward Diener 093216b300 Merge develop to master
Conflicts:
	doc/headers.html
	doc/headers/tuple.html
	doc/ref.html
	doc/topics/variadic_macros.html
2014-02-26 00:53:43 -05:00
Edward Diener b24e7a708d Create first merge point for Git on Master 2014-02-25 23:50:42 -05:00
Edward Diener 6978c83372 Explanations about using tuples rather than arrays with variadic macro support. 2013-12-05 17:43:48 -05:00
Edward Diener 58cf4ccba9 Updated title explanation about Boost PP usability. 2013-12-05 17:28:42 -05:00
Edward Diener d11b03ad1e Updated tests to cover more areas of the implementation. 2013-12-05 14:43:02 -05:00
Edward Diener b3cdac0ea2 Updated tests.
[SVN r86789]
2013-11-23 07:45:00 +00:00
Edward Diener b03b732a19 Updated documentation for tuples.
[SVN r86788]
2013-11-23 03:59:40 +00:00
Edward Diener e9bdfe5276 Corrected description.
[SVN r86783]
2013-11-22 04:00:54 +00:00
Edward Diener b8eb1e0149 Updated tuple docujmentation for new functionality.
[SVN r86782]
2013-11-22 03:38:17 +00:00
Edward Diener 428b3c5103 The clang compiler now supports variadic macros by default.
[SVN r86780]
2013-11-21 18:57:41 +00:00
Edward Diener 25dbb38e1e Updated tuple tests.
[SVN r86766]
2013-11-19 14:53:24 +00:00
Edward Diener 8647354545 Updated tuple rem documentation.
[SVN r86761]
2013-11-19 04:31:38 +00:00
Edward Diener 9d3203eb71 Fixes for VC++ and variadic size usage.
[SVN r86760]
2013-11-19 02:47:23 +00:00
Edward Diener e607287986 Updated array tests.
[SVN r86743]
2013-11-17 22:23:51 +00:00
Edward Diener b3a1643428 Fix to BOOST_PP_TUPLE_REM for VC++8.0 and note in documentation about it.
[SVN r86742]
2013-11-17 22:05:23 +00:00
Edward Diener 8179a114c3 Added new tuple headers and updated tests to use a common test source file for each test.
[SVN r86715]
2013-11-15 23:54:12 +00:00
Edward Diener 390d72525e Update to restore BOOST_PP_TUPLE_REM_0()
[SVN r86141]
2013-10-02 23:21:31 +00:00
Edward Diener 5e0422ff97 Reinstate fix for clang so that it is recognized as strict compliance.
[SVN r86044]
2013-09-30 02:04:47 +00:00
Edward Diener 06b1bf9b21 Revert previous change for clang.
[SVN r86011]
2013-09-29 19:21:46 +00:00
Edward Diener 1cd181a946 Changed for clang on Windows which defines _MSC_VER.
[SVN r86004]
2013-09-29 15:16:25 +00:00
Edward Diener 6f56be00ee Update to restore BOOST_PP_TUPLE_REM_0()
[SVN r85172]
2013-07-30 00:36:47 +00:00
Edward Diener d51297c62b Removed redundant explanation.
[SVN r83898]
2013-04-14 14:48:50 +00:00
Edward Diener e630b6e23f Updated documentation linking the (v) notation to a named anchor explaining it.
[SVN r83891]
2013-04-14 01:46:09 +00:00
Edward Diener b07cc69819 Updated documentation linking the (v) notation to a named anchor explaining it.
[SVN r83890]
2013-04-14 00:50:30 +00:00
Paul Mensonides b60a47252d added VARIADIC_SEQ_TO_SEQ
[SVN r80704]
2012-09-26 03:50:27 +00:00
Paul Mensonides c48da5375b pp-lib variadic changes merged to release branch
[SVN r75915]
2011-12-12 12:52:44 +00:00
Edward Diener 7346503b96 Update link to the C++ Template Metaprogramming book Appendix A online.
[SVN r75126]
2011-10-27 02:10:02 +00:00
Edward Diener 46caf30af4 Update link to the C++ Template Metaprogramming book Appendix A online.
[SVN r75125]
2011-10-27 02:03:36 +00:00
Edward Diener 3443ca0a51 Delay of BOOST_PP_VARIADIC_ELEM fixes problem when variadic data must be generated.
[SVN r73776]
2011-08-15 15:58:25 +00:00
Paul Mensonides 1149d38ef4 limited variadic support
[SVN r72763]
2011-06-26 13:07:20 +00:00
Steven Watanabe c81e77bb16 Merge [43112], [62165], [65119], and [65120] from the trunk.
[SVN r71037]
2011-04-06 17:22:43 +00:00
Paul Mensonides 0c87b91f95 gcc fix
[SVN r70733]
2011-03-30 01:14:17 +00:00
Paul Mensonides 49142ec930 commit test
[SVN r69130]
2011-02-21 22:51:57 +00:00
Steven Watanabe c776ac0002 Avoid evaluating BOOST_PP_SEQ_HEAD when it isn't needed. Fixes #4465.
[SVN r65120]
2010-08-30 02:26:02 +00:00
Steven Watanabe 568f641d8e Remove unused #include. Refs #4465.
[SVN r65119]
2010-08-30 02:24:41 +00:00
Steven Watanabe 9548743659 Fix some minor documentation errors. Fixes #4224
[SVN r62165]
2010-05-23 14:44:57 +00:00
Troy D. Straszheim 0882fe63f9 rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +00:00
Troy D. Straszheim d674ec9d6e rm cmake from the release branch before it goes out broken. Policy dictates that you never commit to release, you commit to trunk and merge to release.
[SVN r56941]
2009-10-17 01:10:45 +00:00
Troy D. Straszheim e582010b1f Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +00:00
Troy D. Straszheim 0decc801d5 Add basic copyright/license to keep cmake out of the inspection report
[SVN r55095]
2009-07-22 21:51:01 +00:00
Troy D. Straszheim 6cee861d4b merge of cmake build files from trunk per beman
[SVN r50756]
2009-01-24 18:57:20 +00:00
Boris Gubenko 32f92a1431 merge tests and Jamfiles for 7 libraries
[SVN r50456]
2009-01-04 05:17:02 +00:00
Michael A. Jackson 328bd6f995 Updating dependency information for modularized libraries.
[SVN r49628]
2008-11-07 17:05:27 +00:00
Michael A. Jackson 8ed342548e Updating CMake files to latest trunk. Added dependency information for regression tests and a few new macros for internal use.
[SVN r49627]
2008-11-07 17:02:56 +00:00
Michael A. Jackson c213502e2c Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00
Rene Rivera 485db8aef5 Move preprocessor tests into canonical test subdir structure.
[SVN r44385]
2008-04-13 23:21:57 +00:00
Marshall Clow aba62cac02 Fix typo (bug #1434)
[SVN r43112]
2008-02-05 16:07:19 +00:00
Beman Dawes 4507d79106 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
Beman Dawes 80f57a0284 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
Beman Dawes 6a5b3283fc Starting point for releases
[SVN r39706]
2007-10-05 14:25:06 +00:00
nobody f3461db9c7 This commit was manufactured by cvs2svn to create tag
'Version_1_34_1'.

[SVN r38286]
2007-07-24 19:28:14 +00:00
Paul Mensonides 0c28d39c7d EDG MS emulation
[SVN r37156]
2007-03-07 10:37:03 +00:00
Paul Mensonides fee02ed013 EDG MS emulation
[SVN r37155]
2007-03-07 10:27:38 +00:00
Paul Mensonides d88bf38702 removed single-line comment
[SVN r36257]
2006-12-04 00:43:44 +00:00
Paul Mensonides e8937f9f13 fixed flags argument bug
[SVN r36177]
2006-11-25 23:13:08 +00:00
Rene Rivera 3278d97b30 Fix freshly broken links, again.
[SVN r34764]
2006-07-28 16:06:08 +00:00
Rene Rivera 94ffea3b73 Fix freshly broken links, again.
[SVN r34764]
2006-07-28 16:06:08 +00:00
Rene Rivera 14bad4a4f9 (merge from head) Fix freshly broken links.
[SVN r34735]
2006-07-26 01:25:43 +00:00
Rene Rivera eb1edeed0b Fix freshly broken links.
[SVN r34734]
2006-07-26 01:19:35 +00:00
Rene Rivera d428afbfc0 (merge from head)
After asking Paul... add his copyright to the docs.


[SVN r34692]
2006-07-24 04:12:54 +00:00
Rene Rivera 36885cddae After asking Paul... add his copyright to the docs.
[SVN r34691]
2006-07-24 04:08:25 +00:00
Rene Rivera b591d802c5 (merge from head)
Fix various inspection errors: add missing copyright and license info.


[SVN r34684]
2006-07-23 20:48:34 +00:00
Rene Rivera b14b395cec Fix various inspection errors: add missing copyright and license info.
[SVN r34683]
2006-07-23 20:45:18 +00:00
Paul Mensonides 0e2bbd51ce added x-refs
[SVN r33472]
2006-03-24 21:34:52 +00:00
nobody 9573b31cea This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
[SVN r33417]
2006-03-21 02:26:31 +00:00
Paul Mensonides e6a44c77b9 alternate VC++ workaround
[SVN r33061]
2006-02-21 12:02:08 +00:00
Paul Mensonides 5ce690af3b update for new Borland preprocessor
[SVN r32369]
2006-01-22 01:35:57 +00:00
Hartmut Kaiser 546d5dc9a3 Changed the __SPIRIT_PP__ macro in the preprocessor lib config to __WAVE__.
[SVN r32367]
2006-01-21 15:07:39 +00:00
Victor A. Wagner Jr. 645026f596 Changed - to elif so the #endifs still match
[SVN r32257]
2006-01-08 05:27:52 +00:00
Paul Mensonides 252e372ecb allowance for GCC-XML
[SVN r32255]
2006-01-08 00:11:41 +00:00
Paul Mensonides c9c95e1684 single element fix
[SVN r30808]
2005-09-05 07:58:27 +00:00
Paul Mensonides 7c8bd6dec3 dedicated counter
[SVN r30562]
2005-08-12 20:42:15 +00:00
Paul Mensonides e55d8e83be bug fix
[SVN r30561]
2005-08-12 20:11:50 +00:00
Douglas Gregor 3a15a4500f Merged from 1.33.0 release
[SVN r30540]
2005-08-12 13:02:37 +00:00
Paul Mensonides a655d38e4b added shifted binary params
[SVN r30499]
2005-08-06 21:55:13 +00:00
Paul Mensonides 8927845acd CW<9 workaround
[SVN r30184]
2005-07-19 20:47:19 +00:00
Paul Mensonides 65496dd1d2 IBM workaround
[SVN r29731]
2005-06-22 11:02:32 +00:00
Paul Mensonides 33af6f8d98 IBM workaround
[SVN r29718]
2005-06-21 07:55:15 +00:00
Paul Mensonides f5bc79f606 VC++ workaround
[SVN r26849]
2005-01-25 22:43:56 +00:00
John Maddock 3fc9130412 BSL update based on permissions granted in blanket-permission.txt
[SVN r25863]
2004-10-25 11:58:45 +00:00
Paul Mensonides e11d89cecd ..
[SVN r25856]
2004-10-24 23:52:55 +00:00
Paul Mensonides b71f390686 headers/xxx.hpp.html >> headers/xxx.html
[SVN r25656]
2004-10-11 06:58:45 +00:00
Paul Mensonides fcc60a3011 fixed 31+ filenames, unlinked files
[SVN r25057]
2004-09-13 16:45:27 +00:00
Paul Mensonides cb86812995 removed commented link
[SVN r25054]
2004-09-13 16:11:54 +00:00
John Maddock d18009e308 Converted files to the BSL based on the permissions in more/blanket-permission.txt
[SVN r25052]
2004-09-13 15:51:29 +00:00
Dave Abrahams 0b8615f1be tweak url
[SVN r24755]
2004-08-26 12:50:05 +00:00
Aleksey Gurtovoy fb183beac1 apply Digital Mars patch by Daniel James (http://article.gmane.org/gmane.comp.lib.boost.devel/107127)
[SVN r24219]
2004-08-01 07:24:26 +00:00
Aleksey Gurtovoy 1812ca8e98 MSVC 6.5+STLPort workaround
[SVN r24218]
2004-08-01 06:27:56 +00:00
Douglas Gregor e599a58f10 Converted to Boost Software License, Version 1.0
[SVN r24096]
2004-07-27 03:43:34 +00:00
Paul Mensonides d8c979c633 *** empty log message ***
[SVN r23734]
2004-07-18 20:15:36 +00:00
Paul Mensonides 28b2809d9c news -> introduction
[SVN r23563]
2004-07-14 22:37:27 +00:00
Paul Mensonides 3a2b948fb3 Appendix A\!
[SVN r23561]
2004-07-14 22:18:42 +00:00
Paul Mensonides 8b80898ad6 fixed redundant check
[SVN r23556]
2004-07-14 21:13:05 +00:00
Paul Mensonides a7f3bbaa59 fixed no-EMPTY usage
[SVN r23091]
2004-06-11 22:18:42 +00:00
Paul Mensonides 34029cf0cb fixed usage bug
[SVN r22773]
2004-05-09 23:54:14 +00:00
Rene Rivera d56c9b37a6 Fix broken links.
[SVN r21401]
2003-12-27 01:16:48 +00:00
Paul Mensonides 6241d12f49 updated for Metrowerks' new pp
[SVN r21330]
2003-12-18 23:56:04 +00:00
Paul Mensonides 9cc2279b2f tab removal
[SVN r21053]
2003-12-02 00:43:36 +00:00
Paul Mensonides 85182b4426 evil VC bug fix
[SVN r18276]
2003-04-18 06:24:49 +00:00
Paul Mensonides 7a652be8b4 fixed reversed results
[SVN r17875]
2003-03-13 06:51:21 +00:00
Paul Mensonides 730cad9bcd Spirit PP!
[SVN r17692]
2003-03-01 19:43:05 +00:00
Paul Mensonides ce9576a096 doc fixes
[SVN r17466]
2003-02-17 04:19:02 +00:00
Beman Dawes 72ecbc58fa fix wrong dir name
[SVN r17136]
2003-01-31 21:26:53 +00:00
Paul Mensonides 1f03280e44 oops, tabs...
[SVN r16768]
2003-01-06 01:20:30 +00:00
Paul Mensonides fbe6a2a52e predicate support for object-like config macros
[SVN r16767]
2003-01-06 01:07:12 +00:00
Paul Mensonides ad641c4b14 fixed copyright
[SVN r16763]
2003-01-05 18:59:40 +00:00
Paul Mensonides e2250a1f05 fixed right parenthesis
[SVN r16762]
2003-01-05 18:58:22 +00:00
Paul Mensonides 0d0d7277d1 MWCC fix
[SVN r16730]
2003-01-02 06:29:35 +00:00
Paul Mensonides 8927ac12fc MWCC fix
[SVN r16729]
2003-01-02 06:29:00 +00:00
Beman Dawes 1455a98541 add or update See www.boost.org comments
[SVN r16708]
2002-12-27 16:51:53 +00:00
Paul Mensonides 9f3cf15ea8 encapsulated split
[SVN r16705]
2002-12-26 06:38:37 +00:00
Paul Mensonides 90b4c400ce minor vc fix
[SVN r16704]
2002-12-26 06:37:43 +00:00
Paul Mensonides aa1a4b8185 hp update
[SVN r16703]
2002-12-26 05:52:20 +00:00
Paul Mensonides 23b5e32ec6 minor vc fixes
[SVN r16702]
2002-12-26 05:44:41 +00:00
Aleksey Gurtovoy 66ae128156 add missing include
[SVN r16301]
2002-11-17 07:42:57 +00:00
Paul Mensonides eb440203ae configuration bug fixed
[SVN r16178]
2002-11-09 18:19:06 +00:00
Paul Mensonides 948dc37c77 fixed -1st- example
[SVN r16156]
2002-11-08 02:53:21 +00:00
Paul Mensonides 632177847c fixed bibliography links
[SVN r16155]
2002-11-08 02:47:17 +00:00
Paul Mensonides 8788b95b21 wide stringizing
[SVN r16154]
2002-11-08 02:44:38 +00:00
Paul Mensonides 108875cb25 wide stringizing
[SVN r16153]
2002-11-08 02:27:19 +00:00
Paul Mensonides 1c44a4a510 set -> seq
[SVN r16152]
2002-11-08 02:12:35 +00:00
Paul Mensonides 91eba2f11b set -> seq
[SVN r16151]
2002-11-07 23:41:54 +00:00
Paul Mensonides 5be4c6ee5a set -> seq
[SVN r16150]
2002-11-07 23:39:29 +00:00
Paul Mensonides 54bdb38619 set -> seq
[SVN r16149]
2002-11-07 23:16:43 +00:00
Paul Mensonides 4f3cfd2dbd set -> seq
[SVN r16148]
2002-11-07 23:08:07 +00:00
Beman Dawes 4321cbbb79 Fix test directory name
[SVN r16066]
2002-11-02 20:31:30 +00:00
Dave Abrahams 1a45a2d833 Workarounds for Sun Workshop 7
[SVN r16037]
2002-11-01 02:45:24 +00:00
Paul Mensonides f9565520fd fixed hyperlink error
[SVN r15910]
2002-10-13 07:33:36 +00:00
Paul Mensonides d701bf8d47 preliminary set support
[SVN r15909]
2002-10-13 06:11:19 +00:00
Paul Mensonides 33daabd87d preliminary set support
[SVN r15908]
2002-10-13 05:47:23 +00:00
Paul Mensonides b2bd498a4f extended array support
[SVN r15747]
2002-10-06 02:37:37 +00:00
Paul Mensonides 3807daaf45 reinserted debugging support
[SVN r15746]
2002-10-06 02:31:47 +00:00
Paul Mensonides b7127aa718 extended array support
[SVN r15745]
2002-10-06 02:30:33 +00:00
Paul Mensonides 33b4cfab1b replaced prefixes
[SVN r15744]
2002-10-05 22:01:01 +00:00
Paul Mensonides e53be8491f fixed url
[SVN r15739]
2002-10-05 19:22:55 +00:00
Paul Mensonides 6e30689e5e lib cleanup
[SVN r15696]
2002-10-03 22:26:50 +00:00
Paul Mensonides 4bb690a819 lib cleanup
[SVN r15693]
2002-10-03 22:13:37 +00:00
Paul Mensonides ae584c68b2 lib cleanup
[SVN r15689]
2002-10-03 22:04:13 +00:00
Paul Mensonides 7856c3b759 new tests
[SVN r15688]
2002-10-03 21:55:27 +00:00
Paul Mensonides 608163ebbe removed temporary docs
[SVN r15687]
2002-10-03 21:49:23 +00:00
Paul Mensonides 3b93d471b1 inclusion fix
[SVN r15459]
2002-09-19 20:49:38 +00:00
Paul Mensonides e8cd3315e0 added trailing binary parameters
[SVN r15443]
2002-09-18 19:43:48 +00:00
Paul Mensonides 77b2daeb56 config redirection for Visual Age on AIX
[SVN r15442]
2002-09-18 19:43:08 +00:00
Dave Abrahams b70d56a6b3 Fix misspelled __EDG_VERSION__ flag.
[SVN r15431]
2002-09-18 02:36:15 +00:00
Paul Mensonides 72fab9d7da fixed everything-but-gcc bug
[SVN r15312]
2002-09-13 22:47:38 +00:00
Paul Mensonides 228d4ce2d7 obsolete files
[SVN r15311]
2002-09-13 22:45:19 +00:00
Paul Mensonides ce9ad7208c explicit deduction
[SVN r15309]
2002-09-13 22:34:09 +00:00
Paul Mensonides 145d9890ca increased depth for msvc
[SVN r15308]
2002-09-13 22:33:43 +00:00
Paul Mensonides 256368661c flags fix
[SVN r15296]
2002-09-13 09:23:06 +00:00
Paul Mensonides 15de7eec4b msvc depth issues
[SVN r15295]
2002-09-13 09:10:26 +00:00
Paul Mensonides fdc4155fea msvc arbitrary ICE fix
[SVN r15284]
2002-09-12 23:48:47 +00:00
Paul Mensonides a4efd4c21a revert
[SVN r15282]
2002-09-12 23:34:29 +00:00
Paul Mensonides 715054b3b4 MSVC fix
[SVN r15281]
2002-09-12 23:08:13 +00:00
Paul Mensonides 907aa0914d speedups
[SVN r15273]
2002-09-12 08:10:23 +00:00
Paul Mensonides 859b360101 speedups
[SVN r15272]
2002-09-12 08:00:48 +00:00
Paul Mensonides 0d9fa12aa6 Metrowerks speedup
[SVN r15248]
2002-09-10 02:12:19 +00:00
Paul Mensonides 3facdc63f6 gcc fix
[SVN r15229]
2002-09-09 06:23:42 +00:00
Paul Mensonides 5423acd697 fixed flags precedence
[SVN r15220]
2002-09-09 00:35:13 +00:00
Paul Mensonides fea5ddce84 fixed capitalization
[SVN r15219]
2002-09-08 23:43:43 +00:00
Paul Mensonides b6e1f95f62 compatibility jumper headers
[SVN r15217]
2002-09-08 23:11:02 +00:00
Paul Mensonides e94ef7422a borland fixes
[SVN r15215]
2002-09-08 22:06:46 +00:00
Paul Mensonides ded6f3a3c9 compatibility jumper headers
[SVN r15213]
2002-09-08 21:34:26 +00:00
Paul Mensonides faaa55709b workaround for insidious bcc bug
[SVN r15212]
2002-09-08 21:15:30 +00:00
Paul Mensonides 393b019394 not supposed to be here!
[SVN r15211]
2002-09-08 21:15:12 +00:00
Paul Mensonides b7d529ac6b initial revision
[SVN r15207]
2002-09-08 11:01:16 +00:00
Paul Mensonides 26e81a5585 initial revision
[SVN r15206]
2002-09-08 10:52:13 +00:00
Paul Mensonides c3b2cc2def bad name
[SVN r15205]
2002-09-08 10:51:48 +00:00
Paul Mensonides 89e278e967 initial revision
[SVN r15204]
2002-09-08 10:37:14 +00:00
Paul Mensonides 5c1b446a9e initial revision
[SVN r15203]
2002-09-08 10:22:48 +00:00
Paul Mensonides 54d6f56c0e initial revision
[SVN r15202]
2002-09-08 09:58:13 +00:00
Paul Mensonides ce2f5ccec1 intial revision
[SVN r15201]
2002-09-08 09:57:18 +00:00
Paul Mensonides dcb69eaaa1 initial revision cleanup
[SVN r15200]
2002-09-08 09:45:41 +00:00
Paul Mensonides b1733ed82c initial revision
[SVN r15199]
2002-09-08 09:41:42 +00:00
Paul Mensonides cdc4be5256 initial revision
[SVN r15198]
2002-09-08 09:40:56 +00:00
Paul Mensonides cb61e12209 initial revision
[SVN r15197]
2002-09-08 09:24:32 +00:00
Dave Abrahams 76e9f915b7 CWPro8.2 patches
[SVN r14999]
2002-08-20 16:33:43 +00:00
Beman Dawes 7825392dc5 init commit
[SVN r14977]
2002-08-19 23:29:18 +00:00
Paul Mensonides 553cee40bd high resolution support
[SVN r14556]
2002-07-22 05:50:19 +00:00
Paul Mensonides 89e4b06d8a high-resolution support
[SVN r14555]
2002-07-22 05:49:24 +00:00
Paul Mensonides 47baba7c49 shared temporary digit processing
[SVN r14554]
2002-07-22 05:49:00 +00:00
Vesa Karvonen 25054a1ee1 Removed tabs...
[SVN r14481]
2002-07-16 14:55:24 +00:00
Paul Mensonides 00dad65868 BOOST_PP_LOCAL_ITERATION_LIMITS --> BOOST_PP_LOCAL_LIMITS
[SVN r14401]
2002-07-10 19:30:49 +00:00
Paul Mensonides 8e47cb7560 added BOOST_PP_SLOT_MAX
[SVN r14400]
2002-07-10 18:03:58 +00:00
Paul Mensonides 015ac9cb2e unified array interface
[SVN r14387]
2002-07-10 06:29:05 +00:00
Paul Mensonides 6eedec544f fixed undefined behavior
[SVN r14386]
2002-07-10 06:28:31 +00:00
Paul Mensonides 864019147a fixed undefined behavior
[SVN r14385]
2002-07-09 20:40:00 +00:00
Aleksey Gurtovoy f7fefa2a1f bumped up __MWERKS__ version check for 8.1
[SVN r14369]
2002-07-09 14:01:46 +00:00
Dave Abrahams c1d0b219ac Work around GCC problem caused by space
[SVN r14366]
2002-07-09 10:00:21 +00:00
Paul Mensonides 26b15f8280 MWCW fixes
[SVN r14333]
2002-07-07 22:39:15 +00:00
Paul Mensonides 99ad0e4521 relocated slot interface
[SVN r14332]
2002-07-07 22:20:50 +00:00
Paul Mensonides f00446c3ab modified detail line
[SVN r14331]
2002-07-07 22:19:23 +00:00
Paul Mensonides e192e93d0b flag support
[SVN r14330]
2002-07-07 22:18:31 +00:00
Paul Mensonides cc650688ad obtuse detail line directives
[SVN r14329]
2002-07-07 22:17:51 +00:00
Paul Mensonides 4908f58ea3 built-in flag support
[SVN r14328]
2002-07-07 22:16:26 +00:00
Paul Mensonides 60de301d1f mechanism uses open-ended array
[SVN r14327]
2002-07-07 22:15:08 +00:00
Paul Mensonides 328a52eaaa line directive changes
[SVN r14326]
2002-07-07 22:14:28 +00:00
Paul Mensonides 37d50a375a array data structure support
[SVN r14325]
2002-07-07 22:12:25 +00:00
Vesa Karvonen 72727d6d7f Reduced delay
[SVN r14321]
2002-07-07 12:39:43 +00:00
Paul Mensonides 1fec028b57 moved slot interface to slot.hpp
[SVN r14297]
2002-07-04 05:50:50 +00:00
Paul Mensonides 3fe7d6d06a moved slot implementation
[SVN r14296]
2002-07-04 05:49:41 +00:00
Paul Mensonides 75a207b54d evaluated slots moved to separate file
[SVN r14295]
2002-07-04 05:43:11 +00:00
Paul Mensonides 93675ab566 added BOOST_PP_SLOT_LIMIT
[SVN r14268]
2002-07-01 02:08:46 +00:00
Paul Mensonides 216dcaedef cleaned up files
[SVN r14267]
2002-06-30 09:17:09 +00:00
Paul Mensonides d2c179a6aa brought forced evaluation in line w/slots
[SVN r14266]
2002-06-30 09:16:28 +00:00
Paul Mensonides a8434508d7 evaluated slot support
[SVN r14265]
2002-06-30 09:14:58 +00:00
Paul Mensonides b290c9372b added evaluated slot support
[SVN r14264]
2002-06-30 09:13:09 +00:00
Paul Mensonides 842540fcc1 modified name
[SVN r14257]
2002-06-28 05:03:39 +00:00
Paul Mensonides 8b9c75bb07 names changes
[SVN r14251]
2002-06-27 21:05:02 +00:00
Paul Mensonides e0a31fdd3f small bug fix - extra text
[SVN r14231]
2002-06-24 07:44:16 +00:00
Paul Mensonides a729a63410 support for absolute iteration depth access
[SVN r14230]
2002-06-24 07:42:30 +00:00
Paul Mensonides 1ed20a224a support of MWCW line directives
[SVN r14229]
2002-06-24 07:35:29 +00:00
Paul Mensonides 0b4d289c85 support for MWCW line directives
[SVN r14228]
2002-06-24 07:35:00 +00:00
Vesa Karvonen a7853cdd68 Temporary fix for BOOST_PP_LIST_FILTER, which should not use BOOST_PP_IF details
[SVN r14227]
2002-06-22 21:53:34 +00:00
Paul Mensonides d574738487 reverted some C++ style comments to C
[SVN r14225]
2002-06-22 04:24:39 +00:00
Paul Mensonides 851fbc63b8 added BOOST_PP_INCLUDE_SELF()
[SVN r14224]
2002-06-21 23:14:11 +00:00
Paul Mensonides 93a331152d Cpp output cleanup
[SVN r14223]
2002-06-21 23:13:24 +00:00
Paul Mensonides 7f923e81e1 indirect file inclusion
[SVN r14222]
2002-06-21 23:08:36 +00:00
Paul Mensonides 31a8d42f8a renamed BOOST_PP_LOCAL_LIMITS to BOOST_PP_LOCAL_ITERATION_LIMITS
[SVN r14220]
2002-06-21 01:37:30 +00:00
Vesa Karvonen 1561ca793c Learning through (stupid) mistakes...
[SVN r14217]
2002-06-20 18:30:31 +00:00
Vesa Karvonen 770a0ffec6 Fixed comment bug
[SVN r14216]
2002-06-20 18:22:28 +00:00
Vesa Karvonen 1015d853f3 Extending TUPLE_LIMIT to 32
[SVN r14214]
2002-06-20 15:53:24 +00:00
Vesa Karvonen b36731a3d9 Removed // comments from comment (to emphasize C compatibility)
[SVN r14211]
2002-06-20 13:31:55 +00:00
Vesa Karvonen 58f88acce6 Increased TUPLE_LIMIT to 32
[SVN r14210]
2002-06-20 12:58:55 +00:00
Paul Mensonides 8b9dcd7849 bug fixes, and filename support
[SVN r14207]
2002-06-20 07:25:26 +00:00
Paul Mensonides 8e2c98f5bc removed unnecessary default lower boundary
[SVN r14206]
2002-06-20 07:01:59 +00:00
Paul Mensonides 3899e96e81 modified upper/lower bound interface
[SVN r14205]
2002-06-20 07:01:10 +00:00
Paul Mensonides 71bd1a7838 minor support of arithmetic expressions
[SVN r14203]
2002-06-20 05:23:31 +00:00
Paul Mensonides 8916f28480 file-iteration support
[SVN r14202]
2002-06-20 03:07:09 +00:00
Paul Mensonides 3e00e24170 upper bound abstraction
[SVN r14201]
2002-06-20 03:05:59 +00:00
Paul Mensonides 34b5b7e8b2 lower bound abstraction
[SVN r14200]
2002-06-20 03:04:41 +00:00
Paul Mensonides bc9a5ef5f2 local (simple) iteration
[SVN r14199]
2002-06-20 03:02:50 +00:00
Paul Mensonides 23fbdffd78 5th-level iteration
[SVN r14198]
2002-06-20 03:01:37 +00:00
Paul Mensonides 36686c4409 4th-level iteration
[SVN r14197]
2002-06-20 03:01:24 +00:00
Paul Mensonides 6c05aac1a4 3rd-level iteration
[SVN r14196]
2002-06-20 03:01:09 +00:00
Paul Mensonides ca54dc0ae2 2nd-level iteration
[SVN r14195]
2002-06-20 03:00:53 +00:00
Paul Mensonides 19174bc890 1st-level iteration
[SVN r14194]
2002-06-20 03:00:30 +00:00
Aleksey Gurtovoy a705b07516 more MW CodeWarrior fixes
[SVN r14192]
2002-06-20 01:20:25 +00:00
Aleksey Gurtovoy 9891ed94d9 MW CodeWarrior fixes
[SVN r14191]
2002-06-20 00:24:10 +00:00
Paul Mensonides e5875d57c8 modified EDG test
[SVN r14184]
2002-06-19 19:10:40 +00:00
Dave Abrahams ebfcf12ef1 formatting
[SVN r14181]
2002-06-19 13:37:09 +00:00
Dave Abrahams 89782cd9be CodeWarrior workaround
[SVN r14180]
2002-06-19 13:36:43 +00:00
Paul Mensonides 5652ca0d38 minor bug fix
[SVN r14179]
2002-06-19 07:16:40 +00:00
Paul Mensonides b4919e62f4 add support for unrolled BOOST_PP_REPEAT undef EDG front-ends
[SVN r14178]
2002-06-19 06:39:33 +00:00
Paul Mensonides bcd091a8dd add support for unrolled BOOST_PP_REPEAT undef EDG front-ends
[SVN r14177]
2002-06-19 06:38:43 +00:00
Paul Mensonides dff892a1b0 unrolled BOOST_PP_REPEAT's
[SVN r14176]
2002-06-19 06:37:29 +00:00
Paul Mensonides 37f823fd4a reinserted delay macros
[SVN r14171]
2002-06-18 21:54:30 +00:00
Dave Abrahams 6a7259a48d Committed fixes from Paul Mensonides
[SVN r14161]
2002-06-17 11:03:00 +00:00
Vesa Karvonen 54c727bfe3 2nd attempt to workaround VC6 preprocessor bug by increasing rescanning
[SVN r14158]
2002-06-16 21:15:23 +00:00
Vesa Karvonen cd503a0d89 Attempt to workaround VC6 preprocessor bug by increasing rescanning
[SVN r14155]
2002-06-16 20:23:00 +00:00
Vesa Karvonen 8792bd705a Removed MWCW workarounds from tests - tests are now less strict
[SVN r14152]
2002-06-16 09:20:03 +00:00
Vesa Karvonen 44b60d95ad Removed MWCW workarounds from tests - tests are now less strict
[SVN r14151]
2002-06-16 09:11:48 +00:00
Vesa Karvonen cbe5e0fa9f New O(N*N) space and O(1) time BOOST_PP_TUPLE_ELEM()
[SVN r14150]
2002-06-16 08:08:00 +00:00
Vesa Karvonen 8854c2c573 O(N*N) space and O(1) time BOOST_PP_TUPLE_ELEM()
[SVN r14149]
2002-06-16 08:06:36 +00:00
Vesa Karvonen 54d0da5221 Using private detail CAT to avoid DELAY macros
[SVN r14147]
2002-06-14 20:38:54 +00:00
Vesa Karvonen 5e0488f509 Removed commas from constant expression
[SVN r14116]
2002-06-09 18:18:27 +00:00
Aleksey Gurtovoy 22c81b2b3f MSVC fixes
[SVN r14109]
2002-06-08 06:21:19 +00:00
Vesa Karvonen f5a7b0be75 Doc fix
[SVN r14108]
2002-06-08 00:10:24 +00:00
Vesa Karvonen 032860a124 Simplified a test
[SVN r14107]
2002-06-08 00:06:07 +00:00
Vesa Karvonen 0bd2709266 Attempt to avoid preprocessor rescan bugs by increasing the amount of rescanning
[SVN r14106]
2002-06-07 22:54:19 +00:00
Vesa Karvonen 1884cf8a78 Attempt to avoid preprocessor rescan bugs by increasing the amount of rescanning
[SVN r14105]
2002-06-07 22:45:51 +00:00
Vesa Karvonen 9f9048e805 Automatic recursion
[SVN r14100]
2002-06-07 13:04:18 +00:00
Vesa Karvonen a18d5f79fc Removed obsoleted BOOST_PREPROCESSOR_??? macros
[SVN r14099]
2002-06-07 12:56:54 +00:00
Vesa Karvonen ec1d6932d4 Removed BOOST_PREPROCESSOR_??? macros
[SVN r14098]
2002-06-07 12:52:41 +00:00
Vesa Karvonen 33ba22e0f6 Removed BOOST_PREPROCESSOR_??? macros
[SVN r14097]
2002-06-07 12:43:59 +00:00
Vesa Karvonen f1bec9eda8 Removed BOOST_PREPROCESSOR_??? macros
[SVN r14096]
2002-06-07 12:26:56 +00:00
Vesa Karvonen 760c4206b4 pre
[SVN r13974]
2002-05-18 12:53:05 +00:00
Vesa Karvonen def1674ee7 Header info
[SVN r13970]
2002-05-17 21:24:59 +00:00
Vesa Karvonen 330045d332 boost.css
[SVN r13957]
2002-05-16 22:24:11 +00:00
Vesa Karvonen ab81a9c869 boost.css
[SVN r13956]
2002-05-16 22:17:39 +00:00
Vesa Karvonen bf45543e2f Minor optimization
[SVN r13552]
2002-04-23 15:17:27 +00:00
Vesa Karvonen aa738488be Minor optimization on BOOST_PP_TUPLE_ELEM()
[SVN r13550]
2002-04-23 14:56:38 +00:00
Vesa Karvonen bfd89be28b Renamed 1 character parameter names
[SVN r13549]
2002-04-23 13:52:36 +00:00
Vesa Karvonen b899890a46 Renamed 1 character parameter names
[SVN r13548]
2002-04-23 12:55:48 +00:00
Vesa Karvonen 34c788f3a0 Changed syntax of half-open range
[SVN r13491]
2002-04-15 06:49:49 +00:00
Vesa Karvonen 19962553a5 Removed obsolete functions from the reference.
[SVN r13474]
2002-04-13 11:14:50 +00:00
Vesa Karvonen 336749e0ae Added requirements on numeric parameters
[SVN r13460]
2002-04-12 12:16:05 +00:00
Vesa Karvonen 06ff87a86c Longer macro parameter names
[SVN r13459]
2002-04-12 11:26:25 +00:00
Vesa Karvonen 3468956bc9 Added FROM_TO repetition macros.
[SVN r13364]
2002-04-04 08:23:26 +00:00
Vesa Karvonen acb748ed77 Removed plan
[SVN r13177]
2002-03-11 20:16:24 +00:00
Vesa Karvonen fcd4b15cdf Renamed BOOST_PP_IF_THEN to BOOST_PP_EXPR_IF
[SVN r13173]
2002-03-11 16:11:34 +00:00
Vesa Karvonen a3e207e706 Docs updated
[SVN r13170]
2002-03-10 15:15:41 +00:00
Vesa Karvonen 03b37c307f Docs updated
[SVN r13169]
2002-03-10 12:31:37 +00:00
Vesa Karvonen 7202e6b56e Removed MWCW version number test from workarounds
[SVN r13166]
2002-03-10 08:27:13 +00:00
Vesa Karvonen 1ad72e98a9 Docs update
[SVN r13144]
2002-03-09 13:55:00 +00:00
Vesa Karvonen da66351f86 Docs updates
[SVN r13142]
2002-03-09 08:57:33 +00:00
Vesa Karvonen 140a30f6f4 Fixed off-by-one error in documentation
[SVN r13129]
2002-03-08 13:27:37 +00:00
Vesa Karvonen 717666e5d4 Added BOOST_PP_IF_THEN
[SVN r13127]
2002-03-08 07:30:26 +00:00
Vesa Karvonen 7980b6e377 Added a link page to the examples
[SVN r13126]
2002-03-08 06:18:57 +00:00
Vesa Karvonen 2b9fee0cff How to make longer lists
[SVN r13037]
2002-03-03 08:39:30 +00:00
Vesa Karvonen 0b714a0ce7 Fixed embarrassing bug at N=0
[SVN r12951]
2002-02-27 07:42:00 +00:00
Vesa Karvonen 8a557b560b Added Duff's Device example
[SVN r12949]
2002-02-27 05:54:07 +00:00
Vesa Karvonen 2fc11e125a Added BOOST_PP_LIST_FOR_EACH_I
[SVN r12928]
2002-02-24 19:57:25 +00:00
Vesa Karvonen 045d40e5a6 Added BOOST_PP_LIST_FOLD_LEFT_2ND and BOOST_PP_LIST_FOLD_RIGHT_2ND
[SVN r12927]
2002-02-24 07:52:50 +00:00
Vesa Karvonen 23a1e16489 Some doc updates
[SVN r12926]
2002-02-24 07:45:22 +00:00
Vesa Karvonen 5fa1ddda5a Added ???_R and ???_D macros to reference
[SVN r12910]
2002-02-23 10:50:32 +00:00
Vesa Karvonen dba7ae68c7 Added ???_D and ???_R names
[SVN r12909]
2002-02-23 10:28:28 +00:00
Vesa Karvonen 0681e43c79 Doxygen is out
[SVN r12908]
2002-02-23 10:26:09 +00:00
Vesa Karvonen 324604edce Added BOOST_PP_LIST_FOLD_LEFT_2ND and BOOST_PP_LIST_FOLD_RIGHT_2ND
[SVN r12897]
2002-02-22 12:48:27 +00:00
Vesa Karvonen 4834a1927b Added BOOST_PP_FOLD_RIGHT_2ND
[SVN r12896]
2002-02-22 11:03:40 +00:00
Vesa Karvonen ffef0494ce Added BOOST_PP_FOLD_LEFT_2ND
[SVN r12895]
2002-02-22 10:40:34 +00:00
Vesa Karvonen 86be4492a3 Added BOOST_PP_FOLD_LEFT_2ND()
[SVN r12894]
2002-02-22 10:38:40 +00:00
Vesa Karvonen 6229f991c8 Added timestamp
[SVN r12893]
2002-02-22 07:39:56 +00:00
Vesa Karvonen 4c6d309384 MWCW workaround
[SVN r12760]
2002-02-08 16:54:43 +00:00
Vesa Karvonen 332e6a9ac4 Fixed title decoration
[SVN r12730]
2002-02-05 16:16:04 +00:00
Vesa Karvonen 485782792a Bibliography instead of References
[SVN r12729]
2002-02-05 16:14:26 +00:00
Vesa Karvonen 30da4c621b Minor simplification
[SVN r12726]
2002-02-05 12:42:59 +00:00
Vesa Karvonen 12b58b5b34 Added test for BOOST_PP_LIST_SIZE
[SVN r12725]
2002-02-05 12:20:00 +00:00
Vesa Karvonen ce975e7b9f Changed to recommended usage style of BOOST_PP_EMPTY & BOOST_PP_IDENTITY
[SVN r12724]
2002-02-05 12:19:33 +00:00
Vesa Karvonen 0fc08260e2 Added link to test
[SVN r12723]
2002-02-05 12:17:12 +00:00
Vesa Karvonen a13076a3c6 Updated
[SVN r12722]
2002-02-05 12:16:25 +00:00
Vesa Karvonen 363ca22cc2 Updated
[SVN r12721]
2002-02-05 12:13:37 +00:00
Vesa Karvonen b8259b1cc9 Added link to test
[SVN r12720]
2002-02-05 12:12:07 +00:00
Vesa Karvonen 3805c6f71d Added test for BOOST_PP_LIST_FOR_EACH_PRODUCT()
[SVN r12719]
2002-02-05 11:30:34 +00:00
Vesa Karvonen 41d99b49e4 Starting to use the new templates
[SVN r12718]
2002-02-05 08:27:20 +00:00
Vesa Karvonen 6248559797 Doc fix
[SVN r12717]
2002-02-05 07:37:59 +00:00
Vesa Karvonen 6f18b29f39 Removed broken stylesheet link
[SVN r12700]
2002-02-04 19:42:54 +00:00
Vesa Karvonen 6bfd1b65f1 Bug fix
[SVN r12694]
2002-02-04 15:19:08 +00:00
Vesa Karvonen ba2c70ef83 Updated docs
[SVN r12693]
2002-02-04 15:02:59 +00:00
Vesa Karvonen 00d4dc6155 Updated
[SVN r12692]
2002-02-04 15:00:30 +00:00
Vesa Karvonen cda5e36015 Update
[SVN r12691]
2002-02-04 14:57:59 +00:00
Vesa Karvonen f5669614af Added TUPLE_REVERSE, Fixed LIST_ENUM & LIST_FOR_EACH. Changed
LIST_FOR_EACH_PRODUCT.


[SVN r12690]
2002-02-04 14:56:27 +00:00
Vesa Karvonen 8432192ac0 Updated docs
[SVN r12687]
2002-02-04 13:32:28 +00:00
Vesa Karvonen 6fa0d837a3 Enhancing docs
[SVN r12620]
2002-02-01 11:41:38 +00:00
Vesa Karvonen d791b3f756 Working on docs
[SVN r12619]
2002-02-01 11:40:52 +00:00
Vesa Karvonen 3b7418f9ce Working on docs
[SVN r12612]
2002-01-31 21:52:46 +00:00
Vesa Karvonen b9f6fe1795 Example on using BOOST_PP_WHILE()
[SVN r12611]
2002-01-31 21:14:39 +00:00
Vesa Karvonen cc15a18bf6 More examples
[SVN r12609]
2002-01-31 18:30:49 +00:00
Vesa Karvonen 4231b56bb1 HTML fix
[SVN r12608]
2002-01-31 17:21:59 +00:00
Vesa Karvonen 28ead7541e Using BOOST_PP_LIST_CAT()
[SVN r12607]
2002-01-31 16:35:35 +00:00
Vesa Karvonen b9fc39ddd5 New reference
[SVN r12606]
2002-01-31 15:36:01 +00:00
Vesa Karvonen 2261c57310 Tweaking docs
[SVN r12604]
2002-01-31 14:21:31 +00:00
Vesa Karvonen f1590b8c08 Tweaking docs
[SVN r12602]
2002-01-31 13:16:47 +00:00
Vesa Karvonen 31b1b43b9f Improving docs
[SVN r12598]
2002-01-31 08:12:31 +00:00
Vesa Karvonen 756563fb76 Working on docs.
[SVN r12587]
2002-01-30 19:53:52 +00:00
Vesa Karvonen e8b6627a48 Working on docs
[SVN r12586]
2002-01-30 19:52:31 +00:00
Vesa Karvonen 460db18e02 Documentation in progress
[SVN r12585]
2002-01-30 17:54:36 +00:00
Vesa Karvonen ae7ca5e40d Renamed delay.cpp to delay.c
[SVN r12579]
2002-01-30 14:58:05 +00:00
Vesa Karvonen 704705aebe Who needs templates anyway? :)
[SVN r12578]
2002-01-30 14:57:31 +00:00
Vesa Karvonen 7e20901c38 Ported to MSVC++ and MWCW.
[SVN r12577]
2002-01-30 14:47:44 +00:00
Vesa Karvonen 84a46d253a Added BOOST_PP_LIST_FOR_EACH_PRODUCT
[SVN r12572]
2002-01-30 10:23:09 +00:00
Vesa Karvonen 18ae25d5e5 LIST_FOR_EACH_PRODUCT() added to library
[SVN r12571]
2002-01-30 10:22:13 +00:00
Vesa Karvonen 9d401687ef Added but not documented LIST_FOR_EACH_PRODUCT()
[SVN r12570]
2002-01-30 10:16:39 +00:00
Vesa Karvonen d0f812ce7e Acknowledged Chris Little and Mat Marcus.
[SVN r12569]
2002-01-30 08:10:52 +00:00
Vesa Karvonen 6b50ff7484 Refinements
[SVN r12555]
2002-01-29 15:06:47 +00:00
Vesa Karvonen 59180fab96 Somewhat more C friendly. Uses templates...
[SVN r12554]
2002-01-29 14:30:09 +00:00
Vesa Karvonen 9e361682af Somewhat more C friendly. Some tests use templates.
[SVN r12553]
2002-01-29 14:28:42 +00:00
Vesa Karvonen df1244ba20 Preprocessor library is now C friendly.
[SVN r12552]
2002-01-29 14:13:10 +00:00
Vesa Karvonen 972f6222d1 Updated plan
[SVN r12549]
2002-01-29 12:56:26 +00:00
Vesa Karvonen 418a1a5654 Refinements
[SVN r12547]
2002-01-29 12:24:55 +00:00
Vesa Karvonen 3fce5e9ef9 Refinements
[SVN r12546]
2002-01-29 12:02:11 +00:00
Vesa Karvonen 9ff3bf1455 Now takes only a couple of minutes to compile.
[SVN r12545]
2002-01-29 10:48:45 +00:00
Vesa Karvonen 409f93a5d6 Fix
[SVN r12544]
2002-01-29 10:02:23 +00:00
Vesa Karvonen 9fd20dc4e2 Refinements
[SVN r12543]
2002-01-29 09:20:56 +00:00
Vesa Karvonen 318494b610 Added a simple example on using BOOST_PP_LIST_FOR_EACH()
[SVN r12541]
2002-01-29 08:37:56 +00:00
Vesa Karvonen 2c352e415d Separated unary and binary operators
[SVN r12540]
2002-01-29 07:39:06 +00:00
Vesa Karvonen 035c5abcd0 Who needs templates anyway!
[SVN r12537]
2002-01-28 16:17:56 +00:00
Vesa Karvonen 1fc3933855 MWCW workaround
[SVN r12506]
2002-01-25 15:26:51 +00:00
Vesa Karvonen 0021c42186 Minor technical detail added
[SVN r12499]
2002-01-25 13:54:07 +00:00
Vesa Karvonen 6d04d3068b MWCW workarounds
[SVN r12497]
2002-01-25 13:15:56 +00:00
Vesa Karvonen e481dd2824 Removed doxygen version from generated docs - avoids redundant updates!
[SVN r12496]
2002-01-25 13:14:30 +00:00
Vesa Karvonen 18f3c4b6ae MWCW workarounds
[SVN r12494]
2002-01-25 13:00:03 +00:00
Vesa Karvonen 7fe7c1cb6b Reduced maximum recursion depth requirement
[SVN r12484]
2002-01-24 17:09:40 +00:00
Vesa Karvonen 8c690013f4 Added DELAY() example
[SVN r12479]
2002-01-24 15:58:43 +00:00
Vesa Karvonen 64e6a56ad0 Minor optimization
[SVN r12478]
2002-01-24 14:06:21 +00:00
Vesa Karvonen 28f575096e Minor optimizations
[SVN r12474]
2002-01-24 13:19:20 +00:00
Vesa Karvonen 7413d48c47 Minor optimizations
[SVN r12466]
2002-01-23 19:10:47 +00:00
Vesa Karvonen b6dbf78f24 Added a test without rescan
[SVN r12465]
2002-01-23 18:58:18 +00:00
Vesa Karvonen 1bfd0f8c40 Minor optimizations
[SVN r12462]
2002-01-23 17:20:54 +00:00
Vesa Karvonen e2d7a2559a Minor optimizations
[SVN r12460]
2002-01-23 16:41:44 +00:00
Vesa Karvonen 6c66df95c8 Minor optimization of list processing
[SVN r12458]
2002-01-23 15:16:21 +00:00
Vesa Karvonen f58a5b4e7d BOOST_PP_LIMIT_TUPLE extended to 16
[SVN r12452]
2002-01-23 11:28:10 +00:00
Vesa Karvonen 2a8190cf92 Shorter list to reduce compiling time from 13 to 5 on EDG based compilers
[SVN r12445]
2002-01-22 18:09:36 +00:00
Vesa Karvonen 09546e072c BOOST_PP_EXPAND now used only as a workaround
[SVN r12441]
2002-01-22 13:41:53 +00:00
Vesa Karvonen cf2315ddea Removed replacement rescan from tests.
Made requirements for BOOST_PP_CAT and BOOST_PP_STRINGIZE stronger.


[SVN r12440]
2002-01-22 13:38:55 +00:00
Vesa Karvonen 0724dd58dc Removed apparently redundant uses of BOOST_PP_EXPAND()
[SVN r12438]
2002-01-22 13:35:09 +00:00
Vesa Karvonen aeea661a59 Recognized MSVC++ workaround
[SVN r12437]
2002-01-22 13:33:39 +00:00
Vesa Karvonen fa88c0d360 Changed implementation to allow macro expansion of macro arguments
[SVN r12436]
2002-01-22 13:32:06 +00:00
Vesa Karvonen 178a8ab429 Added list data structure
[SVN r12433]
2002-01-22 10:29:42 +00:00
Vesa Karvonen 0206bbaa60 Added list data structure
[SVN r12431]
2002-01-22 10:18:08 +00:00
Vesa Karvonen e562e2478b Update documentation
[SVN r12400]
2002-01-21 19:21:24 +00:00
Vesa Karvonen e1af246b06 2D repetition example added to documentation
[SVN r12399]
2002-01-21 19:18:51 +00:00
Vesa Karvonen c518362505 C/C++ -> C++
[SVN r12398]
2002-01-21 19:17:40 +00:00
Vesa Karvonen a07e8b26b7 Minor documentation change
[SVN r12397]
2002-01-21 19:05:49 +00:00
Vesa Karvonen 255317ea1b Changed primary e-mail address for Boost development
[SVN r12377]
2002-01-20 19:45:23 +00:00
Vesa Karvonen 2e11cfcd42 Refactored the test not to use an O(N*N) operation. Repetition count remains the same.
[SVN r12374]
2002-01-20 17:46:01 +00:00
Vesa Karvonen fbea3f4f9f Increased repetition count of the test to reveal performance issues
[SVN r12373]
2002-01-20 17:42:29 +00:00
Vesa Karvonen 3789decea9 Better browsing support
[SVN r12371]
2002-01-20 16:49:07 +00:00
Vesa Karvonen e4516ada6a Added BOOST_PP_FOR, BOOST_PP_ENUM, BOOST_PP_ENUM_SHIFTED
[SVN r12370]
2002-01-20 16:31:41 +00:00
Vesa Karvonen b98a594400 Added BOOST_PP_FOR
[SVN r12369]
2002-01-20 16:29:23 +00:00
Vesa Karvonen 73218bea71 Added BOOST_PP_ENUM, BOOST_PP_ENUM_SHIFTED, BOOST_PP_FOR,
BOOST_PP_EXPAND


[SVN r12368]
2002-01-20 16:25:09 +00:00
Vesa Karvonen 7653a0a42a Documentation terminology corrected: function -> macro
[SVN r12363]
2002-01-19 20:22:43 +00:00
Vesa Karvonen 03e35a4408 Added BOOST_PP_EXPAND()
[SVN r12362]
2002-01-19 20:14:32 +00:00
Vesa Karvonen 609357592a Added BOOST_PP_TUPLE_EAT
[SVN r12325]
2002-01-15 16:58:55 +00:00
Vesa Karvonen ea1c66e021 tuple.hpp split.
[SVN r12297]
2002-01-13 15:54:51 +00:00
Vesa Karvonen 90e8e9557e BOOST_PP_EAT() added & tuple.hpp split.
[SVN r12296]
2002-01-13 15:53:15 +00:00
Vesa Karvonen 6644430159 TUPLE_EAT added
[SVN r12295]
2002-01-13 15:42:53 +00:00
Vesa Karvonen a4dc24ae7c IF uses TUPLE_ELEM to remove two macros
[SVN r12294]
2002-01-13 15:27:25 +00:00
Vesa Karvonen 590d3be836 tuple functionality will be divided into multiple headers
[SVN r12293]
2002-01-13 15:23:50 +00:00
Vesa Karvonen 4835f0392d minor comment change
[SVN r12292]
2002-01-13 15:17:02 +00:00
Vesa Karvonen 5adad67c89 Minor changes.
[SVN r12206]
2002-01-03 14:56:18 +00:00
Vesa Karvonen 1f2380191c Bug fix: missing type in TEST() macro.
[SVN r12174]
2001-12-31 11:26:55 +00:00
Vesa Karvonen d8b52a3a42 PREPROCESSOR -> PP. WHILE documented.
[SVN r12162]
2001-12-28 11:06:53 +00:00
Vesa Karvonen 5991b00456 Removed unnecessary #includes.
[SVN r12161]
2001-12-28 11:05:11 +00:00
Vesa Karvonen aa53f0052b Split unit test for more fine grained test results
[SVN r12159]
2001-12-28 08:41:34 +00:00
Dave Abrahams 7b1499c976 bumped workaround number to accomodate CodeWarrior beta compiler
[SVN r12124]
2001-12-19 21:30:15 +00:00
Vesa Karvonen 6218e5799d Reduced recursion depths due to excessive compile times on EDG
[SVN r12082]
2001-12-17 15:33:10 +00:00
Vesa Karvonen f6d5ec02a8 Removed MUL(50,50), because it takes too much time on some compilers
[SVN r12013]
2001-12-11 07:58:08 +00:00
Vesa Karvonen 27466e7d4d Lowered implicitly tested maximum iteration depth slightly
[SVN r12011]
2001-12-10 22:27:07 +00:00
Vesa Karvonen a612153a59 Added MOD
[SVN r12010]
2001-12-10 22:15:42 +00:00
Vesa Karvonen cd69e240b3 Added MOD and implemented ADD, SUB & MUL using WHILE reducing internal repetition
[SVN r12009]
2001-12-10 22:11:42 +00:00
Vesa Karvonen ef938f3335 Removed confusing #include information
[SVN r11987]
2001-12-09 14:30:29 +00:00
Vesa Karvonen 90f8bb2304 Compressed while implementation
[SVN r11942]
2001-12-05 22:24:23 +00:00
Vesa Karvonen 692025092b Fixed long file names
[SVN r11933]
2001-12-05 18:21:47 +00:00
Vesa Karvonen 4c2d36fad3 *** empty log message ***
[SVN r11931]
2001-12-05 17:02:26 +00:00
Vesa Karvonen 40de542d88 CodeWarrior workaround
[SVN r11930]
2001-12-05 16:53:42 +00:00
Vesa Karvonen 0e7988bb46 Minor updates
[SVN r11889]
2001-12-03 22:29:23 +00:00
Vesa Karvonen 5eae85ecd9 Apparently the doxygen generated style sheet was not used.
[SVN r11886]
2001-12-03 21:36:46 +00:00
Vesa Karvonen 0dd5c9fe3d Removed doxygen.gif - it is not needed
[SVN r11885]
2001-12-03 21:33:51 +00:00
Vesa Karvonen d9ab221221 Reference document generation files
[SVN r11884]
2001-12-03 21:27:13 +00:00
Vesa Karvonen 7b5dd2ba63 Official copyright holder in Finland is "Housemarque Oy"
[SVN r11883]
2001-12-03 21:20:27 +00:00
Vesa Karvonen 4eac3f9372 Official copyright holder in Finland is "Housemarque Oy"
[SVN r11880]
2001-12-03 21:11:11 +00:00
Vesa Karvonen f380b1a2d3 Moved test rationale to test code file
[SVN r11878]
2001-12-03 20:58:50 +00:00
910 changed files with 73783 additions and 7026 deletions
+39
View File
@@ -0,0 +1,39 @@
# Copyright 2016 Edward Diener
# 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
sudo: false
python: "2.7"
os:
- linux
- osx
branches:
only:
- master
- develop
install:
- cd ..
- git clone -b $TRAVIS_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- cp -r $TRAVIS_BUILD_DIR/* libs/preprocessor
- python tools/boostdep/depinst/depinst.py preprocessor
- ./bootstrap.sh
- ./b2 headers
script:
- TOOLSET=gcc,clang
- if [ $TRAVIS_OS_NAME == osx ]; then TOOLSET=clang; fi
- ./b2 libs/preprocessor/test toolset=$TOOLSET
notifications:
email:
on_success: always
+36
View File
@@ -0,0 +1,36 @@
# Copyright 2017 Edward Diener
# 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
branches:
only:
- master
- develop
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
install:
- cd ..
- git clone -b %APPVEYOR_REPO_BRANCH% https://github.com/boostorg/boost.git boost-root
- cd boost-root
- git submodule update --init tools/build
- git submodule update --init libs/config
- git submodule update --init tools/boostdep
- xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\preprocessor
- python tools/boostdep/depinst/depinst.py preprocessor
- bootstrap
- b2 headers
build: off
test_script:
- b2 libs/preprocessor/test toolset=%TOOLSET%
File diff suppressed because it is too large Load Diff
+58
View File
@@ -0,0 +1,58 @@
<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.&nbsp;
The invokeable IDENTITY macro was invented by him.&nbsp;
He also suggested the name for the library.&nbsp;
Many thanks to Aleksey for his insights!
</div>
<div>
Thanks to everyone who participated in the review:&nbsp; 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.&nbsp;
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.&nbsp;
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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+58
View File
@@ -0,0 +1,58 @@
<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:&nbsp; <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:&nbsp; <i>Generative Programming</i>, ISBN 0201309777</td>
</tr>
<tr>
<td><b><b><a name="barton"></a>[Barton]</b></td>
<td>Barton, Nackman:&nbsp; <i>Scientific and Engineering C++</i>, ISBN 0201533936</td>
</tr>
<tr>
<td><b><a name="mcconnell"></a>[McConnell]</b></td>
<td>McConnell:&nbsp; <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:&nbsp; <i>Haskell:&nbsp; The Craft of Functional Programming</i>, ISBN 0201342758</td>
</tr>
<tr>
<td><b>[Okasaki]</b></td>
<td>Okasaki:&nbsp; <i>Purely Functional Data Structures</i>, ISBN 0521663504</td>
</tr>
<tr>
<td><b>[Cousineau]</b></td>
<td>Cousineau, Mauny:&nbsp; <i>The Functional Approach to Programming</i>, ISBN 0521576814</td>
</tr>
<tr>
<td><b>[Abelson]</b></td>
<td>Abelson, Sussman, Sussman:&nbsp; <i>Structure and Interpretation of Computer Programs</i>, ISBN 0521576814</td>
</tr>
</table>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+38
View File
@@ -0,0 +1,38 @@
<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">
<!--
© Copyright Housemarque Oy 2002© Copyright Paul Mensonides 2002
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)--> </a>
</body>
</html>
+27
View File
@@ -0,0 +1,27 @@
<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>
<!--
© Copyright Housemarque Oy 2002
© Copyright Paul Mensonides 2002
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-->
</body>
</html>
+55
View File
@@ -0,0 +1,55 @@
<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>.&nbsp;
The first element is the number of elements in the <i>array</i>.&nbsp;
The second element is another <i>tuple</i> of the elements in the <i>array</i>.&nbsp;
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.&nbsp; Because of this, access to elements does not require the
size.&nbsp; 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>© Copyright <a href="http://www.housemarque.com"
target="_top">Housemarque Oy</a> 2002</i> <br>
<i>© 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>
+42
View File
@@ -0,0 +1,42 @@
<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.&nbsp; 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>.&nbsp; </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>© Copyright <a href="http://www.housemarque.com"
target="_top">Housemarque Oy</a> 2002</i> <br>
<i>© 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>
+60
View File
@@ -0,0 +1,60 @@
<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.&nbsp; Therefore, an "empty" <i>seq</i>
is considered a special case scenario that must be handled separately in
C++. </div>
<div class="code">
<pre>#define SEQ (x)(y)(z)
#define REVERSE(s, state, elem) (elem) state
// 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.&nbsp; Element access speed
approaches random access--even with <i>seqs</i> of up to <i>256</i>
elements.&nbsp; This is because element access (among other things) is
implemented iteratively rather than recursively.&nbsp; 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>© Copyright <a href="http://www.housemarque.com"
target="_top">Housemarque Oy</a> 2002</i> <br>
<i>© 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>
+42
View File
@@ -0,0 +1,42 @@
<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.&nbsp; 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.&nbsp; With variadic macro
support it is not necessary to know the size of a <i>tuple; </i>without
variadic macro support&nbsp;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>© Copyright <a href="http://www.housemarque.com"
target="_top">Housemarque Oy</a> 2002</i> <br>
<i>© 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>
+27
View File
@@ -0,0 +1,27 @@
<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>
<!--
© Copyright Housemarque Oy 2002
© Copyright Paul Mensonides 2002
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
-->
</body>
</html>
+196
View File
@@ -0,0 +1,196 @@
# /* 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))
+51
View File
@@ -0,0 +1,51 @@
# /* 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;
}
+95
View File
@@ -0,0 +1,95 @@
# /* 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)
+61
View File
@@ -0,0 +1,61 @@
# /* 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;
}
+49
View File
@@ -0,0 +1,49 @@
# /* 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))
+91
View File
@@ -0,0 +1,91 @@
# /* 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
View File
@@ -1,334 +0,0 @@
<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&lt;class T, int n&gt;
vec&lt;T,n&gt;&
operator +=
( vec&lt;T,n&gt;&
lhs
, const vec&lt;T,n&gt;&
rhs
)
{ for (int i=0; i&lt;n; ++i)
lhs(i) += rhs(i);
return lhs;
}
template&lt;class T, int n&gt;
vec&lt;T,n&gt;&
operator -=
( vec&lt;T,n&gt;&
lhs
, const vec&lt;T,n&gt;&
rhs
)
{ for (int i=0; i&lt;n; ++i)
lhs(i) -= rhs(i);
return lhs;
}
template&lt;class T, int n&gt;
vec&lt;T,n&gt;&
operator *=
( vec&lt;T,n&gt;&
lhs
, const vec&lt;T,n&gt;&
rhs
)
{ for (int i=0; i&lt;n; ++i)
lhs(i) *= rhs(i);
return lhs;
}
template&lt;class T, int n&gt;
vec&lt;T,n&gt;&
operator /=
( vec&lt;T,n&gt;&
lhs
, const vec&lt;T,n&gt;&
rhs
)
{ for (int i=0; i&lt;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&lt;class base&gt;
typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type&
implement_subscript_using_begin_subscript&lt;base&gt;::operator[]
( index_type
i
)
{ return base::begin()[i];
}
template&lt;class base&gt;
const typename implement_subscript_using_begin_subscript&lt;base&gt;::value_type&
implement_subscript_using_begin_subscript&lt;base&gt;::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) &lt;= 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
&lt; 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
&gt;
struct make_type_list
{
private:
enum
{ end = is_same&lt;T0,make_type_list_end&gt;::value
};
public:
typedef typename
type_if
&lt; end
, type_cons_empty
, type_cons
&lt; T0
, typename
type_inner_if
&lt; end
, type_identity&lt;end&gt;
, make_type_list
&lt; T1
, T2
, T3
, T4
, T5
, T6
, T7
&gt;
&gt;::type
&gt;
&gt;::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>© 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>
+249
View File
@@ -0,0 +1,249 @@
<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/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><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/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>
<!--
© Copyright Housemarque Oy 2002© Copyright Paul Mensonides 2002
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)-->
</body>
</html>
+36
View File
@@ -0,0 +1,36 @@
<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>&lt;boost/preprocessor/arithmetic.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="arithmetic/add.html">&lt;boost/preprocessor/arithmetic/add.hpp&gt;</a></li>
<li><a href="arithmetic/dec.html">&lt;boost/preprocessor/arithmetic/dec.hpp&gt;</a></li>
<li><a href="arithmetic/div.html">&lt;boost/preprocessor/arithmetic/div.hpp&gt;</a></li>
<li><a href="arithmetic/inc.html">&lt;boost/preprocessor/arithmetic/inc.hpp&gt;</a></li>
<li><a href="arithmetic/mod.html">&lt;boost/preprocessor/arithmetic/mod.hpp&gt;</a></li>
<li><a href="arithmetic/mul.html">&lt;boost/preprocessor/arithmetic/mul.hpp&gt;</a></li>
<li><a href="arithmetic/sub.html">&lt;boost/preprocessor/arithmetic/sub.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/arithmetic/add.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/arithmetic/dec.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/arithmetic/div.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/arithmetic/inc.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/arithmetic/mod.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/arithmetic/mul.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/arithmetic/sub.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+43
View File
@@ -0,0 +1,43 @@
<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>&lt;boost/preprocessor/array.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="array/data.html">&lt;boost/preprocessor/array/data.hpp&gt;</a></li>
<li><a href="array/elem.html">&lt;boost/preprocessor/array/elem.hpp&gt;</a></li>
<li><a href="array/enum.html">&lt;boost/preprocessor/array/enum.hpp&gt;</a></li>
<li><a href="array/insert.html">&lt;boost/preprocessor/array/insert.hpp&gt;</a></li>
<li><a href="array/pop_back.html">&lt;boost/preprocessor/array/pop_back.hpp&gt;</a></li>
<li><a href="array/pop_front.html">&lt;boost/preprocessor/array/pop_front.hpp&gt;</a></li>
<li><a href="array/push_back.html">&lt;boost/preprocessor/array/push_back.hpp&gt;</a></li>
<li><a href="array/push_front.html">&lt;boost/preprocessor/array/push_front.hpp&gt;</a></li>
<li><a href="array/remove.html">&lt;boost/preprocessor/array/remove.hpp&gt;</a></li>
<li><a href="array/replace.html">&lt;boost/preprocessor/array/replace.hpp&gt;</a></li>
<li><a href="array/reverse.html">&lt;boost/preprocessor/array/reverse.hpp&gt;</a></li>
<li><a href="array/size.html">&lt;boost/preprocessor/array/size.hpp&gt;</a></li>
<li><a href="array/to_list.html">&lt;boost/preprocessor/array/to_list.hpp&gt;</a></li>
<li><a href="array/to_seq.html">&lt;boost/preprocessor/array/to_seq.hpp&gt;</a></li>
<li><a href="array/to_tuple.html">&lt;boost/preprocessor/array/to_tuple.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/data.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/elem.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+24
View File
@@ -0,0 +1,24 @@
<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>&lt;boost/preprocessor/array/enum.hpp&gt;</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>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/array/insert.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/array/pop_back.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/array/pop_front.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/push_back.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/push_front.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/array/remove.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/array/replace.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/reverse.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/array/size.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+24
View File
@@ -0,0 +1,24 @@
<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>&lt;boost/preprocessor/array/to_list.hpp&gt;</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>© 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>
+24
View File
@@ -0,0 +1,24 @@
<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>&lt;boost/preprocessor/array/to_seq.hpp&gt;</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>© 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>
+24
View File
@@ -0,0 +1,24 @@
<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>&lt;boost/preprocessor/array/to_tuple.hpp&gt;</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>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/assert_msg.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="debug/assert.html">&lt;boost/preprocessor/debug/assert.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/cat.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/comma.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="punctuation/comma.html">&lt;boost/preprocessor/punctuation/comma.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/comma_if.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="punctuation/comma_if.html">&lt;boost/preprocessor/punctuation/comma_if.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+35
View File
@@ -0,0 +1,35 @@
<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>&lt;boost/preprocessor/comparison.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="comparison/equal.html">&lt;boost/preprocessor/comparison/equal.hpp&gt;</a></li>
<li><a href="comparison/greater.html">&lt;boost/preprocessor/comparison/greater.hpp&gt;</a></li>
<li><a href="comparison/greater_equal.html">&lt;boost/preprocessor/comparison/greater_equal.hpp&gt;</a></li>
<li><a href="comparison/less.html">&lt;boost/preprocessor/comparison/less.hpp&gt;</a></li>
<li><a href="comparison/less_equal.html">&lt;boost/preprocessor/comparison/less_equal.hpp&gt;</a></li>
<li><a href="comparison/not_equal.html">&lt;boost/preprocessor/comparison/not_equal.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/equal.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/greater.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/greater_equal.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/less.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/less_equal.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/comparison/not_equal.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+44
View File
@@ -0,0 +1,44 @@
<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>&lt;boost/preprocessor/config/limits.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<br><i>© 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>
+32
View File
@@ -0,0 +1,32 @@
<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>&lt;boost/preprocessor/config/config.hpp&gt;</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>© 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>
+35
View File
@@ -0,0 +1,35 @@
<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>&lt;boost/preprocessor/control.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="control/deduce_d.html">&lt;boost/preprocessor/control/deduce_d.hpp&gt;</a></li>
<li><a href="control/expr_if.html">&lt;boost/preprocessor/control/expr_if.hpp&gt;</a></li>
<li><a href="control/expr_iif.html">&lt;boost/preprocessor/control/expr_iif.hpp&gt;</a></li>
<li><a href="control/if.html">&lt;boost/preprocessor/control/if.hpp&gt;</a></li>
<li><a href="control/iif.html">&lt;boost/preprocessor/control/iif.hpp&gt;</a></li>
<li><a href="control/while.html">&lt;boost/preprocessor/control/while.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>Š Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>Š 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/control/deduce_d.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/control/expr_if.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/control/expr_iif.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/control/if.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/control/iif.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/control/while.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/debug.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="debug/assert.html">&lt;boost/preprocessor/debug/assert.hpp&gt;</a></li>
<li><a href="debug/line.html">&lt;boost/preprocessor/debug/line.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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>&lt;boost/preprocessor/debug/assert.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/debug/line.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/dec.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="arithmetic/dec.html">&lt;boost/preprocessor/arithmetic/dec.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/empty.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="facilities/empty.html">&lt;boost/preprocessor/facilities/empty.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/enum.html">&lt;boost/preprocessor/repetition/enum.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum_params.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/enum_params.html">&lt;boost/preprocessor/repetition/enum_params.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum_shifted.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/enum_shifted.html">&lt;boost/preprocessor/repetition/enum_shifted.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum_shifted_params.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/enum_shifted_params.html">&lt;boost/preprocessor/repetition/enum_shifted_params.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum_params_with_a_default.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/epwad.html">&lt;boost/preprocessor/repetition/enum_params_with_a_default.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/enum_params_with_defaults.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/epwd.html">&lt;boost/preprocessor/repetition/enum_params_with_defaults.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/expand.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="facilities/expand.html">&lt;boost/preprocessor/facilities/expand.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/expr_if.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="control/expr_if.html">&lt;boost/preprocessor/control/expr_if.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+34
View File
@@ -0,0 +1,34 @@
<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>&lt;boost/preprocessor/facilities.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="facilities/apply.html">&lt;boost/preprocessor/facilities/apply.hpp&gt;</a></li>
<li><a href="facilities/empty.html">&lt;boost/preprocessor/facilities/empty.hpp&gt;</a></li>
<li><a href="facilities/expand.html">&lt;boost/preprocessor/facilities/expand.hpp&gt;</a></li>
<li><a href="facilities/identity.html">&lt;boost/preprocessor/facilities/identity.hpp&gt;</a></li>
<li><a href="facilities/intercept.html">&lt;boost/preprocessor/facilities/intercept.hpp&gt;</a></li>
<li><a href="facilities/overload.html">&lt;boost/preprocessor/facilities/overload.hpp&gt;</a> <a href="../topics/variadic_macros.html#VNotation" target="_self">(v)</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/facilities/apply.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/facilities/empty.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/facilities/expand.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+32
View File
@@ -0,0 +1,32 @@
<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>&lt;boost/preprocessor/facilities/identity.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© Copyright Paul Mensonides 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/facilities/intercept.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+28
View File
@@ -0,0 +1,28 @@
<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>&lt;boost/preprocessor/facilities/overload.hpp&gt;</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>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/for.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="repetition/for.html">&lt;boost/preprocessor/repetition/for.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/identity.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="facilities/identity.html">&lt;boost/preprocessor/facilities/identity.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/if.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="control/if.html">&lt;boost/preprocessor/control/if.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/inc.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="arithmetic/inc.html">&lt;boost/preprocessor/arithmetic/inc.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/iterate.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="iteration/iterate.html">&lt;boost/preprocessor/iteration/iterate.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+32
View File
@@ -0,0 +1,32 @@
<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>&lt;boost/preprocessor/iteration.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="iteration/iterate.html">&lt;boost/preprocessor/iteration/iterate.hpp&gt;</a></li>
<li><a href="iteration/local.html">&lt;boost/preprocessor/iteration/local.hpp&gt;</a></li>
<li><a href="iteration/self.html">&lt;boost/preprocessor/iteration/self.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+43
View File
@@ -0,0 +1,43 @@
<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>&lt;boost/preprocessor/iteration/iterate.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/iteration/local.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+30
View File
@@ -0,0 +1,30 @@
<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>&lt;boost/preprocessor/iteration/self.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+26
View File
@@ -0,0 +1,26 @@
<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>&lt;boost/preprocessor/library.hpp&gt;</b>
</div>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<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.&nbsp;
This header is deprecated.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/limits.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="config/limits.html">&lt;boost/preprocessor/config/limits.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+47
View File
@@ -0,0 +1,47 @@
<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>&lt;boost/preprocessor/list.hpp&gt;</b>
</div>
<h4>Includes</h4>
<ul>
<li><a href="list/adt.html">&lt;boost/preprocessor/list/adt.hpp&gt;</a></li>
<li><a href="list/append.html">&lt;boost/preprocessor/list/append.hpp&gt;</a></li>
<li><a href="list/at.html">&lt;boost/preprocessor/list/at.hpp&gt;</a></li>
<li><a href="list/cat.html">&lt;boost/preprocessor/list/cat.hpp&gt;</a></li>
<li><a href="list/enum.html">&lt;boost/preprocessor/list/enum.hpp&gt;</a></li>
<li><a href="list/filter.html">&lt;boost/preprocessor/list/filter.hpp&gt;</a></li>
<li><a href="list/first_n.html">&lt;boost/preprocessor/list/first_n.hpp&gt;</a></li>
<li><a href="list/fold_left.html">&lt;boost/preprocessor/list/fold_left.hpp&gt;</a></li>
<li><a href="list/fold_right.html">&lt;boost/preprocessor/list/fold_right.hpp&gt;</a></li>
<li><a href="list/for_each.html">&lt;boost/preprocessor/list/for_each.hpp&gt;</a></li>
<li><a href="list/for_each_i.html">&lt;boost/preprocessor/list/for_each_i.hpp&gt;</a></li>
<li><a href="list/for_each_product.html">&lt;boost/preprocessor/list/for_each_product.hpp&gt;</a></li>
<li><a href="list/rest_n.html">&lt;boost/preprocessor/list/rest_n.hpp&gt;</a></li>
<li><a href="list/reverse.html">&lt;boost/preprocessor/list/reverse.hpp&gt;</a></li>
<li><a href="list/size.html">&lt;boost/preprocessor/list/size.hpp&gt;</a></li>
<li><a href="list/to_array.html">&lt;boost/preprocessor/list/to_array.hpp&gt;</a></li>
<li><a href="list/to_seq.html">&lt;boost/preprocessor/list/to_seq.hpp&gt;</a></li>
<li><a href="list/to_tuple.html">&lt;boost/preprocessor/list/to_tuple.hpp&gt;</a></li>
<li><a href="list/transform.html">&lt;boost/preprocessor/list/transform.hpp&gt;</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
<br><i>© 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>
+35
View File
@@ -0,0 +1,35 @@
<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>&lt;boost/preprocessor/list/adt.hpp&gt;</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>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<html>
<head>
<title>list/append.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>list/append.hpp</b> header defines macros for appending one <i>list</i> to another.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/list/append.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/list_append.html">BOOST_PP_LIST_APPEND</a></li>
<li><a href="../../ref/list_append_d.html">BOOST_PP_LIST_APPEND_D</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<html>
<head>
<title>list/at.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>list/at.hpp</b> header defines macros for extracting an element from a <i>list</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/list/at.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/list_at.html">BOOST_PP_LIST_AT</a></li>
<li><a href="../../ref/list_at_d.html">BOOST_PP_LIST_AT_D</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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>
+31
View File
@@ -0,0 +1,31 @@
<html>
<head>
<title>list/cat.hpp</title>
<link rel="stylesheet" type="text/css" href="../../styles.css">
</head>
<body>
<div style="margin-left: 0px;">
The <b>list/cat.hpp</b> header defines macros for concatenating all elements in a <i>list</i>.
</div>
<h4>Usage</h4>
<div class="code">
#include <b>&lt;boost/preprocessor/list/cat.hpp&gt;</b>
</div>
<h4>Contents</h4>
<ul>
<li><a href="../../ref/list_cat.html">BOOST_PP_LIST_CAT</a></li>
<li><a href="../../ref/list_cat_d.html">BOOST_PP_LIST_CAT_D</a></li>
</ul>
<hr size="1">
<div style="margin-left: 0px;">
<i>© Copyright <a href="http://www.housemarque.com" target="_top">Housemarque Oy</a> 2002</i>
</br><i>© 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