Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 1.5 KB

make_index_sequence.md

File metadata and controls

69 lines (51 loc) · 1.5 KB

make_index_sequence

  • utility[meta header]
  • std[meta namespace]
  • type-alias[meta id-type]
  • cpp14[meta cpp]
namespace std {
  template <std::size_t N>
  using make_index_sequence = make_integer_sequence<std::size_t, N>;
}
  • make_integer_sequence[link make_integer_sequence.md]

概要

make_index_sequenceは、要素数を指定して、0から始まるsize_t型整数シーケンスを生成する、make_integer_sequenceの別名である。

テンプレートパラメータは、以下を意味する:

  • N : 要素数

#include <iostream>
#include <utility>

void g(std::size_t a, std::size_t b, std::size_t c)
{
  std::cout << a << ", " << b << ", " << c << std::endl;
}

template <class T, T... Seq>
void f(std::integer_sequence<T, Seq...>)
{
  // 定数のシーケンス{0, 1, 2}を取り出して、関数g()の引数として転送
  g(Seq...);
}

int main()
{
  f(std::make_index_sequence<3>());
}
  • std::make_index_sequence[color ff0000]
  • std::integer_sequence[link integer_sequence.md]

出力

0, 1, 2

バージョン

言語

  • C++14

処理系

参照