...one of the most highly
regarded and expertly designed C++ library projects in the
world. — Herb Sutter and Andrei
BOOST_VMD_IS_EMPTY_ARRAY_D — Tests whether a sequence is an empty Boost PP array. Re-entrant version.
// In header: <boost/vmd/is_empty_array.hpp> BOOST_VMD_IS_EMPTY_ARRAY_D(d, sequence)
An empty Boost PP array is a two element tuple where the first size element is 0 and the second element is a tuple with a single empty element, ie. '(0,())'.
d = The next available BOOST_PP_WHILE iteration.
sequence = a possible empty array
returns = 1 if the sequence is an empty Boost PP array, 0 if it is not.
The macro will generate a preprocessing error if the sequence is in the form of an array but its first tuple element, instead of being a number, is a preprocessor token which VMD cannot parse, as in the example '(&0,())' which is a valid tuple but an invalid array.