c++ - 可变参数模板整数序列的偏移量

标签 c++ templates c++11 c++14

好的,我会尽量保持简短。我知道您可以使用 std::index_sequence_for 为可变参数模板生成整数序列。现在假设我希望该索引序列以特定偏移量开始,但仍与可变参数模板参数列表的长度相同。那可能吗?我在 cppreference 上没有找到任何此类内容.

最佳答案

您可以轻松编写自己的:

template <std::size_t Offset, std::size_t ... Is>
std::index_sequence<(Offset + Is)...> add_offset(std::index_sequence<Is...>)
{
    return {};
}

template <std::size_t Offset, std::size_t N>
auto make_index_sequence_with_offset()
{
    return add_offset<Offset>(std::make_index_sequence<N>{});
}

Demo

关于c++ - 可变参数模板整数序列的偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625079/

相关文章:

c++ - 这是迭代 2 个不同大小的单链表和一个静态数组的最佳方法吗?

c++ - 非重叠连续子数组的最大长度和

c# - 如何正确地做模板类的模板?

c++ - 如何声明实例化 `emplace()` 的 `std::set` 的返回?

c++ - Boost::typeof 编译器问题:修改 typeof,使用 decltype 代替

C++函数接受函数指针和非静态成员函数作为参数

c++ - 未知的模板函数返回类型,使用 decltype 时代码重复

c++ - 使用文件锁的进程间的条件变量

c++ - 模板函数依赖于非类型参数

python - 使用 python 胶囊在 cython 和 pybind11 之间传输 c++ 对象