From Jason Turner

[alg.fill]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpmk5wy_yd/{from.md → to.md} +23 -7
tmp/tmpmk5wy_yd/{from.md → to.md} RENAMED
@@ -1,26 +1,42 @@
1
  ### Fill <a id="alg.fill">[[alg.fill]]</a>
2
 
3
  ``` cpp
4
- template<class ForwardIterator, class T>
5
  constexpr void fill(ForwardIterator first, ForwardIterator last, const T& value);
6
- template<class ExecutionPolicy, class ForwardIterator, class T>
 
7
  void fill(ExecutionPolicy&& exec,
8
  ForwardIterator first, ForwardIterator last, const T& value);
9
 
10
- template<class OutputIterator, class Size, class T>
11
  constexpr OutputIterator fill_n(OutputIterator first, Size n, const T& value);
12
- template<class ExecutionPolicy, class ForwardIterator, class Size, class T>
 
13
  ForwardIterator fill_n(ExecutionPolicy&& exec,
14
  ForwardIterator first, Size n, const T& value);
15
 
16
- template<class T, output_iterator<const T&> O, sentinel_for<O> S>
 
17
  constexpr O ranges::fill(O first, S last, const T& value);
18
- template<class T, output_range<const T&> R>
 
19
  constexpr borrowed_iterator_t<R> ranges::fill(R&& r, const T& value);
20
- template<class T, output_iterator<const T&> O>
 
21
  constexpr O ranges::fill_n(O first, iter_difference_t<O> n, const T& value);
 
 
 
 
 
 
 
 
 
 
 
22
  ```
23
 
24
  Let N be max(0, `n`) for the `fill_n` algorithms, and `last - first` for
25
  the `fill` algorithms.
26
 
 
1
  ### Fill <a id="alg.fill">[[alg.fill]]</a>
2
 
3
  ``` cpp
4
+ template<class ForwardIterator, class T = iterator_traits<ForwardIterator>::value_type>
5
  constexpr void fill(ForwardIterator first, ForwardIterator last, const T& value);
6
+ template<class ExecutionPolicy, class ForwardIterator,
7
+ class T = iterator_traits<ForwardIterator>::value_type>
8
  void fill(ExecutionPolicy&& exec,
9
  ForwardIterator first, ForwardIterator last, const T& value);
10
 
11
+ template<class OutputIterator, class Size, class T = iterator_traits<OutputIterator>::value_type>
12
  constexpr OutputIterator fill_n(OutputIterator first, Size n, const T& value);
13
+ template<class ExecutionPolicy, class ForwardIterator, class Size,
14
+ class T = iterator_traits<ForwardIterator>::value_type>
15
  ForwardIterator fill_n(ExecutionPolicy&& exec,
16
  ForwardIterator first, Size n, const T& value);
17
 
18
+ template<class O, sentinel_for<O> S, class T = iter_value_t<O>>
19
+ requires output_iterator<O, const T&>
20
  constexpr O ranges::fill(O first, S last, const T& value);
21
+ template<class R, class T = range_value_t<R>>
22
+ requires output_range<R, const T&>
23
  constexpr borrowed_iterator_t<R> ranges::fill(R&& r, const T& value);
24
+ template<class O, class T = iter_value_t<O>>
25
+ requires output_iterator<O, const T&>
26
  constexpr O ranges::fill_n(O first, iter_difference_t<O> n, const T& value);
27
+
28
+ template<execution-policy Ep, random_access_iterator O, sized_sentinel_for<O> S,
29
+ class T = iter_value_t<O>>
30
+ requires indirectly_writable<O, const T&>
31
+ O ranges::fill(Ep&& exec, O first, S last, const T& value);
32
+ template<execution-policy Ep, sized-random-access-range R, class T = range_value_t<R>>
33
+ requires indirectly_writable<iterator_t<R>, const T&>
34
+ borrowed_iterator_t<R> fill(Ep&& exec, R&& r, const T& value);
35
+ template<execution-policy Ep, random_access_iterator O, class T = iter_value_t<O>>
36
+ requires indirectly_writable<O, const T&>
37
+ O ranges::fill_n(Ep&& exec, O first, iter_difference_t<O> n, const T& value);
38
  ```
39
 
40
  Let N be max(0, `n`) for the `fill_n` algorithms, and `last - first` for
41
  the `fill` algorithms.
42