| Home | Libraries | People | FAQ | More

## History

#### Version 1.10, Boost 1.75

- Added support for testing for general identifier syntax using BOOST_VMD_IS_GENERAL_IDENTIFIER.

#### Version 1.9, Boost 1.60

- Added support for "empty" seqs and tuples.

#### Version 1.8

- After a review of VMD I have greatly simplified the main interfaces and added optional functionality in the form of modifiers. The main changes are the addition of the many generic macros for sequences and the expansions of types to include the v-type.
  - Added BOOST_VMD_ELEM macro.
  - Added BOOST_VMD_EQUAL macro.
  - Added BOOST_VMD_NOT_EQUAL macro.
  - Added BOOST_VMD_IS_MULTI macro.
  - Added BOOST_VMD_IS_TYPE macro.
  - Added BOOST_VMD_ASSERT_IS_TYPE macro.
  - Added BOOST_VMD_IS_UNARY macro.
  - Added BOOST_VMD_SIZE macro.
  - Replaced with the BOOST_VMD_ELEM macro, using modifiers, a number of macros which were eliminated. These are:
    - BOOST_VMD_IDENTIFER
    - BOOST_VMD_BEGIN_IDENTIFIER
    - BOOST_VMD_AFTER_IDENTIFIER
    - BOOST_VMD_IS_BEGIN_IDENTIFIER
    - BOOST_VMD_NUMBER
    - BOOST_VMD_BEGIN_NUMBER
    - BOOST_VMD_AFTER_NUMBER
    - BOOST_VMD_IS_BEGIN_NUMBER
    - BOOST_VMD_ARRAY
    - BOOST_VMD_BEGIN_ARRAY
    - BOOST_VMD_AFTER_ARRAY
    - BOOST_VMD_IS_BEGIN_ARRAY
    - BOOST_VMD_LIST
    - BOOST_VMD_BEGIN_LIST
    - BOOST_VMD_AFTER_LIST
    - BOOST_VMD_IS_BEGIN_LIST
    - BOOST_VMD_SEQ
    - BOOST_VMD_BEGIN_SEQ
    - BOOST_VMD_AFTER_SEQ
    - BOOST_VMD_IS_BEGIN_SEQ
    - BOOST_VMD_TUPLE
    - BOOST_VMD_BEGIN_TUPLE
    - BOOST_VMD_AFTER_TUPLE
    - BOOST_VMD_IS_BEGIN_TUPLE
  - Every macro has its own header file.

#### Version 1.7

- The library has been reengineered to provide vastly added functionality. This includes:
  - Adding functionality for parsing v-types.
  - Adding functionality for parsing sequences of v-types.
  - Adding improved ASSERT macros.
  - Adding BOOST_VMD_EMPTY and BOOST_VMD_IDENTITY.

#### Version 1.6

- Stripped off all functionality duplicated by the variadic macro functionality added to Boost PP.
- Removed the notion of 'native' and 'pplib' modes.
- Use the BOOST_PP_VARIADICS macro from the Boost PP library to determine variadic macro availability and removed the native macro for determining this from this library.
- Updated documentation, especially to give fuller information of the use of the BOOST_VMD_EMPTY macro and its flaw and use with Visual C++.
- Changed the directory structure to adhere to the Modular Boost structure.

#### Version 1.5

- Added macros for verifying Boost PP data types.
- Added macros for detecting and removing beginning parens.
- Added a macro for testing for the emptiness of a parameter.
- Added support for individual header files.
- Added support for 'native' and 'pplib' modes.
- Added control macros for controlling the variadic macro availability, mode, and data verification.

#### Version 1.4

- Removed internal dependency on BOOST_PP_CAT and BOOST_PP_ADD when using VC++.

#### Version 1.3

- Moved version information and history into the documentation.
- Separate files for build.txt in the doc sub-directory and readme.txt in the top-level directory.
- Breaking changes
  - The name of the main header file is shortened to 'vmd.hpp'.
  - The library follows the Boost conventions.
    - Changed the filenames to lower case and underscores.
    - The macros now start with BOOST_VMD_ rather than just VMD_ as previously.

#### Version 1.2

- Added a readme.txt file.
- Updated all jamfiles so that the library may be tested and docs generated from its own local directory.

#### Version 1.1

- Added better documentation for using variadic data with Boost PP and VMD.

#### Version 1.0

Initial version of the library.