boost::mpl::not_equal_to测试程序及应用
在C++元编程中,boost::mpl是一个非常流行的元编程库。它提供了许多元函数、元算法和元迭代器等工具,用于实现高效的模板元编程。其中一个非常有用的元函数是boost::mpl::not_equal_to,它用于比较两个类型是否相等。
boost::mpl::not_equal_to的定义如下:
template< typename T1, typename T2 > struct not_equal_to;
它接受两个类型T1和T2作为模板参数,并且在编译期计算T1和T2是否相等。如果相等,则not_equal_to::value为false,否则为true。
下面是一个具体的例子,展示了如何使用boost::mpl::not_equal_to比较两个类型是否相等:
#include
#include <boost/mpl/not_equal_to.hpp>
#include <boost/type_traits.hpp>
using namespace boost;
using namespace mpl;
int main()
{
std::cout << "not_equal_to<int, float>::value = "
<< not_equal_to<int, float>::value << ‘\n’;
std::cout << "not_equal_to<int, int>::value = "
<< not_equal_to<int, int>::value << ‘\n’;