我想使用c ++ 14可变参数模板构建编译时查找表.目前我在那里:
static const unsigned kCount = 5;
template<unsigned Index>
constexpr auto getRow(void)
{
return std::array<unsigned, 2> { Index, Index * Index };
}
template<unsigned... Indices>
constexpr auto generateTable(std::index_sequence<Indices...>)
{
return std::array<std::array<unsigned, 2>, sizeof...(Indices)>
{
// This is were I'm stuck. How to build a std::array using Indices as template parameter in getRow()?
};
}
constexpr auto generate(void)
{
return generateTable(std::make_index_sequence<kCount>{});
}
Run Code Online (Sandbox Code Playgroud)
我希望桌子在一个std::array.每行包含std::array2列.我被困在generateTable()我需要以某种方式将我的指数传递getRow()给模板参数的地方.
这是可以实现的使用std::integer_sequence和模板参数包扩展还是我需要自己实现递归?
(getRow()简化 - 值类型实际上来自模板类型. …