【发布时间】:2011-04-12 16:58:49
【问题描述】:
我查看了 boost 的 mpl::string,但似乎没有一种简单的方法可以将字符串文字转换为基于单引号整数的 mpl::string 格式。我要做的是在编译时使用编译时字符串生成一些简单数据结构的 XML 实现。我正在努力让宏自己生成结构并在其中插入一个常量“元”字段,其中包含所述 XML 字符串。
【问题讨论】:
标签: c++ boost metaprogramming
我查看了 boost 的 mpl::string,但似乎没有一种简单的方法可以将字符串文字转换为基于单引号整数的 mpl::string 格式。我要做的是在编译时使用编译时字符串生成一些简单数据结构的 XML 实现。我正在努力让宏自己生成结构并在其中插入一个常量“元”字段,其中包含所述 XML 字符串。
【问题讨论】:
标签: c++ boost metaprogramming
简短的回答是否定的,没有简单的方法。至少在编译时不单独使用 C++。您可以使用脚本或其他代码生成器生成具有正确文字的mpl::strings。 C++0x 将带来用户定义的文字 [1],允许轻松地逐个字符地操作文字,例如,使用可变参数模板。
【讨论】:
'a','b','c',...。
这是一篇关于该主题的文章:http://akrzemi1.wordpress.com/2011/05/11/parsing-strings-at-compile-time-part-i/。作者使用用户字符串文字和 constexpr 实现了一个简单的 RPN 算术计算器,该计算器在编译时工作。我不会尝试在此处提供更多的文章摘要。
【讨论】: