1[/ 2 (C) Copyright Edward Diener 2011-2015 3 Distributed under the Boost Software License, Version 1.0. 4 (See accompanying file LICENSE_1_0.txt or copy at 5 http://www.boost.org/LICENSE_1_0.txt). 6] 7 8[section:vmd_history History] 9 10[heading Version 1.9, Boost 1.60] 11* Added support for "empty" seqs and tuples 12 13[heading Version 1.8] 14 15* After a review of VMD I have greatly simplified the main interfaces and added 16optional functionality in the form of modifiers. The main changes are the addition 17of the many generic macros for sequences and the expansions of types to include the 18v-type. 19 * Added BOOST_VMD_ELEM macro. 20 * Added BOOST_VMD_EQUAL macro. 21 * Added BOOST_VMD_NOT_EQUAL macro. 22 * Added BOOST_VMD_IS_MULTI macro. 23 * Added BOOST_VMD_IS_TYPE macro. 24 * Added BOOST_VMD_ASSERT_IS_TYPE macro. 25 * Added BOOST_VMD_IS_UNARY macro. 26 * Added BOOST_VMD_SIZE macro. 27 * Replaced with the BOOST_VMD_ELEM macro, using modifiers, a number of macros which were eliminated. These are: 28 * BOOST_VMD_IDENTIFER 29 * BOOST_VMD_BEGIN_IDENTIFIER 30 * BOOST_VMD_AFTER_IDENTIFIER 31 * BOOST_VMD_IS_BEGIN_IDENTIFIER 32 * BOOST_VMD_NUMBER 33 * BOOST_VMD_BEGIN_NUMBER 34 * BOOST_VMD_AFTER_NUMBER 35 * BOOST_VMD_IS_BEGIN_NUMBER 36 * BOOST_VMD_ARRAY 37 * BOOST_VMD_BEGIN_ARRAY 38 * BOOST_VMD_AFTER_ARRAY 39 * BOOST_VMD_IS_BEGIN_ARRAY 40 * BOOST_VMD_LIST 41 * BOOST_VMD_BEGIN_LIST 42 * BOOST_VMD_AFTER_LIST 43 * BOOST_VMD_IS_BEGIN_LIST 44 * BOOST_VMD_SEQ 45 * BOOST_VMD_BEGIN_SEQ 46 * BOOST_VMD_AFTER_SEQ 47 * BOOST_VMD_IS_BEGIN_SEQ 48 * BOOST_VMD_TUPLE 49 * BOOST_VMD_BEGIN_TUPLE 50 * BOOST_VMD_AFTER_TUPLE 51 * BOOST_VMD_IS_BEGIN_TUPLE 52 * Every macro has its own header file. 53 54[heading Version 1.7] 55 56* The library has been reengineered to provide vastly added functionality. This includes: 57 * Adding functionality for parsing v-types. 58 * Adding functionality for parsing sequences of v-types. 59 * Adding improved ASSERT macros. 60 * Adding BOOST_VMD_EMPTY and BOOST_VMD_IDENTITY. 61 62[heading Version 1.6] 63 64* Stripped off all functionality duplicated by the variadic macro functionality added to Boost PP. 65* Removed the notion of 'native' and 'pplib' modes. 66* Use the BOOST_PP_VARIADICS macro from the Boost PP library to determine variadic macro availability 67 and removed the native macro for determining this from this library. 68* Updated documentation, especially to give fuller information of the use of the BOOST_VMD_EMPTY 69 macro and its flaw and use with Visual C++. 70* Changed the directory structure to adhere to the Modular Boost structure. 71 72[heading Version 1.5] 73 74* Added macros for verifying Boost PP data types. 75* Added macros for detecting and removing beginning parens. 76* Added a macro for testing for the emptiness of a parameter. 77* Added support for individual header files. 78* Added support for 'native' and 'pplib' modes. 79* Added control macros for controlling the variadic macro availability, mode, and data verification. 80 81[heading Version 1.4] 82 83* Removed internal dependency on BOOST_PP_CAT and BOOST_PP_ADD when using VC++. 84 85[heading Version 1.3] 86 87* Moved version information and history into the documentation. 88* Separate files for build.txt in the doc sub-directory and readme.txt in the top-level directory. 89* Breaking changes 90 * The name of the main header file is shortened to 'vmd.hpp'. 91 * The library follows the Boost conventions. 92 * Changed the filenames to lower case and underscores. 93 * The macros now start with BOOST\_VMD\_ rather than just VMD\_ as previously. 94 95[heading Version 1.2] 96 97* Added a readme.txt file. 98* Updated all jamfiles so that the library may be tested and docs generated from its own local directory. 99 100[heading Version 1.1] 101 102* Added better documentation for using variadic data with Boost PP and VMD. 103 104[heading Version 1.0] 105 106Initial version of the library. 107 108[endsect] 109