Boost PP re-entrant versions

| Home | Libraries | People | FAQ | More

## Boost PP re-entrant versions

Nearly all macros in VMD have equivalent reentrant versions which are meant to be used in a BOOST_PP_WHILE loop. These are versions which have an underscore D suffix, take the next available BOOST_PP_WHILE iteration as their first parameter, and then have the exact same functionality as their unsuffixed equivalents. They can be used in BOOST_PP_WHILE loops to provide slightly quicker preprocessing but, as the documentation for BOOST_PP_WHILE and BOOST_PP_WHILE_##d explain, they do not have to be used.

These macros are:

Arrays

- BOOST_VMD_IS_ARRAY_D
- BOOST_VMD_IS_EMPTY_ARRAY_D
- BOOST_VMD_ASSERT_IS_ARRAY_D

Identifiers

- BOOST_VMD_IS_IDENTIFIER_D
- BOOST_VMD_ASSERT_IS_IDENTIFIER_D

Lists

- BOOST_VMD_IS_LIST_D
- BOOST_VMD_IS_EMPTY_LIST_D
- BOOST_VMD_ASSERT_IS_LIST_D

Sequences

- BOOST_VMD_ELEM_D
- BOOST_VMD_ENUM_D
- BOOST_VMD_EQUAL_D
- BOOST_VMD_GET_TYPE_D
- BOOST_VMD_IS_MULTI_D
- BOOST_VMD_IS_UNARY_D
- BOOST_VMD_NOT_EQUAL_D
- BOOST_VMD_SIZE_D
- BOOST_VMD_TO_ARRAY_D
- BOOST_VMD_TO_LIST_D
- BOOST_VMD_TO_SEQ_D
- BOOST_VMD_TO_TUPLE_D

Seqs

- BOOST_VMD_IS_SEQ_D
- BOOST_VMD_ASSERT_IS_SEQ_D

Types

- BOOST_VMD_IS_TYPE_D
- BOOST_VMD_ASSERT_IS_TYPE_D

Other

- BOOST_VMD_IS_PARENS_EMPTY_D