boost::mp11库中的mp_quote使用方法测试程序
boost::mp11库是一个便于进行元编程的C++模板库,其中的mp_quote函数可以将一个类模板转化为函数对象。本文将介绍mp_quote函数的相关用法,并提供一个用于测试的示例程序。
首先,我们需要包含mp11库头文件,并定义一个用于测试的类模板template_class
#include <boost/mp11.hpp>
template<typename T>
struct template_class {
using type = T;
};
mp_quote函数接受一个类模板作为参数,并返回一个函数对象。这个函数对象可以接受任意数量的类型参数,并用这些类型参数实例化传入的类模板。
例如,我们有一个类模板template_class,我们可以使用mp_quote将其转换为一个函数对象:
auto f = boost::mp11::mp_quote<template_class>();
现在,我们可以使用这个函数对象f,传入任意数量的类型参数,得到template_class的实例化结果:
using result = decltype(f(std::declval<int>(), std::declval<double>()));
// result
本文介绍了Boost.mp11库中的mp_quote函数,该函数将类模板转化为函数对象,便于元编程。通过示例展示了如何使用mp_quote创建函数对象,以及如何利用该对象实例化类模板。
订阅专栏 解锁全文
372

被折叠的 条评论
为什么被折叠?



