Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

QVM: Quaternions, Vectors, Matrices

cmp(quat,quat)

#include <boost/qvm/quat_operations.hpp>

namespace boost
{
    namespace qvm
    {
        //Only enabled if:
        //  is_quat<A>::value && is_quat<B>::value
        template <class A,class B,class Cmp>
        bool cmp( A const & a, B const & b, Cmp pred );
    }
}

Returns:

Similar to operator==, except that it uses the binary predicate pred to compare the individual quaternion elements.