From Jason Turner

[rand.util.seedseq]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpm20sw9qu/{from.md → to.md} +7 -12
tmp/tmpm20sw9qu/{from.md → to.md} RENAMED
@@ -1,13 +1,12 @@
1
  #### Class `seed_seq` <a id="rand.util.seedseq">[[rand.util.seedseq]]</a>
2
 
3
  ``` cpp
4
- class seed_seq
5
- {
6
  public:
7
  // types
8
- typedef uint_least32_t result_type;
9
 
10
  // constructors
11
  seed_seq();
12
  template<class T>
13
  seed_seq(initializer_list<T> il);
@@ -17,11 +16,11 @@ public:
17
  // generating functions
18
  template<class RandomAccessIterator>
19
  void generate(RandomAccessIterator begin, RandomAccessIterator end);
20
 
21
  // property functions
22
- size_t size() const;
23
  template<class OutputIterator>
24
  void param(OutputIterator dest) const;
25
 
26
  // no copy functions
27
  seed_seq(const seed_seq& ) = delete;
@@ -71,12 +70,11 @@ for( InputIterator s = begin; s != end; ++s)
71
  template<class RandomAccessIterator>
72
  void generate(RandomAccessIterator begin, RandomAccessIterator end);
73
  ```
74
 
75
  *Requires:* `RandomAccessIterator` shall meet the requirements of a
76
- mutable random access iterator
77
- (Table  [[tab:iterator.random.access.requirements]]) type. Moreover,
78
  `iterator_traits<RandomAccessIterator>::value_type` shall denote an
79
  unsigned integer type capable of accommodating 32-bit quantities.
80
 
81
  *Effects:* Does nothing if `begin == end`. Otherwise, with
82
  s = `v.size()` and n = `end` - `begin`, fills the supplied range
@@ -87,29 +85,26 @@ $x \, \xor \, (x \, \rightshift \, 27)$:
87
 
88
  *Throws:* What and when `RandomAccessIterator` operations of `begin` and
89
  `end` throw.
90
 
91
  ``` cpp
92
- size_t size() const;
93
  ```
94
 
95
  *Returns:* The number of 32-bit units that would be returned by a call
96
  to `param()`.
97
 
98
- *Throws:* Nothing.
99
-
100
  *Complexity:* Constant time.
101
 
102
  ``` cpp
103
  template<class OutputIterator>
104
  void param(OutputIterator dest) const;
105
  ```
106
 
107
  *Requires:* `OutputIterator` shall satisfy the requirements of an output
108
- iterator (Table  [[tab:iterator.output.requirements]]) type. Moreover,
109
- the expression `*dest = rt` shall be valid for a value `rt` of type
110
- `result_type`.
111
 
112
  *Effects:* Copies the sequence of prepared 32-bit units to the given
113
  destination, as if by executing the following statement:
114
 
115
  ``` cpp
 
1
  #### Class `seed_seq` <a id="rand.util.seedseq">[[rand.util.seedseq]]</a>
2
 
3
  ``` cpp
4
+ class seed_seq {
 
5
  public:
6
  // types
7
+ using result_type = uint_least32_t;
8
 
9
  // constructors
10
  seed_seq();
11
  template<class T>
12
  seed_seq(initializer_list<T> il);
 
16
  // generating functions
17
  template<class RandomAccessIterator>
18
  void generate(RandomAccessIterator begin, RandomAccessIterator end);
19
 
20
  // property functions
21
+ size_t size() const noexcept;
22
  template<class OutputIterator>
23
  void param(OutputIterator dest) const;
24
 
25
  // no copy functions
26
  seed_seq(const seed_seq& ) = delete;
 
70
  template<class RandomAccessIterator>
71
  void generate(RandomAccessIterator begin, RandomAccessIterator end);
72
  ```
73
 
74
  *Requires:* `RandomAccessIterator` shall meet the requirements of a
75
+ mutable random access iterator ([[random.access.iterators]]). Moreover,
 
76
  `iterator_traits<RandomAccessIterator>::value_type` shall denote an
77
  unsigned integer type capable of accommodating 32-bit quantities.
78
 
79
  *Effects:* Does nothing if `begin == end`. Otherwise, with
80
  s = `v.size()` and n = `end` - `begin`, fills the supplied range
 
85
 
86
  *Throws:* What and when `RandomAccessIterator` operations of `begin` and
87
  `end` throw.
88
 
89
  ``` cpp
90
+ size_t size() const noexcept;
91
  ```
92
 
93
  *Returns:* The number of 32-bit units that would be returned by a call
94
  to `param()`.
95
 
 
 
96
  *Complexity:* Constant time.
97
 
98
  ``` cpp
99
  template<class OutputIterator>
100
  void param(OutputIterator dest) const;
101
  ```
102
 
103
  *Requires:* `OutputIterator` shall satisfy the requirements of an output
104
+ iterator ([[output.iterators]]). Moreover, the expression `*dest = rt`
105
+ shall be valid for a value `rt` of type `result_type`.
 
106
 
107
  *Effects:* Copies the sequence of prepared 32-bit units to the given
108
  destination, as if by executing the following statement:
109
 
110
  ``` cpp