...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
BOOST_VMD_IS_TYPE_D — Tests whether a sequence is a VMD type. Re-entrant version.
// In header: <boost/vmd/is_type.hpp>
BOOST_VMD_IS_TYPE_D(d, sequence)
d = The next available BOOST_PP_WHILE iteration.
sequence = a possible VMD type
returns = 1 if the sequence is a VMD type, 0 if it is not.
If the sequence is not a VMD data type this macro could lead to a preprocessor error. This is because the macro uses preprocessor concatenation to determine if the sequence is an identifier once it is determined that the sequence does not start with parentheses. If the data being concatenated would lead to an invalid preprocessor token the compiler can issue a preprocessor error.