连接Boost Hana字符串

时间:2017-04-23 18:50:12

标签: c++ boost-hana

尝试连接Boost Hana编译时字符串会在我的应用程序中出现编译器错误。是否有任何特定的激活配置选项或需要包含的标题才能使其正常工作?

以下是一个例子:

#define BOOST_HANA_CONFIG_ENABLE_STRING_UDL
#include "boost/hana.hpp"

namespace hana = boost::hana;

using namespace hana::literals;

int main() {
  auto t = "left, "_s + "right"_s;
}

这在GCC 6.3.1上失败并出现错误error: no match for ‘operator+’ (operand types are ‘boost::hana::string<'l', 'e', 'f', 't', ',', ' '>’ and ‘boost::hana::string<'r', 'i', 'g', 'h', 't'>’) 。来自Boost 1.62.0的Hana

作为旁注,用[{1}}替换运算符+失败,错误为hana::plus

1 个答案:

答案 0 :(得分:3)

正如Jason Rice指出的那样,在Boost 1.63中添加了对编译时字符串连接的支持

https://github.com/boostorg/hana/commit/7a3e0480d442c393ed7bcc1ca72a3e1821319ff0