Skip to content

Commit b2fd98f

Browse files
algorithm: upper_bound の要件を C++03 と C++11 に分けて追記
1 parent e02f0c8 commit b2fd98f

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

reference/algorithm/upper_bound.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,17 @@ namespace std {
1616
1717
1818
##要件
19-
`[first,last)` の要素 `e` は `!(value < e)` または `!comp(value, e)` によって[区分化](/reference/algorithm.md#sequence-is-partitioned)されていなければならない。
19+
- C++03 まで
20+
- `first`、`last` は前方向イテレータの要件を満たすこと。
21+
- `comp` は 2 引数の関数オブジェクトで、結果の型は `bool` 型に変換可能であること。また、引数に非 `const` の関数を適用しないこと。
22+
- `T` は `LessThanComparable` であること。
23+
- `operator<` または `comp` は「[狭義の弱順序](../algorithm.md#strict-weak-ordering)」であること。
24+
- 範囲 `[first, last)` は `operator<` または `comp` を基準として昇順に並んでいること。
25+
- C++11 から
26+
- `first`、`last` は前方向イテレータの要件を満たすこと。
27+
- `comp` は 2 引数の関数オブジェクトで、結果の型は `bool` 型に変換可能であること。また、引数に非 `const` の関数を適用しないこと。
28+
- `[first,last)` の要素 `e` は `!(value < e)` または `!comp(value, e)` によって[区分化](/reference/algorithm.md#sequence-is-partitioned)されていること。
29+
つまり、`!(value < e)` または `!comp(value, e)` が `true` となる全ての要素 `e` は、`false` となる全ての要素よりも左側(`first` に近い方)になければならない。
2030
2131
2232
##戻り値

0 commit comments

Comments
 (0)