如何循环访问 boost::mpl::list?

2023-11-22

据我所知,这是

#include <boost/mpl/list.hpp>
#include <algorithm>
namespace mpl = boost::mpl;

class RunAround {};
class HopUpAndDown {};
class Sleep {};

template<typename Instructions> int doThis();
template<> int doThis<RunAround>()    { /* run run run.. */ return 3; }
template<> int doThis<HopUpAndDown>() { /* hop hop hop.. */ return 2; }
template<> int doThis<Sleep>()        { /* zzz.. */ return -2; }


int main()
{
    typedef mpl::list<RunAround, HopUpAndDown, Sleep> acts;

//  std::for_each(mpl::begin<acts>::type, mpl::end<acts>::type, doThis<????>);

    return 0;
};

我该如何完成这个? (我不知道是否应该使用 std::for_each,只是根据此处的另一个答案进行猜测)


Use mpl::for_each用于类型列表的运行时迭代。例如。:

struct do_this_wrapper {
    template<typename U> void operator()(U) {
        doThis<U>();
    }
};

int main() {
    typedef boost::mpl::list<RunAround, HopUpAndDown, Sleep> acts;
    boost::mpl::for_each<acts>(do_this_wrapper());    
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何循环访问 boost::mpl::list? 的相关文章

  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • 在数据库中搜索时忽略空文本框

    此代码能够搜索数据并将其加载到DataGridView基于搜索表单文本框中提供的值 如果我将任何文本框留空 则不会有搜索结果 因为 SQL 查询是用 AND 组合的 如何在搜索 从 SQL 查询或 C 代码 时忽略空文本框 private
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • WCF:将随机数添加到 UsernameToken

    我正在尝试连接到用 Java 编写的 Web 服务 但有些东西我无法弄清楚 使用 WCF 和 customBinding 几乎一切似乎都很好 除了 SOAP 消息的一部分 因为它缺少 Nonce 和 Created 部分节点 显然我错过了一
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • 使用@javax.validation.Valid时如何以正确的方式抛出自定义异常?

    使用时如何以正确的方式抛出自定义异常 javax validation Valid 我在用着 Valid在控制器中 以及 AssertTrue验证请求正文字段 public ResponseEntity
  • Oracle REGEXP_LIKE 和字边界

    我在使用 REGEXP LIKE 匹配单词边界时遇到问题 正如预期的那样 以下查询返回一行 select 1 from dual where regexp like DOES TEST WORK HERE TEST 但我也想匹配单词边界 因
  • C# .NET 标签中的多种颜色

    我正在寻找一种在单个 C NET 标签中显示多种颜色的方法 例如 标签显示一系列 csv 分隔值 每个值的颜色取决于它们所属的存储桶 我不想使用多个标签 因为值是可变长度的 并且我不想使用动态布局 有对此的原生支持吗 NET 中没有本机控件
  • git 中神秘消失的分支

    以下是我执行的一些 git 操作 如您所见 我创建了一个新分支 修改了我的文件 然后提交了更改 在换回另一个分支后 希望合并 我刚刚工作的分支消失了 有谁知道如何从fixed merge branch恢复文件 我吓坏了 1 9 2 whis
  • 分叉连接优化

    我想要的是 我想致力于 fork join 算法的优化 我所说的优化只是指计算最佳线程数 或者如果您愿意的话 计算SEQUENTIAL THRESHOLD 参见下面的代码 PSEUDOCODE Result solve Problem pr
  • 拥有 MSI 安装包的主要优势是什么?

    我以为这会在网络上的某个地方 但我无法用谷歌搜索它 考虑到创建 MSI 包的复杂性 与 NSIS InnoSetup 等相比 什么是一个令人信服的理由去经历所有这些混乱 使用 MSVS 蹩脚的安装项目向导 学习一个全新的语言 生态系统只是为
  • json 键作为数字

    我有一个 JSON 传递给脚本 我不知道 JSON 键 因为它们是动态的 实际上 它们是数字 这就是我得到的 var countries 223 142 143 222 23 26 25 24 170 1 2 我尝试像这样访问数据 var
  • random() 函数内部 - 它是如何实现的?

    我们通常使用 random 函数在 C 中创建随机数 使用 void srand 无符号整数种子 可以改善结果 因为它会根据种子的值生成随机数 谁能告诉我随机函数是如何实际实现的 Here是 GNU C 库的 random 函数中使用的算法
  • Git - 包超出允许的最大大小

    我正在处理大量的二进制文件 最近对本地 git 存储库进行更改后 我尝试将更改推送回远程 结果收到以下错误 remote fatal pack exceeds maximum allowed size 不幸的是我无法使用所描述的策略here
  • Python:生成具有趋势的随机时间序列数据(例如周期性、指数衰减等)

    我正在尝试生成一些具有趋势的随机时间序列 例如周期性 例如销售 指数下降 例如帖子上的 Facebook 点赞数 指数增长 例如比特币价格 普遍增加 股票行情 等 我可以生成普遍增加 减少时间序列如下 import numpy as np
  • TextView 具有不同的字体和样式?

    是否可以在同一文本中包含不同大小 字体类型或样式的文本TextView 像这样的东西 myLogin logout 您可以使用以下方法执行此操作 textView setText Html fromHtml b myLogin b i lo
  • UICollectionView:必须使用非零布局参数进行初始化

    I added UICollectionView通过代码 现在 应用程序崩溃并显示消息 UICollectionView must be initialized with a non nil layout parameter 你有什么想法来
  • 如何将适用于 Windows 的 PHP 5.3 扩展编译为 DLL?

    我目前正在重写一个PHP最初编写的扩展PHP 4 2 2 我的问题是让构建 编译过程生成一个 dll而不是将扩展编译到PHP核 环境是windows server 2003 我使用的是Visual Studio 2008 我使用 EXT S
  • JS:函数参数默认值

    在某些语言中 您可以为函数的参数设置默认值 function Foo arg1 50 arg2 default 你如何在 JavaScript 中做到这一点 在 JavaScript 中 任何未设置的内容都会被赋予值undefined 这意
  • fputs( _("") ) 下划线代表什么?

    我终于开始看一些 Linux 代码 我现在正在看ls c 在函数usage 在底部我发现了很多这样的说法 fputs List information about the FILEs the current directory by def
  • TFS 构建错误 - “指定的路径、文件名或两者都太长...”

    我正在编写构建过程模板的自定义活动 我在构建活动时遇到以下问题 gt XamlBuildTask error XC1043 Extension Microsoft Activities Build BeforeInitializeCompo
  • 通过 API 调用获取文件(R 和管道工)

    我使用管道工作为一些 R 函数的简单 Web API 服务 我想通过 R 函数提供一个文件 下载 在客户端 非常像Flask 在 python 中通过 send file 和 send from directory 执行此操作 I trie
  • 将源代码附加到 Jprofiler

    我刚开始使用 JProfiler 我正在对应用程序进行远程分析 当我单击任何对象的显示源时 它显示 在源路径中找不到源文件 因为远程计算机上只有二进制文件 有什么办法可以链接源代码吗 仅供参考 我可以访问我可以使用的代码 在 JProfil
  • 使命名的锚点书签在单击时始终显示在屏幕顶部

    我的标记如下 li a href sheds housing Sheds amp Housing a li div h1 sheds amp housing h1 img src images cattle sheds housing pn
  • 如何循环访问 boost::mpl::list?

    据我所知 这是 include