Boost C++ Libraries 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_EMPTY_ARRAY — Tests whether a sequence is an empty Boost PP array.


// In header: <boost/vmd/is_empty_array.hpp>



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,())'.

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.