Boost 绑定占位符参数等于可变参数模板参数的数量

2024-02-25

我想知道是否可以使用传递给可变参数模板的参数数量作为 boost::bind 调用中的占位符。

像这样的事情:

template <typename ... Args>

boost::bind(&function, this, anArg, _1));         //If Args count equals 1
boost::bind(&function, this, anArg, _1, _2));     //If Args count equals 2
boost::bind(&function, this, anArg, _1, _2, _3)); //If Args count equals 3

这可能吗?

谢谢


肯定有一种部分专业化的方法。 你的可变参数不能立即知道参数的数量,对吧?您必须使用编译时递归,在此期间您可以使用 boost::mpl 堆叠您的参数(或使用简单的整数常量增量对它们进行计数)。 然后在最后一个非变量递归调用(带有 0 arg)中,您在容器上调用 mpl::size (或者如果您选择这种方式,则仅使用整数计数器)来调用像其他答案一样的 Callable,它包含所有参数,在类型列表的开头加上一个完整的模板参数。这就是你的专长。您为每个参数数量创建一个调用程序,该调用程序将根据其特殊数量的参数调用正确的绑定。 (Callable 结构(部分)根据参数整数模板参数的数量进行专门化。即使 Call 函数采用最大数量的参数,它也只包装正确的 boost::bind 调用,例如 bind(.., _1,_2) 对于可调用) 这并不可怕,但我确认我过去在 C++03 中使用过这种方法。

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

Boost 绑定占位符参数等于可变参数模板参数的数量 的相关文章

  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 如何知道并加载特定文件夹中的所有图像?

    我有一个应用程序 C Builder 6 0 需要知道特定文件夹中的图像总数 然后我必须加载它们 在 ImageList 或 ComboBoxEx 中 或任何其他控件中 我怎样才能做到这一点 我知道如何在控件中加载图像 或保存在 TList
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • 测试 hdf5/c++ 中的组是否存在

    我正在打开一个现有的 HDF5 文件来附加数据 我想向那个叫做的小组保证 A存在以供后续访问 我正在寻找一种简单的方法来创建 A有条件地 如果不存在则创建并返回新组 或者返回现有组 一种方法是测试 A存在 我怎样才能高效地做到这一点 根据
  • 如何在 C# 事件中区分更改是由代码还是由用户进行?

    我有一个简单的TextBox一开始是空的 我有一个简单的事件 TextChanged 可以知道用户何时更改了其中的任何内容TextBox 但是 如果我自己在代码中对其执行任何操作 该事件就会触发 喜欢设置textbox Text Test
  • 使用 C# 使用应用程序密码登录 Office 365 SMTP

    在我们的 Office 365 公司帐户中实施两步身份验证之前 我的 C WPF 程序已成功进行身份验证并发送邮件 我使用了 SmtpClient 库 但现在我必须找到另一个解决方案 因为它不再起作用 我找不到任何使用 O365 应用程序密
  • 防止复制构造和返回值引用的分配

    如果我有一个函数返回对类实例的引用 但我无法控制其源 比如说list
  • CMake - 将预构建库链接到 C# 项目

    我正在使用 CMake 构建 C 库 该库依赖于已构建的库 dll 我似乎无法让图书馆链接到我的图书馆 我尝试过使用target link libraries mylib external lib 我也尝试过暴力破解 reference e
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • 使用 Linq 进行异步Where过滤

    我有一个List通过填充的元素async调用 WebService 没问题 我需要过滤该列表以便在应用程序视图上显示某些内容 我试过这个 List
  • 如何使用 Clang 查找内存泄漏

    我在我的机器 ubuntu 中安装了 Clang 以便发现我的 C 代码中的内存泄漏 我编写了一个示例代码来检查它的工作情况 如下所示 File hello c for leak detection include
  • 如何从枚举中选择随机值?

    给定 C 中的任意枚举 如何选择随机值 我没有找到这个非常基本的问题 我会在一分钟内发布我的答案作为任何人的参考 但请随意发布你自己的答案 Array values Enum GetValues typeof Bar Random rand
  • 用 C# 编写的带有点击移动的 WPF 游戏

    我试图将标签网格移动到鼠标的位置 就像冒险游戏中的移动一样 理想情况下 我会在途中删除并重新绘制它们 但是 现在我只想弄清楚如何将 int 转换为厚度或 pointtoscreen 到目前为止我有 player XMove int Mous
  • C# ToString("MM/dd/yy") 删除前导 0 [重复]

    这个问题在这里已经有答案了 可能的重复 格式化 NET DateTime Day 不带前导零 https stackoverflow com questions 988353 format net datetime day with no
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • 多个同名内存数据库

    关系到这个答案 https stackoverflow com a 48446491 596758 我试图通过设置让多个上下文工作UseInMemoryDatabase以同名 下面的测试失败 第二个上下文为空 我还需要做什么才能在内存数据库
  • 有没有办法让 VS2010 在我的方法中扩展或收缩 try 块?

    我的代码有很多 try catch finally 块 与我在 VS2010 中的方法不同 除了添加区域之外 我无法在开发时扩展或收缩这些区域来隐藏内容 try vm R vm Qu vm T vm D vm Fil vm Type vm
  • 局部静态变量初始化是线程安全的[重复]

    这个问题在这里已经有答案了 假设我有一个包含三个静态函数的类 如下所示 include
  • C++0x 中的新 unicode 字符

    我正在构建一个 API 它允许我获取各种编码的字符串 包括 utf8 utf16 utf32 和 wchar t 根据操作系统 可能是 utf32 或 utf16 新的 C 标准引入了新类型char16 t and char32 t没有这么

随机推荐

  • 正则表达式匹配跨平台换行符

    我的程序可以接受具有换行符 n r n 或 r 的数据 例如 Unix PC 或 Mac 样式 构造匹配任何编码的正则表达式的最佳方法是什么 或者 我可以在输入上使用 universal newline 支持 但现在我有兴趣看看正则表达式是
  • 如何处理已释放的持久卷?

    TL 博士 我不知道删除 PVC 后如何访问数据 以及为什么删除 PVC 后 PV 不会消失 我正在采取的步骤 手动在GCE中创建磁盘 gcloud compute disks create size 5Gi disk for rabbit
  • iPad半透明状态栏?

    iPad有没有办法让状态栏半透明 尝试执行此操作时出现此错误 UIStatusBarStyle Black Translucent is not available on this device iPad不支持半透明状态栏 在 iPad 设
  • Android SupportMapFragment 无法看到片段内的地图

    我试图在代码中将 SupportMapFragment 添加到 FrameLayout 中 但出现空指针异常 My Code 主要片段 public class MainFragment extends FragmentActivity O
  • 将部分视图加载到主视图 AngularJS

    我有一个部分视图 我计划将其包含在不同的页面中 我尝试了以下方法来加载部分视图 但该视图不显示模型中存储的值 角度控制器 This gets the required data as JSON AdminService getSetting
  • 如何检查是否至少有一个 RadioButtonList 选择了一项?

    我有20个RadioButtonList位于页面上 我需要创建一种验证方法以确保至少其中之一RadioButtonLists 已选择一个项目 我需要为此使用什么样的验证 EDIT 根据评论和澄清更新了问题 如果您要验证多个RadioButt
  • 如何删除 Android 上的导航栏?

    当我在 Galaxy Nexus 上全屏收听 YouTube 视频时 右侧的导航栏会在几秒钟后消失 该栏包含 后退 主页 和 最近使用的应用程序 按钮 当用户在我的应用程序中观看视频时 我想做同样的事情 隐藏导航栏的代码是什么 更新 这是我
  • 尽管 user:email 范围,Github 用户电子邮件为空

    我正在关注Github 的 OAuth 流程 https developer github com v3 oauth 并获取一个访问令牌 使我能够访问用户的电子邮件范围 当我用代码交换访问令牌时 使用https github com log
  • AWS:如何找出 GitHub Actions 集成所需的最低 IAM 权限

    我需要创建一个CloudFormation创建多个资源的 SAM 模板 我还需要整合GitHub Actions因此代码会在推送时自动部署 问题是这需要我给 GitHub 大量的 IAM 权限来完成必要的工作 请注意 我使用的是 GitHu
  • 反向搜索栏(从右到左)颜色

    我一直在尝试实现一个类似于您用来接受或拒绝呼叫的搜索栏 对于呼叫接受 我设置 sbLeft setProgress 0 对于呼叫拒绝 我设置 sbRight setProgress 15 setMax 15 机器人两个搜索栏 这给了我预期结
  • 我怎样才能将其转换为月份?

    6 9 2013 1 15 7 9 2013 1 15 我在这种格式的列中有一系列数据 我正在尝试将其转换为一个月并将其存储在不同的列中 我该怎么做 Intended output June July 我尝试使用 lubridate 库但无
  • 使用 Task.FromAsync 时 WebRequest BeginGetResponse/EndGetResponse 抛出异常

    我尝试使用 WebRequest 将 POST 操作异步到 REST Web 服务 所以据我所知 我需要使用Task Factory FromAsync
  • 单击 QPushButton 时,它会触发两次

    我在一个项目中使用了 PyQt5 并有以下片段 button是一个 QPushButton def on receive self query print receiving query datapackages json loads qu
  • Scalacheck,大小 5 到 12 之间的列表生成器

    我可以找到许多设置生成器最大尺寸的示例 但是如何生成最小和最大长度之间的列表 生成器的一个巧妙属性是它们是可组合的 因此您可以简单地使用以下命令来组合列表长度的生成器listOfN发电机 for numElems lt Gen choose
  • 当SectionList组件中的部分为空时渲染“无内容”组件

    See https facebook github io react native docs sectionlist html https facebook github io react native docs sectionlist h
  • com.google.android.apps.gcs 导致应用程序在模拟器中启动时崩溃

    我在 Android Studio 中有一个 Android 9 模拟器 我正在尝试在其上运行我的应用程序 然而应用程序在启动时崩溃 并且它不断记录这个冗长的错误 2018 10 08 11 48 28 693 18207 18309 E
  • 使用 Flexbox 和 Overflow 将项目居中

    问题总结 我想要的布局是能够将页面上未知尺寸的图像居中 垂直和水平 如果图像太大而无法适应任一方向 我想显示滚动条 以便用户可以滚动以查看完整图像 我遇到的问题是 当图像太大而无法容纳时 图像的顶部和左侧 取决于被截断的部分 将永远无法滚动
  • C#中可以继承数据注解吗?

    我可以在另一个类中继承 密码 数据注释吗 public class AccountCredentials AccountEmail Required ErrorMessage xxx StringLength 30 MinimumLengt
  • 设置响应内容类型而不使用 HttpServletResponse

    我怎样才能得到HttpServletResponse object在我的弹簧控制器的方法中以便我的应用程序与 Http API 保持松散耦合 谢谢 编辑 实际上我想要的是设置内容类型spring 是否提供了任何方法来实现此目的 而无需将 H
  • Boost 绑定占位符参数等于可变参数模板参数的数量

    我想知道是否可以使用传递给可变参数模板的参数数量作为 boost bind 调用中的占位符 像这样的事情 template