具有特殊功能的拉开功能型

2023-12-08

答案是这个问题使用类模板挑选函数类型:

template <typename T>
struct function_args {};

template <typename R, typename... Args>
struct function_args<R(Args...)> {
    using type = tuple<Args...>;
};

template <typename T>
using decltypeargs = typename function_args<T>::type;

当我研究这里所做的事情时,我尝试重写function_args。我尝试使用函数来做到这一点,以便消除对decltypeargs模板。但发现自己陷入了不正确的语法:

template <typename T>
tuple<> myTry();

template <typename Ret, typename... Args>
tuple<Args...> myTry<Ret(Args...)>();

使用函数,您可以重用之前的相同类型特征:

template <typename T>
function_args<T> myTry();

或者您可以使用函数重新实现相同的功能。您不能部分特化函数模板,但可以重载:

namespace detail {
    template <class T> struct tag { };

    template <class R, class... Args>
    tag<std::tuple<R, Args...>> myTry(tag<R(Args...)> );

    template <class R, class C, class... Args>
    tag<std::tuple<R, Args...>> myTry(tag<R(C::*)(Args...)> );        

    // etc.
}

template <typename T>
auto myTry() { return detail::myTry(detail::tag<T>{}); }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有特殊功能的拉开功能型 的相关文章

随机推荐

  • jQuery Mobile 不加载新页面脚本

    将 jQuery Mobile 与 Django 结合使用 在页面转换期间 基本脚本似乎加载正常 但从一个页面到下一个页面 标题下的新页面脚本不会在浏览器中加载 更具体 我通过输入网址加载主页 一切正常 我通过单击主页中的链接加载下一页 然
  • 使用与重复字段同名的字段时 BigQuery 会扁平化

    编辑以使用公共数据集 I have a table with the following schema which you can access here https bigquery cloud google com table real
  • 如何使用 Mojo 进行内部重定向?

    Catalyst 支持的重定向内部到框架 forward and detach 和外部 HTTP 重定向 res gt redirect 内部重定向本质上只是重新分派到新路径 假设我设置了两条路径 sub register self app
  • 使用 ViewPager 更改片段

    我在用PagerSlidingTab图书馆ViewPager 我想在滚动选项卡时更改片段 它运行良好 查看我的代码 我在用AsynTask 在各个Fragment 当应用程序通过 MainActivity 打开时 第一个 Fragment
  • 适用于 C、C++ 或 Fortran 的代码抛光器/重新格式化器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 假设您有一堆由不同作者用 C C 或 Fortran 编写的文件 在格式 如何注释等方面有不同的意见 我想很多人都知道这样的情况 是否有任何免费工具
  • Xamarin.Forms 警告:尝试在其视图不在 iOS 图像/手势识别器的窗口层次结构中的 * 上呈现 *

    我有一个模态导航页面 其中包含一个充当按钮的图像
  • Android Toolbar的Switch的actionLayout导致按下菜单时文本跳转

    请参考我的项目 https github com paulpv ToolbarSwitch 我正在为 Android 工具栏 又名 新 ActionBar 开发一个简单的自定义布局 这个简单的控件向工具栏添加了一个开关 可以在此处以洋红色突
  • 在Blackberry中,我们可以创建可供不同应用程序使用的通用库吗?

    我想创建一个通用的第三方库 它可以被不同的应用程序共享和使用 并且保持一致 我们可以实现这个目标吗 如果可以 这个库将如何安装以及在哪里安装 以及如何从其他应用程序访问这些库文件 是的 你可以这样做 您创建并编译该库 您可以在依赖它的应用程
  • 通过此与虚拟对象同步

    到目前为止 我已经看到了同步块的用法 但最近我了解到使用虚拟对象更好 我发现以下与此相关的主题 Java同步方法锁定对象或方法 总而言之 在下面的代码中 两个不同的对象不能同时运行 addA 和 addB 因为它们都使用 this 作为锁
  • Java:如何从图像数组创建电影?

    我基本上有一个字节矩阵 每行 即 byte 代表一个图像 如何创建一个电影 任何格式 avi mpeg 等等 并将其保存为文件 每个图像可以是以下之一 int JPEG Encoded formats int NV16 YCbCr form
  • 使用 Project Reactor 和 DirectoryStream 列出目录内容

    我想将 DirectoryStream 与 Project Reactor 一起使用来列出目录中的所有文件 我的尝试是 Path myDir Paths get C Users r dacanal Documents Reply EDA l
  • Hibernate:多对多关系表作为实体

    问题如标题所示 如何将多对多关系表作为实体 我想说 你的问题很有道理 看看这个文档部分 第 24 章最佳实践 摘录 不要使用外来关联映射 真正的多对多关联的实际测试用例很少 最多 您需要存储在 链接 中的附加信息的时间 table 在这种情
  • ImageIO write() 是阻塞方法吗?

    在我用 java 开发的应用程序中 我使用 ImageIO API 来缩放图像 然后将它们写入目录 然后通知 Web 服务器图像已准备好使用 向 Web 服务器发送信号之前的最后一个调用是 ImageIO write 方法 但 Web 服务
  • TinyMCE 4 插入链接表单字段已禁用

    我正在使用TinyMCE Railsgem 使用 TinyMCE 4 我正在加载link插件 所有这一切都是在颜色框弹出窗口之后 中启动的 TinyMCE 编辑器工作正常 但链接按钮会弹出一个对话框来添加 编辑链接 但除了target可供编
  • 使用openpyxl旋转Excel图表的轴

    那里 我正在尝试使用 openpyxl 来处理 Excel 数据 将图片绘制出来并导出它们就可以了 但是 x axis 不够漂亮 我想旋转它 但在文档中没有找到解决方案 这是使用 XlsxWriter 的解决方案 solution 我的代码
  • 如何自动展开和打印 TreeView

    我创建了一个应用程序 它会扫描每台计算机 并使用硬件 软件和更新 修补程序信息填充 TreeView 我遇到的问题是打印 如何自动展开树视图并将所选计算机的结果发送到打印机 我当前使用的方法是将内容发送到画布 BMP 然后将其发送到打印机
  • Boost序列化:如何预测序列化结果的大小?

    我以这种方式使用 boost 序列化 Header H Magic SSP T REQUEST 98 72 42 Date SSP C NONE Header Z std cout lt lt H lt lt std endl std co
  • 指定和不指定 dtype 的 numpy.array 行为很奇怪

    我对此完全感到困惑 从以下 import numpy as np a np array 4 9 a 0 0 4 a I 预期输出 array 0 4 9 但它给了我 array 0 9 但是当我改变了dtype to f a np arra
  • R 中装配的水平线图

    我有如下的大数据 但这只是一个小样本 pos lt c 1 3 5 8 10 12 start lt c 1 3 6 7 10 11 end lt c 5 6 9 9 13 12 定量变量 Pos 将是 Y 轴 X 轴将是指定的 X 变量
  • 具有特殊功能的拉开功能型

    答案是这个问题使用类模板挑选函数类型 template