C++ 将模板化constexpr传递给推断自动对象类型的函数
我正在制作一个实体组件系统库,利用模板元编程在编译时评估签名位集数据,并允许精确的位集大小,而无需使用C++ 将模板化constexpr传递给推断自动对象类型的函数,c++,templates,lambda,template-meta-programming,boost-hana,C++,Templates,Lambda,Template Meta Programming,Boost Hana,我正在制作一个实体组件系统库,利用模板元编程在编译时评估签名位集数据,并允许精确的位集大小,而无需使用\define MAX\u COMPONENTS some number。 我使用的是Boost Hana,其功能如下所示: 模板 静态constexpr位集signatureBitset=位集( hana::fold(签名列表[hana::integral_c],0, [](自动左、自动右){ 返回l | 1简单的解决方案,如Jack C所说。在注释中,使用lambda中的decltype(r
\define MAX\u COMPONENTS some number
。
我使用的是Boost Hana,其功能如下所示:
模板
静态constexpr位集signatureBitset=位集(
hana::fold(签名列表[hana::integral_c],0,
[](自动左、自动右){
返回l | 1简单的解决方案,如Jack C所说。在注释中,使用lambda中的decltype(r)
从对象获取类型,而不是通过模板函数推断类型
这意味着propertyCheck
可以工作。是否有某种原因decltype(r)
在lambda中不起作用?@JackC.Type被包装在hana::basic_Type中,因此decltype(r)是hana::basic_Type。在对它进行一点解释之后,typename decltype(r)::Type
是实际的解决方案。