From Jason Turner

[func.search.bm]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp60zpr0vo/{from.md → to.md} +11 -11
tmp/tmp60zpr0vo/{from.md → to.md} RENAMED
@@ -28,21 +28,21 @@ boyer_moore_searcher(RandomAccessIterator1 pat_first,
28
  RandomAccessIterator1 pat_last,
29
  Hash hf = Hash(),
30
  BinaryPredicate pred = BinaryPredicate());
31
  ```
32
 
33
- *Requires:* The value type of `RandomAccessIterator1` shall meet the
34
- `DefaultConstructible` requirements, the `CopyConstructible`
35
- requirements, and the `CopyAssignable` requirements.
36
 
37
- *Requires:* For any two values `A` and `B` of the type
38
- `iterator_traits<RandomAccessIterator1>::value_type`, if
39
- `pred(A, B) == true`, then `hf(A) == hf(B)` shall be `true`.
 
40
 
41
- *Effects:* Constructs a `boyer_moore_searcher` object, initializing
42
- `pat_first_` with `pat_first`, `pat_last_` with `pat_last`, `hash_` with
43
- `hf`, and `pred_` with `pred`.
44
 
45
  *Throws:* Any exception thrown by the copy constructor of
46
  `RandomAccessIterator1`, or by the default constructor, copy
47
  constructor, or the copy assignment operator of the value type of
48
  `RandomAccessIterator1`, or the copy constructor or `operator()` of
@@ -53,12 +53,12 @@ needed for internal data structures cannot be allocated.
53
  template<class RandomAccessIterator2>
54
  pair<RandomAccessIterator2, RandomAccessIterator2>
55
  operator()(RandomAccessIterator2 first, RandomAccessIterator2 last) const;
56
  ```
57
 
58
- *Requires:* `RandomAccessIterator1` and `RandomAccessIterator2` shall
59
- have the same value type.
60
 
61
  *Effects:* Finds a subsequence of equal values in a sequence.
62
 
63
  *Returns:* A pair of iterators `i` and `j` such that
64
 
 
28
  RandomAccessIterator1 pat_last,
29
  Hash hf = Hash(),
30
  BinaryPredicate pred = BinaryPredicate());
31
  ```
32
 
33
+ *Preconditions:* The value type of `RandomAccessIterator1` meets the
34
+ *Cpp17DefaultConstructible* requirements, the *Cpp17CopyConstructible*
35
+ requirements, and the *Cpp17CopyAssignable* requirements.
36
 
37
+ *Preconditions:* Let `V` be
38
+ `iterator_traits<RandomAccessIterator1>::value_type`. For any two values
39
+ `A` and `B` of type `V`, if `pred(A, B) == true`, then `hf(A) == hf(B)`
40
+ is `true`.
41
 
42
+ *Effects:* Initializes `pat_first_` with `pat_first`, `pat_last_` with
43
+ `pat_last`, `hash_` with `hf`, and `pred_` with `pred`.
 
44
 
45
  *Throws:* Any exception thrown by the copy constructor of
46
  `RandomAccessIterator1`, or by the default constructor, copy
47
  constructor, or the copy assignment operator of the value type of
48
  `RandomAccessIterator1`, or the copy constructor or `operator()` of
 
53
  template<class RandomAccessIterator2>
54
  pair<RandomAccessIterator2, RandomAccessIterator2>
55
  operator()(RandomAccessIterator2 first, RandomAccessIterator2 last) const;
56
  ```
57
 
58
+ *Mandates:* `RandomAccessIterator1` and `RandomAccessIterator2` have the
59
+ same value type.
60
 
61
  *Effects:* Finds a subsequence of equal values in a sequence.
62
 
63
  *Returns:* A pair of iterators `i` and `j` such that
64