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


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

BOOST_VMD_NOT_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 inequality. For sequences to be unequal either the VMD types of each sequence must be unequal or the individual elements of the sequence must be unequal.

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 fail, else it succeeds.

returns = 1 upon success or 0 upon failure. Success means that the sequences are unequal or, if the optional parameter is specified, that the sequences are not of the optional VMD type; otherwise 0 is returned if the sequences are equal.

The macro is implemented as the complement of BOOST_VMD_EQUAL, so that whenever BOOST_VMD_EQUAL would return 1 the macro returns 0 and whenever BOOST_VMD_EQUAL would return 0 the macro would return 1.