Skip to content

Latest commit

 

History

History
91 lines (68 loc) · 1.92 KB

File metadata and controls

91 lines (68 loc) · 1.92 KB

param

  • random[meta header]
  • std[meta namespace]
  • seed_seq[meta class]
  • function template[meta id-type]
  • cpp11[meta cpp]
template <class OutputIterator>
void param(OutputIterator dest) const;

概要

シード列を取得する。

効果

32ビット単位になったシード列を、以下の式でdestにコピーする。

copy(v.begin(), v.end(), dest);
  • copy[link /reference/algorithm/copy.md]

vは、メンバ変数として保持される、vector<result_type>型のシード列オブジェクトである。

戻り値

なし

例外

  • C++14 : OutputIterator要件のオブジェクトdestへの操作が、例外を投げる可能性がある

#include <iostream>
#include <random>
#include <vector>
#include <iterator>
#include <limits>

int main()
{
  std::vector<std::uint64_t> seed_data = {
    1,
    2,
    std::numeric_limits<std::uint64_t>::max()
      // 64ビットの最大値を入れる。seed_seqによって32ビット値に変換される。
  };

  std::seed_seq seq(seed_data.begin(), seed_data.end());

  // シード列を取得
  std::vector<std::uint64_t> result;
  seq.param(std::back_inserter(result));

  for (std::uint64_t x : result) {
    std::cout << x << std::endl;
  }
}
  • std::uint64_t[link /reference/cstdint/uint64_t.md]
  • max()[link /reference/limits/numeric_limits/max.md]
  • seed_data.begin()[link /reference/vector/vector/begin.md]
  • seed_data.end()[link /reference/vector/vector/end.md]

出力

1
2
4294967295

バージョン

言語

  • C++11

処理系

参照