首页 > TAG信息列表 > boost-hana
c – 通过引用提升hana fold_left lamba电话
我想遍历一个多图(地图图),例如:map< int,map< char,string>>在助推哈纳的帮助下. lamba函数at不能采用引用类型& map(编译错误:非const引用),因此,我无法在multimap中加载或存储元素. template <typename T_Map, typename T_Tuple> auto& traverse(T_Map &map, T_Tuple &keysc – Boost得到第一个匹配的索引
所以我试图使用boost :: hana创建一个库,它需要函数来根据值获取元素的索引: constexpr auto tup = boost::hana::make_tuple(3_c, boost::hana::type_c<bool>); auto index = get_index_of_first_matching(tup, boost::hana::type_c<bool>); // ^^^^^ would be a boost::hana::c – 使用boost :: hana获取函数参数的类型
我知道如何以旧的方式获取函数的参数类型,但我想知道是否有一个很好的新方法与Hana一起做?例如,我想要这样的东西: struct foo { int func(float); }; auto getFuncType(auto t) -> declval<decltype(t)::type>()::func(TYPE?) {} getFunType(type_c<foo>); // should equal tyc – std :: is_arithmetic在泛型lambda内的int类型中返回false:未定义的行为?
考虑: #include <iostream> #include <typeinfo> #include <type_traits> #include <cxxabi.h> #include <boost/hana.hpp> namespace hana = boost::hana; struct Person { BOOST_HANA_DEFINE_STRUCT(Person, (std::string, name),c – hana :: tuple to auto \u0026\u0026 … args
有没有办法使用类似的东西: constexpr auto foo = hana::make_tuple(hana::type_c<Foo1>,hana::type_c<Foo2>); 有类似的东西: template < typename ... Ts > struct Final { constexpr Final(Ts && ... args) {} }; hana::unpack(foo, [] (auto && ..c – 在没有预处理器的情况下从hana元组创建函数签名
有没有办法在预处理器上执行此操作? #include <boost/hana.hpp> #include <boost/preprocessor.hpp> namespace ba = boost::hana; template <typename Arguments, unsigned ArgCount> struct FunctionSigCreatorImpl {}; template <typename Arguments> struct Fc – hana :: second不能推断出类型
我正在尝试使用hana :: second从一对中访问hana :: type … namespace hana = boost::hana; using namespace hana::literals; struct Key {}; struct Foo {}; int main() { auto test = hana::make_tuple( hana::make_pair( hana::type_c<Key>, hanaC:使用boost :: hana将数组元素扩展为函数的参数
我两个月前发现了boost :: hana.看起来非常强大所以我决定看一看. 从文档中我看到了这个例子: std::string s; hana::int_c<10>.times([&]{ s += "x"; }); 这相当于: s += "x"; s += "x"; ... s += "x"; // 10 times 我想知道是否有可能(如果是的话)写smthg: std::string s;