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_EQUAL_D — Tests any two sequences for equality. Re-entrant version.


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

BOOST_VMD_EQUAL_D(d, sequence, ...)


d = The next available BOOST_PP_WHILE iteration.
sequence = First sequence.
... = variadic parameters, maximum of 2.

The first variadic parameter is required and is the second sequence to test. The optional second variadic parameter is a VMD type as a filter.

The macro tests any two sequences for equality. For sequences to be equal the VMD types of each sequence must be equal and the individual elements of the sequence must be equal. For Boost PP composite types the macro tests that the composite types have the same size and then tests that each element of the composite type is equal. This means that all elements of a composite type must be a VMD type in order to use this macro successfully.

The single optional parameter is a filter. The filter is a VMD type which specifies that both sequences to test must be of that VMD type, as well as being equal to each other, for the test to succeed.

returns = 1 upon success or 0 upon failure. Success means that both sequences are equal and, if the optional parameter is specified, that the sequences are of the optional VMD type.