gpt4 book ai didi

boost - 有没有更好的方法可以在 boost spirit 中转换为大写?

转载 作者:行者123 更新时间:2023-12-01 05:34:14 25 4
gpt4 key购买 nike

我做了一些类似于创建 struct 的事情。对于 phoenix::function

struct to_upper_impl
{
template <typename T1>
struct result { typedef std::string type; };

std::string operator()(const std::string & s) const
{
return boost::algorithm::to_upper_copy(s);
}
};

boost::phoenix::function<to_upper_impl> to_upper;

然后在我的语义操作中使用该功能。

我想知道是否可以在我的语义代码中使用某种单行代码(而不是创建结构)?

谢谢!

最佳答案

据我所知 - 没有。到目前为止,没有其他方法可以将其他可调用类型作为参数传递给 phoenix::function。当我尝试使用它时,我尝试使用 C++11 lambda,但由于 Boost.ResultOf 协议(protocol),尝试使用一些参数调用 phoenix::function 时失败了。你可以在这个线程中看到解释:
Can't call a lazy lambda function with parameters via boost::phoenix::function .使用boost(BLL)和phoenix lambdas并没有更短和更轻。所以目前还没有好的选择。

关于boost - 有没有更好的方法可以在 boost spirit 中转换为大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com