ホーム | ブログ | C++辞典 | サイトマップ | FAQ | 掲示板 | リンク集
メイン・メニュー
インデックス
プログラミング
その他
<algorithm>ヘッダ のバックアップ差分(No.8)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
*<algorithm>ヘッダ [#a673993d]
 
 **ヘッダ内容 [#q90234fb]
 namespace std {~
 
 &nbsp; template<class InputIterator, class Funtion>~
 &nbsp;&nbsp;&nbsp;&nbsp;Function [[''for_each''>#for_each]](InputIterator '''first''', InputIterator '''last''', Function '''f''');~
 
 &nbsp; template<class InputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find''>#find]](InputIterator '''first''', InputIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class InputIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find_if''>#find_if]](InputIterator '''first''', InputIterator '''last''', Predicate '''pred''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_end''>#find_end]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], ckass BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_end''>#find_end]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_first_of''>#find_first_of]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], BinaryPredicate pred>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''find_first_of''>#find_first_of]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~
 
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''adjacent_find''>#adjacent_find]](ForwardIterator '''first''', ForwardIterator '''last''');~
 
 &nbsp; template<class ForwardIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''adjacent_find''>#adjacent_find]](ForwardIterator '''first''', ForwardIterator '''last''',~ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~
 
 &nbsp; template<class InputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;typename iterator_traits<InputIterator>::difference_type~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''count''>#count]](InputIterator '''first''', InputIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class InputIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;typename iterator_traits<InputIterator>::difference_type~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''count_if''>#count_if]](InputIterator '''first''', InputIterator '''last''', Predicate '''pred''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<InputIterator1, InputIterator2>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''mismatch''>#mismatch]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<InputIterator1, InputIterator2>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''mismatch''>#mismatch]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], Predicate pred>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~
 
 &nbsp; template<class ForwardIterator, class Size, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class Size, class T, BinaryPredicate pred>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''', BinaryPredicate '''pred''');~
 
 &nbsp; template<class InputIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''copy''>#copy]](InputIterator '''first''', InputIterator '''last''', OutputIterator '''result''');~
 
 &nbsp; template<class [[BidirectionalIterator1>BidirectionalIterator]], class [[BidirectionalIterator2>BidirectionalIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator2 [[''copy_backward''>#copy_backward]]~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''result''');~
 
 &nbsp; template<class T> void [[''swap''>#swap]](T& a, T& b);~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 [[''swap_ranges''>#swap_ranges]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''iter_swap''>#iter_swap]](ForwardIterator1 '''a''', ForwardIterator1 '''b''');~
 
 &nbsp; template<class InputIterator, class OutputIterator, class UnaryOperator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''transform''>#transform]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', UnaryOperator '''op''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]],~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class OutputIterator, class BinaryOperator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''transform''>#transform]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryOperator '''binary_op''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''replace''>#replace]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''old_value''', const T& '''new_value''');~
 
 &nbsp; template<class ForwardIterator, class Predicate, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''replace_if''>#replace_if]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''', const T& '''new_value''');~
 
 &nbsp; template<class InputIterator, class OutputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''replace_copy''>#replace_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''old_value''', const T& '''new_value''');~
 
 &nbsp; template<class InputIterator, class OutputIterator, class Predicate, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''replace_copy_if''>#replace_copy_if]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''', const T& '''new_value''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''fill''>#fill]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class Size, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''fill_n''>#fill_n]](ForwardIterator '''first''', Size '''n''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class Generator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''generate''>#generate]](ForwardIterator '''first''', ForwardIterator '''last''', Generator '''gen''');~
 
 &nbsp; template<class ForwardIterator, class Size, class Generator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''generate_n''>#generate_n]](ForwardIterator '''first''', Size '''n''', Generator '''gen''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''remove''>#remove]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''remove_if''>#remove_if]](ForwardIterator '''first''', ForwardIterator '''last''', Predicate '''pred''');~
 
 &nbsp; template<class InputIterator, class OutputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''remove_copy''>#remove_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', const T& '''value''');~
 
 &nbsp; template<class InputIterator, class OutputIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''remove_copy_if''>#remove_copy_if]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Predicate '''pred''');~
 
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''unique''>#unique]](ForwardIterator '''first''', ForwardIterator '''last''');
 
 &nbsp; template<class ForwardIterator, class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''unique''>#unique]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');
 
 &nbsp; template<class InputIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''unique_copy''>#unique_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');
 
 &nbsp; template<class InputIterator, class OutputIterator, class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''unique_copy''>#unique_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', BinaryPredicate '''pred''');
 
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''reverse''>#reverse]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');
 
 &nbsp; template<class BidirectionalIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''reverse_copy''>#reverse_copy]](BidirectionalIterator '''first''', BidirectionalIterator '''last'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');
 
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''rotate''>#rotate]](ForwardIterator '''first''', ForwardIterator '''middle''', ForwardIterator '''last''');
 
 &nbsp; template<class ForwardIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''rotate_copy''>#rotate_copy]](ForwardIterator '''first''', ForwardIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator '''last''', OutputIterator '''result''');
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''random_shuffle''>#random_shuffle]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class RandomNumberGenerator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''random_shuffle''>#random_shuffle]](RandomAccessIterator '''first''', RandomAccessIterator '''last'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomNumberGenerator& rand);
 
 &nbsp; template<class BidirectionalIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator [[''partition''>#partition]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate pred);~
 
 &nbsp; template<class BidirectionalIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator [[''stable_partition''>#stable_partition]](BidirectionalIterator '''first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''', Predicate '''pred''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort''>#sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort''>#sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''', Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''stable_sort''>#stable_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''stable_sort''>#stable_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''partial_sort''>#partial_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''partial_sort''>#partial_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''', Compare '''comp''');
 
 &nbsp; template<class InputIterator, class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''partial_sort_copy''>#partial_sort_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_last''');~
 
 &nbsp; template<class InputIterator, class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''partial_sort_copy''>#partial_sort_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''nth_element''>#nth_element]](RandomAccessIterator '''first''', RandomAccessIterator '''nth''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''nth_element''>#nth_element]](RandomAccessIterator '''first''', RandomAccessIterator '''nth''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''', Compare '''comp''');
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''lower_bound''>#lower_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''lower_bound''>#lower_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''', Compare '''comp''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''upper_bound''>#upper_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''upper_bound''>#upper_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''', Compare '''comp''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<ForwardIterator, ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''equal_range''>#equal_range]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<ForwardIterator, ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''equal_range''>#equal_range]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''binary_search''>#binary_search]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''binary_search''>#binary_search]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''merge''>#merge]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''merge''>#merge]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''inplace_merge''>#inplace_merge]](BidirectionalIterator '''first''', BidirectionalIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''');
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''inplace_merge''>#inplace_merge]](BidirectionalIterator '''first''', BidirectionalIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''', Compare '''comp''');
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''includes''>#includes]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''includes''>#includes]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_union''>#set_union]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_union''>#set_union]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_intersection''>#set_intersection]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_intersection''>#set_intersection]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_difference''>#set_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_difference''>#set_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_symmetric_difference''>#set_symmetric_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_symmetric_difference''>#set_symmetric_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''push_heap''>#push_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''push_heap''>#push_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''pop_heap''>#pop_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''pop_heap''>#pop_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''make_heap''>#make_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''make_heap''>#make_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort_heap''>#sort_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort_heap''>#sort_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class T> const T& [[min>#min]](const T& '''a''', const T& '''b''');~
 
 &nbsp; template<class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;const T& [[''min''>#min]](const T& '''a''', const T& '''b''', Compare '''comp''');~
 
 &nbsp; template<class T> const T& [[max>#max]](const T& '''a''', const T& '''b''');~
 
 &nbsp; template<class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;const T& [[''max''>#max]](const T& '''a''', const T& '''b''', Compare '''comp''');~
 
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''min_element''>#min_element]](ForwardIterator '''first''', ForwardIterator '''last''');~
 
 &nbsp; template<class ForwardIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''min_element''>#min_element]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comapre '''comp''');~
 
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''max_element''>#max_element]](ForwardIterator '''first''', ForwardIterator '''last''');~
 
 &nbsp; template<class ForwardIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''max_element''>#max_element]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comapre '''comp''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''lexicographical_compare''>#lexicographical_compare]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''lexicographical_compare''>#lexicographical_compare]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''next_permutation''>#next_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');~
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''next_permutation''>#next_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''prev_permutation''>#prev_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');~
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''prev_permutation''>#prev_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 }
 
 **関数 [#l7232439]
 
 &aname(for_each);
 ***for_each [#u090a93a]
 各要素に対する処理
 
 ''形式''~
 &nbsp; template<class InputIterator, class Funtion>~
 &nbsp;&nbsp;&nbsp;&nbsp;Function [[''for_each''>#for_each]](InputIterator '''first''', InputIterator '''last''', Function '''f''');~
 
 ''[[引数]]''~
   '''first''':  先頭要素を指す InputIterator~
   '''last''':  終端要素の次を指す InputIterator~
   '''f''':  各要素に適用する処理~
 
 ''[[返却値]]''~
  '''f''' を返す。
 
 ''解説''~
  区間 ['''first''', '''last'''-1) の各[[反復子]] '''iter''' に対して、'''f'''(*'''iter''') を実行する。'''f''' が何らかの[[返却値]]を返す場合には、その値は単に無視される。
 
 ''計算量''~
  '''f''' がちょうど '''last''' - '''first''' 回適用される。
 
 
 &aname(find);
 ***find [#rc9a4e7b]
 [[値]]の探索
 
 ''形式''~
 &nbsp; template<class InputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find''>#find]](InputIterator '''first''', InputIterator '''last''', const T& '''value''');~
 
 ''[[引数]]''~
   '''first''':  先頭要素を指す InputIterator~
   '''last''':  終端要素の次を指す InputIterator~
   '''value''':  探索対象の[[値]]。型 T は EqualityComparable~
 
 ''[[返却値]]''~
  探査に成功すれば検出位置を指す[[反復子]]を、失敗した場合は '''last''' を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') の[[反復子]] '''iter''' であり、かつ *'''iter''' == '''value''' となる最初の要素を探索する。
 
 ''計算量''~
  *'''iter''' == '''value''' の評価を、多くとも '''last''' - '''first''' 回実行する。
 
 ''参照''~
 → [[find_if>#find_if]]
 
 &aname(find_if);
 ***find_if [#i228852d]
 条件に一致する要素の探索
 
 ''形式''~
 &nbsp; template<class InputIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;InputIterator [[''find_if''>#find_if]](InputIterator '''first''', InputIterator '''last''', Predicate '''pred''');~
 
 ''[[引数]]''~
   '''first''':  先頭要素を指す InputIterator~
   '''last''':  終端要素の次を指す InputIterator~
   '''pred''':  探索条件となる[[述語]]~
 
 ''[[返却値]]''~
  探査に成功すれば検出位置を指す[[反復子]]を、失敗した場合は '''last''' を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') の[[反復子]] '''iter''' であり、かつ '''pred'''('''iter''') != false となる最初の要素を探索する。
 
 ''計算量''~
  [[述語]]の適応を、多くとも '''last''' - '''first''' 回実行する。
 
 ''参照''~
 → [[find>#find]]
 
 
 
 
 
 
 
 
 
 &aname(find_end);
 ***find_end [#kb9c8797]
 
 &aname(find_first_of);
 ***find_first_of [#rb4923d6]
 
 &aname(adjacent_find);
 ***adjacent_find [#t89f9836]
 
 &aname(count);
 ***count [#w6ea6c93]
 
 &aname(count_if);
 ***count_if [#ea7c8a8d]
 
 &aname(mismatch);
 ***mismatch [#k04f1b1d]
 
 
 
 
 
 
 
 
 
 
 
 
 &aname(equal);
 ***equal [#x81cf4bd]
 列の等価判定
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], Predicate pred>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''equal''>#equal]](InputIterator1 '''first1''', InputIterator1 '''last1''', InputIterator2 '''first2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''');~
 
 ''[[引数]]''~
   '''first1''':  比較対象となる一方の列の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる一方の列の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる他方の列の先頭要素を指す InputIterator~
   '''pred''':  [[述語]]
 
 ''[[返却値]]''~
  比較対象の 2 つの列が等価の場合は true を、そうでなければ false を返す。
 
 ''解説''~
  区間 ['''first1''', '''last1''') で定義される列と区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) で定義される列の各要素を比較する。具体的には、区間 ['''first1''', '''last1''') にある[[反復子]] '''iter''' に対して、最初の形式の場合は *'''iter''' == *('''first2''' + ('''iter''' - '''first1''')) が、2 番目の形式の場合は '''pred'''(*'''iter''', *('''first2''' + ('''iter''' - '''first1'''))) が成立する場合に 2 つの列が等価であると判定される。
 
 ''計算量''~
  多くとも '''last1''' - '''first1''' 回比較または述語の適用が行われる。
 
 &aname(search);
 ***search [#t07772e4]
 部分列の探索
 
 ''形式''~
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''');~
 
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]], class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator1 [[''search''>#search]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''', ForwardIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');~
 
 ''[[引数]]''~
   '''first1''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last1''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''first2''':  探索する部分列の先頭要素を指す ForwardIterator~
   '''last2''':  探索する部分列の終端要素の次を指す ForwardIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  探索に成功した場合、見つけた部分列の先頭要素を指す[[反復子]]を返す。失敗した場合には '''last1''' を返す。
 
 ''解説''~
  区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) で定義される列から区間 ['''first2''', '''last2''') で定義される部分列を探索する。具体的には、区間 ['''first1''', '''last1''' - ('''last2''' - '''first2''')) にある[[反復子]] '''iter''' および '''n''' < '''last2''' - '''first2''' である負でない '''n''' に対して、最初の形式では *('''iter''' + '''n''') == *('''first2''' + '''n''') が、2 番目の形式では '''pred'''(*('''iter''' + '''n'''), *('''first2''' + '''n''')) が成立する最初の '''iter''' を見つけ出す。
 
 ''計算量''~
  多くとも ('''last1''' - '''first1''')×('''last2''' - '''first2''') 回比較または述語が適用が行われる。
 
 ''参照''~
 → [[serach_n>#search_n]]
 
 &aname(search_n);
 ***search_n [#q4ac7b3d]
 n 個の連続値からなる部分列の探索
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Size, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class Size, class T, BinaryPredicate pred>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''search_n''>#search_n]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size '''count''', const T& '''value''', BinaryPredicate '''pred''');~
 
 ''[[引数]]''~
   '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''count''':  探索する部分列の要素数~
   '''value''':  探索する部分列の要素の値~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  探索に成功した場合、見つけた部分列の先頭要素を指す[[反復子]]を返す。失敗した場合には '''last1''' を返す。
 
 ''解説''~
  区間 ['''first''', '''last''' - '''count''') で定義される列から '''count''' 個の '''value''' からなる部分列を探索する。具体的には、区間 ['''first''', '''last''' - '''count''') にある[[反復子]] '''iter''' および '''n''' < '''count''' である負でない '''n''' に対して、最初の形式では *('''iter''' + '''n''') == '''value'''が、2 番目の形式では '''pred'''(*('''iter''' + '''n'''), '''value''') が成立する最初の '''iter''' を見つけ出す。
 
 ''計算量''~
  多くとも ('''last''' - '''first''')×'''count''' 回比較または述語が適用が行われる。
 
 ''参照''~
 → [[serach>#search]]
 
 &aname(copy);
 ***copy [#x5c0f3f1]
 列のコピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''copy''>#copy]](InputIterator '''first''', InputIterator '''last''', OutputIterator '''result''');~
 
 ''[[引数]]''~
   '''first''':  コピー元である列の先頭要素を指す InputIterator~
   '''last''':  コピー元である列の終端要素の次を指す InputIterator~
   '''result''':  コピー先である列の先頭要素を指す OutputIterator~
 
 ''[[返却値]]''~
  コピー先である列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') から区間 ['''result''', '''result''' + ('''last''' - '''first''')) へ、'''first''' から順に各要素をコピーする。'''result''' は区間  ['''first''', '''last''') にあってはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回の代入を行う。
 
 ''参照''~
 → [[copy_backward>#copy_backward]]
 
 &aname(copy_backward);
 ***copy_backward [#k70001bb]
 列の逆方向コピー
 
 ''形式''~
 &nbsp; template<class [[BidirectionalIterator1>BidirectionalIterator]], class [[BidirectionalIterator2>BidirectionalIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator2 [[''copy_backward''>#copy_backward]]~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''result''');~
 
 ''[[引数]]''~
   '''first''':  コピー元である列の先頭要素を指す BidirectionalIterator~
   '''last''':  コピー元である列の終端要素の次を指す BidirectionalIterator~
   '''result''':  コピー先である列の終端要素の次を指す BidirectionalIterator~
 
 ''[[返却値]]''~
  コピー先である列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') から区間 ['''result''' - ('''last''' - '''first'''), '''result''') へ、'''last''' - 1 から順に '''first''' まで各要素をコピーする。'''result''' は区間  ['''first''', '''last''') にあってはならない。
 
 ''参考''~
 '''last''' が区間 ['''result''' - ('''last''' - '''first'''), '''result''') にある場合には、[[copy 関数>#copy]]より copy_backward 関数を使う方がよい。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回の代入を行う。
 
 ''参照''~
 → [[copy_backward>#copy_backward]]
 
 &aname(swap);
 ***swap [#u4a333ef]
 値の交換
 
 ''形式''~
 &nbsp; template<class T> void [[''swap''>#swap]](T& a, T& b);~
 
 ''[[引数]]''~
   '''a''':  交換対象のオブジェクトへの参照~
   '''b''':  交換対象のオブジェクトへの参照~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  2 つの[[実引数]] '''a''' および '''b''' に格納されている値を交換する。
 
 ''参照''~
 → [[swap_ranges>#swap_ranges]], [[iter_swap>#iter_swap]]
 
 &aname(swap_ranges);
 ***swap_ranges [#i5a65398]
 列の各要素の値交換
 
 ''形式''~
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 [[''swap_ranges''>#swap_ranges]](ForwardIterator1 '''first1''', ForwardIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator2 '''first2''');~
 
 ''[[引数]]''~
   '''first1''':  対象となる一方の列の先頭要素を指す ForwardIterator~
   '''last1''':  対象となる一方の列の終端要素の次を指す ForwardIterator~
   '''first2''':  対象となる他方の列の先頭要素を指す ForwardIterator~
 
 ''[[返却値]]''~
  ('''first2''' + ('''last1''' - '''first1''')) を返す。
 
 ''解説''~
  区間 ['''first1''', '''last1''') で定義される列および区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) で定義される列のそれぞれの要素の値を交換する。具体的には、'''n''' < ('''last1''' - '''first''') である負でない整数値 '''n''' に対して、[[swap>#swap]](*('''first1''' + '''n'''), *('''first2''' + '''n''')) を実行する。交換対象となる 2 つのの区間は重なっていてはならない。
 
 ''計算量''~
  ちょうど '''last1''' - '''first1''' 回の交換が行われる。
 
 ''参照''~
 → [[swap>#swap]], [[iter_swap>#iter_swap]]
 
 &aname(iter_swap);
 ***iter_swap [#c4ca2591]
 [[反復子]]が指す値の交換
 
 ''形式''~
 &nbsp; template<class [[ForwardIterator1>ForwardIterator]], class [[ForwardIterator2>ForwardIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''iter_swap''>#iter_swap]](ForwardIterator1 '''a''', ForwardIterator1 '''b''');~
 
 ''[[引数]]''~
   '''a''':  交換対象の[[反復子]]
   '''b''':  交換対象の[[反復子]]
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  2 つの[[反復子]] '''a''' および '''b''' が指す値を交換する。
 
 ''参照''~
 → [[swap>#swap]]
 
 &aname(transform);
 ***transform [#b1b9f007]
 各要素の変換
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator, class UnaryOperator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''transform''>#transform]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', UnaryOperator '''op''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]],~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class OutputIterator, class BinaryOperator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''transform''>#transform]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryOperator '''binary_op''');~
 
 ''[[引数]]''~
   '''first''':  対象列の先頭要素を指す InputIterator~
   '''last''':  対象列の終端要素の次を指す InputIterator~
   '''first1''':  二項変換で用いる第 1 項用の列の先頭要素を指す InputIterator~
   '''last1''':  二項変換で用いる第 1 項用の列の終端要素の次を指す InputIterator~
   '''first2''':  二項変換で用いる第 2 項用の列の先頭要素を指す InputIterator~
   '''result''':  出力先の列の先頭要素を指す OutputIterator~
   '''op''':  単項変換用の[[述語]]~
   '''binary_op''':  二項変換用の[[述語]]~
 
 ''[[返却値]]''~
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  最初の形式では、区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''op'''(*'''iter''') を適用した結果を、'''result''' から始まる列に出力する。'''result''' は '''first''' と同じであっても構わない。~
  2 番目の形式では、区間 ['''first1''', '''last1''') にある[[反復子]] '''iter1''' および区間 ['''first2''', '''first2''' + ('''last1''' - '''first1''')) にある反復子 '''iter2''' に対して、'''binary_op'''(*'''iter1''', *'''iter2''') を適用した結果を、'''result''' から始まる列に出力する。'''result''' は '''first1''' または '''first2''' と同じであっても構わない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' または '''last1''' - '''first1''' 回述語が適用される。
 
 &aname(replace);
 ***replace [#t645b466]
 要素の置換
 
 ''形式''
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''replace''>#replace]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''old_value''', const T& '''new_value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''old_value''':  置換対象の値。型 T は Assignable かつ EqualityComparable~
   '''new_value''':  置換後の値。型 T は Assignable かつ EqualityComparable~
 
 '''[[返却値]]]'''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、*'''iter''' == '''old_value''' が成立する各要素に対して、'''new_value''' を代入する。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回比較が行われる。
 
 ''参照''~
 → [[replace_if>#replace_if]], [[replace_copy>#replace_copy]], [[replace_copy_if>#replace_copy_if]]
 
 &aname(replace_if);
 ***replace_if [#i8c14ac7]
 条件が成立する要素の置換
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Predicate, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''replace_if''>#replace_if]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''', const T& '''new_value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''pred''':  [[述語]]~
   '''new_value''':  置換後の値。型 T は Assignable~
 
 '''[[返却値]]]'''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''pred'''(*'''iter''', '''old_value''') != false が成立する各要素に対して、'''new_value''' を代入する。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回述語が適用される。
 
 &aname(replace_copy);
 ***replace_copy [#e001d375]
 要素の置換コピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''replace_copy''>#replace_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''old_value''', const T& '''new_value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先となる列の先頭要素を指す OutputIterator~
   '''old_value''':  置換対象の値。型 T は Assignable かつ EqualityComparable~
   '''new_value''':  置換後の値。型 T は Assignable かつ EqualityComparable~
 
 '''[[返却値]]]'''~
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、*'''iter''' == '''old_value''' が成立する場合は '''new_value''' を、それ以外は *'''iter''' を '''result''' から始まる列にコピーする。元の列と出力先の列は重なっていてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回比較が行われる。
 
 &aname(replace_copy_if);
 ***replace_copy_if [#g1b70e5d]
 条件が成立する要素の置換コピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator, class Predicate, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''replace_copy_if''>#replace_copy_if]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate '''pred''', const T& '''new_value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先となる列の先頭要素を指す OutputIterator~
   '''pred''':  [[述語]]~
   '''new_value''':  置換後の値。型 T は Assignable~
 
 '''[[返却値]]]'''~
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''pred'''(*'''iter''', '''old_value''') != false が成立する場合は '''new_value''' を、それ以外は *'''iter''' を '''result''' から始まる列にコピーする。元の列と出力先の列は重なっていてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回述語が適用される。
 
 &aname(fill);
 ***fill [#f6345347]
 列を指定値で埋める
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''fill''>#fill]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  列を埋める値~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') にあるすべての[[反復子]]を通して、各要素に '''value''' を[[代入]]する。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回代入が行われる。
 
 &aname(fill_n);
 ***fill_n [#of1ae6e0]
 n 要素の列を指定値で埋める
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Size, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''fill_n''>#fill_n]](ForwardIterator '''first''', Size '''n''', const T& '''value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''n''':  対象となる列の要素数~
   '''value''':  列を埋める値~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''first''' + '''n''') にあるすべての[[反復子]]を通して、各要素に '''value''' を[[代入]]する。
 
 ''計算量''~
  ちょうど '''n''' 回代入が行われる。
 
 &aname(generate);
 ***generate [#n628daea]
 列の生成
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Generator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''generate''>#generate]](ForwardIterator '''first''', ForwardIterator '''last''', Generator '''gen''');~
 
 ''[[引数]]''~
   '''first''':  生成対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  生成対象となる列の終端要素の次を指す ForwardIterator~
   '''gen''':  生成関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') にあるすべての[[反復子]]を通して、'''gen''' の[[返却値]]を[[代入]]する。'''gen''' は[[実引数]]を取らない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回 '''gen''' が呼び出される。
 
 ''参照''~
 → [[generate_n>#generate_n]]
 
 &aname(generate_n);
 ***generate_n [#rf4b0417]
 n 要素の列を生成
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Size, class Generator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''generate_n''>#generate_n]](ForwardIterator '''first''', Size '''n''', Generator '''gen''');~
 
 ''[[引数]]''~
   '''first''':  生成対象となる列の先頭要素を指す ForwardIterator~
   '''n''':  生成対象となる列の要素数~
   '''gen''':  生成関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''first''' + '''n''') にあるすべての[[反復子]]を通して、'''gen''' の[[返却値]]を[[代入]]する。'''gen''' は[[実引数]]を取らない。また、型 Size は[[汎整数型]]に変換できなければならない。
 
 ''計算量''~
  ちょうど '''n''' 回 '''gen''' が呼び出される。
 
 ''参照''~
 → [[generate>#generate]]
 
 &aname(remove);
 ***remove [#ue949fc7]
 要素の削除
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''remove''>#remove]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  削除対象。型 T は EualityComparable~
 
 ''[[返却値]]''
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、*'''iter''' == '''value''' が成立する要素を削除する。削除されない要素の相対順序は、元の相対順序が保存される。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回比較を行う。
 
 ''参照''~
 → [[remove_if>#remove_if]], [[remove_copy>#remove_copy]], [[remove_copy_if>#remove_copy_if]]
 
 &aname(remove_if);
 ***remove_if [#b6fdcc36]
 条件が成立する要素の削除
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''remove_if''>#remove_if]](ForwardIterator '''first''', ForwardIterator '''last''', Predicate '''pred''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''pred'''(*'''iter''', '''value''') != false が成立する要素を削除する。削除されない要素の相対順序は、元の相対順序が保存される。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回述語を適用する。
 
 ''参照''~
 → [[remove>#remove]], [[remove_copy>#remove_copy]], [[remove_copy_if>#remove_copy_if]]
 
 &aname(remove_copy);
 ***remove_copy [#i4b19309]
 指定要素を除くコピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''remove_copy''>#remove_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', const T& '''value''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先の先頭要素を指す OutputIterator~
   '''value''':  削除対象。型 T は EualityComparable~
 
 ''[[返却値]]''
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、*'''iter''' == '''value''' が成立する要素を除き、'''result''' から始まる列にコピーする。削除されない要素の相対順序は、元の相対順序が保存される。元の列と出力先の列は重複していてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回比較を行う。
 
 &aname(remove_copy_if);
 ***remove_copy_if [#i0868ab7]
 条件が成立する要素を除くコピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''remove_copy_if''>#remove_copy_if]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Predicate '''pred''');~
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先の先頭要素を指す OutputIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、'''pred'''(*'''iter''', '''value''') != false が成立する要素を除き、'''result''' から始まる列にコピーする。削除されない要素の相対順序は、元の相対順序が保存される。元の列と出力先の列は重複していてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回述語を適用する。
 
 &aname(unique);
 ***unique [#haaf4c56]
 連続した重複要素の除去
 
 ''形式''~
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''unique''>#unique]](ForwardIterator '''first''', ForwardIterator '''last''');
 
 &nbsp; template<class ForwardIterator, class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''unique''>#unique]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BinaryPredicate '''pred''');
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にあるすべての重複要素を取り除く。すなわち、区間内の (先頭位置を除く) [[反復子]] '''iter''' に対して、最初の形式では *'''iter''' == *('''iter''' - 1) を、2 番目の形式では '''pred'''(*'''iter''', *('''iter''' - 1)) == false が成立する最長の部分から、その先頭要素を残して他の要素が除去される。
 
 ''計算量''~
  列が空でなければ、ちょうど ('''last''' - '''first''') - 1 回比較または[[述語]] を適用する。そうでなければ、比較または述語は 1 回も適用しない。
 
 ''参照''~
 → [[unique_copy>#unique_copy]]
 
 &aname(unique_copy);
 ***unique_copy [#sfa77d8f]
 連続した重複要素を除くコピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''unique_copy''>#unique_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');
 
 &nbsp; template<class InputIterator, class OutputIterator, class BinaryPredicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''unique_copy''>#unique_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', BinaryPredicate '''pred''');
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先の先頭要素を指す OutputIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  結果列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にあるすべての重複要素を除いて、'''result''' から始まる列にコピーする。すなわち、区間内の (先頭位置を除く) [[反復子]] '''iter''' に対して、最初の形式では *'''iter''' == *('''iter''' - 1) を、2 番目の形式では '''pred'''(*'''iter''', *('''iter''' - 1)) == false が成立する最長の部分から、その先頭要素のみがコピーされる。
 
 ''計算量''~
  ちょうど ('''last''' - '''first''') - 1 回比較または[[述語]] を適用する。
 
 ''参照''~
 → [[unique>#unique]]
 
 &aname(reverse);
 ***reverse [#mab01cbd]
 列の逆順再配置
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''reverse''>#reverse]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');
 
 ''[[引数]]''~
   '''first''':  再配置対象となる列の先頭要素を指す BidirectionalIterator~
   '''last''':  再配置対象となる列の終端要素の次を指す BidirectionalIterator~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''iter''', '''last''') で定義される列を [[iter_swap>#iter_swap]] により逆順に再配置する。
 
 ''計算量''~
  多くとも '''last''' - '''first''' 回の交換を行う。
 
 ''参照''~
 → [[reverse_copy>#reverse_copy]]
 
 &aname(reverse_copy);
 ***reverse_copy [#n83604c6]
 列の逆順コピー
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''reverse_copy''>#reverse_copy]](BidirectionalIterator '''first''', BidirectionalIterator '''last'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');
 
 ''[[引数]]''~
   '''first''':  対象となる列の先頭要素を指す BidirectionalIterator~
   '''last''':  対象となる列の終端要素の次を指す BidirectionalIterator~
   '''result''':  出力先となる列の先頭要素を指す OutputIterator~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''iter''', '''last''') で定義される列を、'''result''' から始まる列に、逆順にコピーする。元の列と出力先の列が重なっていてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回の代入を行う。
 
 ''参照''~
 → [[reverse>#reverse]]
 
 &aname(rotate);
 ***rotate [#k5815fe6]
 列の回転
 
 ''形式''~
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''rotate''>#rotate]](ForwardIterator '''first''', ForwardIterator '''middle''', ForwardIterator '''last''');~
 
 ''[[引数]]''~
   '''first''':  回転対象となる列の先頭要素を指す ForwardIterator~
   '''middle''':  回転後に先頭に移動する要素を指す ForwardIterator~
   '''last''':  回転対象となる列の終端要素の次を指す ForwardIterator~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') を、'''middle''' が指す要素が先頭になるように回転しする。区間 ['''first''', '''middle''') および区間 ['''middle''', '''last''') は正しい列でなければならない。
 
 ''計算量''~
  多くとも '''last''' - '''first''' 回の交換を行う。
 
 ''参照''~
 → [[rotate_copy>#rotate_copy]]
 
 &aname(rotate_copy);
 ***rotate_copy [#wbbce5c5]
 列の回転とコピー
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''rotate_copy''>#rotate_copy]](ForwardIterator '''first''', ForwardIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator '''last''', OutputIterator '''result''');~
 
 ''[[引数]]''~
   '''first''':  回転対象となる列の先頭要素を指す ForwardIterator~
   '''middle''':  回転後に先頭に移動する要素を指す ForwardIterator~
   '''last''':  回転対象となる列の終端要素の次を指す ForwardIterator~
   '''result''':  出力先となる列の先頭要素を指す OutputIterator~
 
 ''[[返却値]]''~
  結果列の終端位置の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') を、'''middle''' が指す要素が先頭になるように回転し、その結果を '''result''' から始まる列に格納する。区間 ['''first''', '''middle''') および区間 ['''middle''', '''last''') は正しい列でなければならない。また、元の列と出力先の列が重なっていてはならない。
 
 ''計算量''~
  ちょうど '''last''' - '''first''' 回の代入を行う。
 
 ''参照''~
 → [[rotate>#rotate]]
 
 &aname(random_shuffle);
 ***random_shuffle [#lf9b96ef]
 乱数によるシャッフル
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''random_shuffle''>#random_shuffle]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class RandomNumberGenerator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''random_shuffle''>#random_shuffle]](RandomAccessIterator '''first''', RandomAccessIterator '''last'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomNumberGenerator& rand);
 
 ''[[引数]]''~
   '''first''':  シャッフル対象となる列の先頭要素を指す RandomAccessIterator~
   '''last''':  シャッフル対象となる列の終端要素の次を指す RandomAccessIterator~
   '''rand''':  乱数生成[[関数オブジェクト]]~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される列を一様にシャッフルする。乱数生成[[関数オブジェクト]] '''rand''' は任意のものを指定してもよいが、[[iterator_traits>#<iterator>ヘッダ#iterator_traits]]<RandomAccessIterator>:: difference_type 型の正の[[実引数]] '''n''' に対して、'''rand'''('''n''') は、iterator_traits<RandomAccessIterator>:: difference_type 型に変換可能な型を持ち、かつ値域 [0, '''n''') の中からランダムに抽出された値を返さなければならない。
 
 ''計算量''~
  ちょうど ('''last''' - '''first''') - 1 回の交換を行う。
 
 ''参照''~
 → [[rand><cstdlib>ヘッダ#rand]], [[srand><cstdlib>ヘッダ#srand]]
 
 &aname(partition);
 ***partition [#ad8e1ef4]
 列の分割
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator [[''partition''>#partition]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Predicate pred);~
 
 ''[[引数]]''~
   '''first''':  分割対象となる列の先頭要素を指す BidirectionalIterator~
   '''last''':  分割対象となる列の終端要素の次を指す BidirectionalIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  分割位置を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される列を、[[述語]] pred が成立する要素を前に、成立しない要素を後ろに再配置する。
 
 ''計算量''~
  多くとも ('''last''' - '''first''') / 2 回の交換を行う。メモリが十分にある場合には線形で済む。また、'''last''' - '''first''' 回だけ述語 '''pred''' を適用する。
 
 ''参照''~
 → [[stable_partition>#stable_partition]]
 
 &aname(stable_partition);
 ***stable_partition [#n318c5b8]
 列の安定な分割
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator, class Predicate>~
 &nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator [[''stable_partition''>#stable_partition]](BidirectionalIterator '''first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''', Predicate '''pred''');~
 
 ''[[引数]]''~
   '''first''':  分割対象となる列の先頭要素を指す BidirectionalIterator~
   '''last''':  分割対象となる列の終端要素の次を指す BidirectionalIterator~
   '''pred''':  [[述語]]~
 
 ''[[返却値]]''~
  分割位置を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される列を、[[述語]] pred が成立する要素を前に、成立しない要素を後ろに再配置する。同値の要素の順序は、再配置後も保存される。
 
 ''計算量''~
  多くとも ('''last''' - '''first''')×log('''last''' - '''first''') 回の交換を行う。メモリが十分にある場合には線形で済む。また、'''last''' - '''first''' 回だけ述語 '''pred''' を適用する。
 
 ''参照''~
 → [[partition>#partition]]
 
 &aname(sort);
 ***sort [#j0690e97]
 整列
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort''>#sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort''>#sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  整列対象となる列の先頭要素を指す RandomAccessIterator~
   '''last''':  整列対象となる列の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される列を整列する。
 
 ''計算量''~
  平均的に '''N''' log '''N''' 回の比較を行う。ただし、'''N''' は '''last''' - '''first''' である。
 
 ''参照''~
 → [[stable_sort>#stable_sort]]
 
 &aname(stable_sort);
 ***stable_sort [#j4ef7bd5]
 安定な整列
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''stable_sort''>#stable_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''stable_sort''>#stable_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');
 
 ''[[引数]]''~
   '''first''':  整列対象となる列の先頭要素を指す RandomAccessIterator~
   '''last''':  整列対象となる列の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される列を整列する。同値の要素の順序は整列後も保存される。
 
 ''計算量''~
  多くとも '''N''' (log '''N''')^2 回の比較を行う。メモリが十分にある場合には '''N''' log '''N''' 回の比較を行う。ただし、'''N''' は '''last''' - '''first''' である。
 
 ''参照''~
 → [[sort>#sort]]
 
 &aname(partial_sort);
 ***partial_sort [#t09938d9]
 部分整列
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''partial_sort''>#partial_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''partial_sort''>#partial_sort]](RandomAccessIterator '''first''', RandomAccessIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''', Compare '''comp''');
 
 ''[[引数]]''~
   '''first''':  整列対象となる列の先頭要素を指す RandomAccessIterator~
   '''middle''':  整列結果となる列の終端要素の次を指す RandomAccessIterator~
   '''last''':  整列対象となる列の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') を整列した場合の最初の '''middle''' - '''first''' 個の要素を、区間 ['''first''', '''middle''') に格納する。実行後の区間 ['''middle''', '''last''') の内容は[[未規定>未規定の動作]]である。
 
 ''計算量''~
  ほぼ ('''last''' - '''first''')×log('''middle''' - '''first''') 回の比較を行う。
 
 ''参照''~
 → [[partial_sort_copy>#partial_sort_copy]]
 
 &aname(partial_sort_copy);
 ***partial_sort_copy [#jfdb581a]
 部分整列とコピー
 
 ''形式''~
 &nbsp; template<class InputIterator, class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''partial_sort_copy''>#partial_sort_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_last''');~
 
 &nbsp; template<class InputIterator, class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''partial_sort_copy''>#partial_sort_copy]](InputIterator '''first''', InputIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_first''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''result_last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  元の列の先頭要素を指す InputIterator~
   '''last''':  元の列の終端要素の次を指す InputIterator~
   '''result_first''':  出力先となる列の先頭要素を指す RandomAccessIterator~
   '''result_last''':  出力先となる列の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  結果の列の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  '''first''' から始まる、区間 ['''first''', '''last''') または区間 ['''result_first''', '''result_last''') のうちの小さい方の要素数を整列して、'''result_first''' から始まる列に出力する。
 
 ''計算量''~
  ほぼ ('''last''' - '''first''')×log( min( ('''last''' - '''first'''), ('''result_last''' - '''result_first''') ) ) 回の比較を行う。
 
 ''参照''~
 → [[partial_sort>#partial_sort]]
 
 &aname(nth_element);
 ***nth_element [#i06e6c88]
 基準位置による列の分割
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''nth_element''>#nth_element]](RandomAccessIterator '''first''', RandomAccessIterator '''nth''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''');
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''nth_element''>#nth_element]](RandomAccessIterator '''first''', RandomAccessIterator '''nth''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RandomAccessIterator '''last''', Compare '''comp''');
 
 ''[[引数]]''~
   '''first''':  分割対象となる列の先頭要素を指す RandomAccessIterator~
   '''nth''':  分割の基準位置を指す RandomAccessIterator~
   '''last''':  分割対象となる列の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''nth''') にある任意の[[反復子]] '''iter1''' が、区間 ['''nth''', '''last''') にある任意の反復子 '''iter2''' に対して、最初の形式では !(*'''iter1''' > *'''iter2''') が、2 番目の形式では '''comp'''(*'''iter2''', *'''iter1''') == false が成立するように再配置する。'''nth''' の位置には、列全体を整列したときにその位置に来る要素が格納される。
 
 ''計算量''~
  平均で線形である。
 
 &aname(lower_bound);
 ***lower_bound [#x66ab6c3]
 順を乱さずに要素を挿入できる下限
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''lower_bound''>#lower_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''lower_bound''>#lower_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  探索する値。型 T は LessThanComparable~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  順を乱さずに '''value''' を挿入できる最初の位置 (下限) を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある任意の[[反復子]] '''iter''' の位置に、順序を乱さずに要素 '''value''' を挿入することができる最初の位置を探索する。順序を乱さずに挿入ができるとは、最初の形式では !(*'''iter''' < '''value''') && !('''value''' < *'''iter''') が、2 番目の形式では !'''comp'''(*'''iter''', '''value''') && !'''comp'''('''value''',  *'''iter''') が成立することを意味する。
 
 ''計算量''~
  多くとも log('''last''' - '''first''') + 1 回の比較を行う。
 
 ''参照''~
 → [[upper_bound>#upper_bound]], [[equal_range>#equal_range]]
 
 &aname(upper_bound);
 ***upper_bound [#aed9ea1e]
 順を乱さずに要素を挿入できる上限
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''upper_bound''>#upper_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''upper_bound''>#upper_bound]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const T& '''value''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  探索する値。型 T は LessThanComparable~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  順を乱さずに '''value''' を挿入できる最後の位置 (上限) を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある任意の[[反復子]] '''iter''' の位置に、順序を乱さずに要素 '''value''' を挿入することができる最後の位置を探索する。順序を乱さずに挿入ができるとは、最初の形式では !(*'''iter''' < '''value''') && !('''value''' < *'''iter''') が、2 番目の形式では !'''comp'''(*'''iter''', '''value''') && !'''comp'''('''value''',  *'''iter''') が成立することを意味する。
 
 ''計算量''~
  多くとも log('''last''' - '''first''') + 1 回の比較を行う。
 
 ''参照''~
 → [[lower_bound>#lower_bound]], [[equal_range>#equal_range]]
 
 &aname(equal_range);
 ***equal_range [#l709f74d]
 順を乱さずに要素を挿入できる範囲
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<ForwardIterator, ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''equal_range''>#equal_range]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;pair<ForwardIterator, ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[''equal_range''>#equal_range]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  探索する値。型 T は LessThanComparable~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  返却値のメンバ .first には '''value''' を順を乱さずに要素を挿入できる最初の位置 (下限) を、.second には最後の位置 (上限) が格納される。対応する範囲が見つからなかった場合は .first および .second には '''last''' が格納される。
 
 ''解説''~
  区間 ['''first''', '''last''') にある任意の[[反復子]] '''iter''' の位置に、順序を乱さずに要素 '''value''' を挿入することができる最大の範囲を返す。順序を乱さずに挿入ができるとは、最初の形式では !(*'''iter''' < '''value''') && !('''value''' < *'''iter''') が、2 番目の形式では !'''comp'''(*'''iter''', '''value''') && !'''comp'''('''value''',  *'''iter''') が成立することを意味する。
 
 ''計算量''~
  多くとも 2×log('''last''' - '''first''') + 1 回の比較を行う。
 
 ''参照''~
 → [[lower_bound>#lower_bound]], [[upper_bound>#upper_bound]]
 
 &aname(binary_search);
 ***binary_search [#qb338ea2]
 二分探索
 
 ''形式''~
 &nbsp; template<class ForwardIterator, class T>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''binary_search''>#binary_search]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''');~
 
 &nbsp; template<class ForwardIterator, class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''binary_search''>#binary_search]](ForwardIterator '''first''', ForwardIterator '''last''', const T& '''value''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象となる列の先頭要素を指す ForwardIterator~
   '''last''':  探索対象となる列の終端要素の次を指す ForwardIterator~
   '''value''':  探索する値。型 T は LessThanComparable~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  探索に成功すれば true を、失敗すれば false を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') にある[[反復子]] '''iter''' に対して、最初の形式では !(*'''iter''' < '''value''') && !('''value''' < *'''iter''') が、2 番目の形式では '''comp'''(*'''iter''', '''value''') == false && '''comp'''('''value''',  *'''iter''') == false が成立する要素を探索する。
 
 ''計算量''~
  多くとも log('''last''' - '''first''') + 2 回の比較を行う。
 
 ''参照''~
 → [[bsearch><cstdlib>ヘッダ#bsearch]]
 
 &aname(merge);
 ***merge [#g6275daf]
 併合
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''merge''>#merge]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''merge''>#merge]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  第 1 区間の先頭要素を指す InputIterator~
   '''last1''':  第 1 区間の終端要素の次を指す InputIterator~
   '''first2''':  第 2 区間の先頭要素を指す InputIterator~
   '''last2''':  第 2 区間の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  結果集合の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  2 つの整列された区間を併合する。構築された集合は昇順に整列される。結果の区間は、元の集合の区間のいずれとも重なっていてはならない。両方の区間に存在する同じ値の要素は、第 1 区間にあったものが第 2 区間にあったものより前に格納される。
 
 ''計算量''~
  多くとも ('''last1''' - '''first1''') + ('''last2''' - '''first2''') - 1 回の比較を行う。
 
 ''参照''~
 → [[inplace_merge>#inplace_merge]]
 
 &aname(inplace_merge);
 ***inplace_merge [#a036a0d3]
 連続区間の併合
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''inplace_merge''>#inplace_merge]](BidirectionalIterator '''first''', BidirectionalIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''');~
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''inplace_merge''>#inplace_merge]](BidirectionalIterator '''first''', BidirectionalIterator '''middle''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BidirectionalIterator '''last''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  第 1 区間の先頭要素を指す BidirectionalIterator~
   '''middle''':  第 1 区間の終端要素の次であり、かつ第 2 区間の先頭要素を指す BidirectionalIterator~
   '''last''':  第 2 区間の終端要素の次を指す BidirectionalIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  2 つの連続している整列された区間 ['''first''', '''middle''') および ['''middle''', '''last''') を併合し、結果を ['''first''', '''last''') に格納する。結果の区間は昇順に整列される。両方の区間に存在する同じ値の要素は、第 1 区間にあったものが第 2 区間にあったものより前に格納される。
 
 ''計算量''~
  メモリが十分にある場合には ('''last''' - '''first''') - 1 回の比較を行う。メモリが十分でない場合には '''N''' log '''N''' 回の比較を行う。ただし、'''N''' は '''last''' - '''first''' である。
 
 ''参照''~
 → [[merge>#merge]]
 
 &aname(includes);
 ***includes [#tdb81fde]
 部分集合の判別
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''includes''>#includes]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''includes''>#includes]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  比較対象となる第 1 集合の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる第 1 集合の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる第 2 集合の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる第 2 集合の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  第 2 集合が第 1 集合の部分集合であれば true を、そうでなければ false を返す。
 
 ''解説''~
  区間 ['''first2''', '''last2''') で定義される集合のすべての要素が区間 ['''first1''', '''last1''') で定義される集合に含まれるかどうかを判別する。
 
 ''計算量''~
  多くとも 2×( ('''last1''' - '''first1''') + ('''last2''' - '''first2''') ) - 1 回の比較を行う。
 
 &aname(set_union);
 ***set_union [#nad677b1]
 集合の和
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_union''>#set_union]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_union''>#set_union]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  比較対象となる第 1 集合の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる第 1 集合の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる第 2 集合の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる第 2 集合の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  結果集合の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  2 つの区間の和集合、すなわち、区間 ['''first1''', '''last1''') で定義される第 1 集合および区間 ['''first2''', '''last2''') で定義される第 2 集合のいずれかに存在する要素の集合を構築する。構築された集合は整列される。結果の区間は、元の集合の区間のいずれとも重なっていてはならない。
 
 ''計算量''~
  多くとも 2×( ('''last1''' - '''first1''') + ('''last2''' - '''first2''') ) - 1 回の比較を行う。
 
 ''参照''~
 → [[set_intersection>#set_intersection]]
 
 &aname(set_intersection);
 ***set_intersection [#g5a246c0]
 集合の積
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_intersection''>#set_intersection]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_intersection''>#set_intersection]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  比較対象となる第 1 集合の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる第 1 集合の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる第 2 集合の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる第 2 集合の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  結果集合の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  2 つの区間の積集合、すなわち、区間 ['''first1''', '''last1''') で定義される第 1 集合および区間 ['''first2''', '''last2''') で定義される第 2 集合の両方に存在する要素の集合を構築する。構築された集合は整列される。結果の区間は、元の集合の区間のいずれとも重なっていてはならない。
 
 ''計算量''~
  多くとも 2×( ('''last1''' - '''first1''') + ('''last2''' - '''first2''') ) - 1 回の比較を行う。
 
 ''参照''~
 → [[set_union>#set_union]]
 
 &aname(set_difference);
 ***set_difference [#qbcb299a]
 集合の差
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_difference''>#set_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_difference''>#set_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  比較対象となる第 1 集合の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる第 1 集合の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる第 2 集合の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる第 2 集合の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  結果集合の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first1''', '''last1''') で定義される第 1 集合に存在し、区間 ['''first2''', '''last2''') で定義される第 2 集合には存在しない要素を、'''result''' から始まる区間にコピーする。構築された集合は整列される。結果の区間は、元の集合の区間のいずれとも重なっていてはならない。
 
 ''計算量''~
  多くとも 2×( ('''last1''' - '''first1''') + ('''last2''' - '''first2''') ) - 1 回の比較を行う。
 
 ''参照''~
 → [[set_symmetric_difference>#set_symmetric_difference]]
 
 &aname(set_symmetric_difference);
 ***set_symmetric_difference [#q93e7e59]
 集合の対称差
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_symmetric_difference''>#set_symmetric_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class OutputIterator,~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;OutputIterator [[''set_symmetric_difference''>#set_symmetric_difference]](InputIterator1 '''first1''', InoputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2'''~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputIterator '''result''', Compare '''comp''');~
 
 ''[[引数]]'''~
   '''first1''':  比較対象となる第 1 集合の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる第 1 集合の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる第 2 集合の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる第 2 集合の終端要素の次を指す InputIterator~
   '''result''':  結果集合の出力先の先頭要素を指す OutputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]'''~
  結果集合の終端要素の次を指す[[反復子]]を返す。
 
 ''解説''~
  区間 ['''first1''', '''last1''') で定義される第 1 集合および区間 ['''first2''', '''last2''') で定義される第 2 集合のいずれかにのみ存在しない要素を、'''result''' から始まる区間にコピーする。構築された集合は整列される。結果の区間は、元の集合の区間のいずれとも重なっていてはならない。
 
 ''計算量''~
  多くとも 2×( ('''last1''' - '''first1''') + ('''last2''' - '''first2''') ) - 1 回の比較を行う。
 
 ''参照''~
 → [[set_difference>#set_difference]]
 
 &aname(push_heap);
 ***push_heap [#x14939e2]
 [[ヒープ]]に要素を追加
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''push_heap''>#push_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''push_heap''>#push_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  [[ヒープ]]の先頭要素を指す RandomAccessIterator~
   '''last''':  [[ヒープ]]の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  '''last''' - 1 の位置にある要素を移動し、区間 ['''first''', '''last''') を[[ヒープ]]にする。元の区間 ['''first''', '''last''') は正しいヒープでなければならない。
 
 ''計算量''~
  多くとも log('''last''' - '''first''') 回の比較を行う。
 
 ''参照''~
 → [[pop_heap>#pop_heap]], [[make_heap>#make_heap]], [[sort_heap>#sort_heap]]
 
 &aname(pop_heap);
 ***pop_heap [#f3723608]
 [[ヒープ]]から要素を除去
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''pop_heap''>#pop_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''pop_heap''>#pop_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  [[ヒープ]]の先頭要素を指す RandomAccessIterator~
   '''last''':  [[ヒープ]]の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  '''first''' の位置にある要素と '''last''' - 1 の位置にある要素を交換し、区間 ['''first''', '''last''' - 1) を[[ヒープ]]にする。元の区間 ['''first''', '''last''') は正しいヒープでなければならない。
 
 ''計算量''~
  多くとも 2×log('''last''' - '''first''') 回の比較を行う。
 
 ''参照''~
 → [[push_heap>#push_heap]], [[make_heap>#make_heap]], [[sort_heap>#sort_heap]]
 
 &aname(make_heap);
 ***make_heap [#i69b4b00]
 [[ヒープ]]の構築
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''make_heap''>#make_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''make_heap''>#make_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  [[ヒープ]]の先頭要素を指す RandomAccessIterator~
   '''last''':  [[ヒープ]]の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') から[[ヒープ]]を構築する。
 
 ''計算量''~
  多くとも 3×('''last''' - '''first''') 回の比較を行う。
 
 ''参照''~
 → [[push_heap>#push_heap]], [[pop_heap>#pop_heap]], [[sort_heap>#sort_heap]]
 
 &aname(sort_heap);
 ***sort_heap [#g3adba4b]
 [[ヒープ]]の整列
 
 ''形式''~
 &nbsp; template<class RandomAccessIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort_heap''>#sort_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''');~
 
 &nbsp; template<class RandomAccessIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;void [[''sort_heap''>#sort_heap]](RandomAccessIterator '''first''', RandomAccessIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  [[ヒープ]]の先頭要素を指す RandomAccessIterator~
   '''last''':  [[ヒープ]]の終端要素の次を指す RandomAccessIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  なし
 
 ''解説''~
  区間 ['''first''', '''last''') で定義される[[ヒープ]]を整列する。整列は安定ではない。
 
 ''計算量''~
  多くとも '''N''' log '''N''' 回の比較を行う。ただし、'''N''' は '''last''' - '''first''' である。
 
 ''参照''~
 → [[push_heap>#push_heap]], [[pop_heap>#pop_heap]], [[make_heap>#make_heap]]
 
 &aname(min);
 ***min [#u827ff67]
 最小値
 
 ''形式''~
 &nbsp; template<class T> const T& [[min>#min]](const T& '''a''', const T& '''b''');~
 
 &nbsp; template<class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;const T& [[''min''>#min]](const T& '''a''', const T& '''b''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''a''':  ~
   '''b''':  ~
   '''comp''':  比較関数。型 T は LessThanComparable かつ CopyConstructible~
 
 ''[[返却値]]''~
  最小値を返す。
 
 ''解説''~
  '''a''' と '''b''' を比較し、小さい方を返す。最初の形式では比較に [[< 演算子>関係演算子#less]]を、2 番目の形式では '''comp''' を使用する。'''a''' と '''b''' が等しい場合は '''a''' を返す。
 
 ''参照''~
 → [[max>#max]]
 
 &aname(max);
 ***max [#ga5e2cd2]
 最大値
 
 ''形式''~
 &nbsp; template<class T> const T& [[max>#max]](const T& '''a''', const T& '''b''');~
 
 &nbsp; template<class T, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;const T& [[''max''>#max]](const T& '''a''', const T& '''b''', Compare '''comp''');~
 
 ''[[引数]]''~
   '''a''':  ~
   '''b''':  ~
   '''comp''':  比較関数。型 T は LessThanComparable かつ CopyConstructible~
 
 ''[[返却値]]''~
  最大値を返す。
 
 ''解説''~
  '''a''' と '''b''' を比較し、大きい方を返す。最初の形式では比較に [[< 演算子>関係演算子#less]]を、2 番目の形式では '''comp''' を使用する。'''a''' と '''b''' が等しい場合は '''a''' を返す。
 
 ''参照''~
 → [[min>#min]]
 
 &aname(min_element);
 ***min_element [#y1b39300]
 最小要素の探索
 
 ''形式''~
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''min_element''>#min_element]](ForwardIterator '''first''', ForwardIterator '''last''');~
 
 &nbsp; template<class ForwardIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''min_element''>#min_element]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comapre '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象の先頭要素を指す ForwardIterator~
   '''last''':  探索対象の終端要素の次を指す ForwardIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  最小要素を指す[[反復子]]を返す。'''first''' == '''last''' の場合は '''last''' を返す。 
 
 ''解説''~
  区間 ['''first''', '''last''') 内の[[反復子]] '''iter1''' であり、任意の[[反復子]] '''iter2''' に対して、!(*'''iter2''' < *'''iter1''') または '''comp'''(*'''iter2''', *'''iter1''') == false が成立する最初の '''iter1''' を探索する。
 
 ''計算量''~
  ちょうど max( ('''last''' - '''first''') - 1, 0) ) 回比較を行う。
 
 ''参照''~
 → [[max_element>#max_element]]
 
 &aname(max_element);
 ***max_element [#pc347cc9]
 最大要素の探索
 
 ''形式''~
 &nbsp; template<class ForwardIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''max_element''>#max_element]](ForwardIterator '''first''', ForwardIterator '''last''');~
 
 &nbsp; template<class ForwardIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;ForwardIterator [[''max_element''>#max_element]](ForwardIterator '''first''', ForwardIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Comapre '''comp''');~
 
 ''[[引数]]''~
   '''first''':  探索対象の先頭要素を指す ForwardIterator~
   '''last''':  探索対象の終端要素の次を指す ForwardIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  最大要素を指す[[反復子]]を返す。'''first''' == '''last''' の場合は '''last''' を返す。 
 
 ''解説''~
  区間 ['''first''', '''last''') 内の[[反復子]] '''iter1''' であり、任意の[[反復子]] '''iter2''' に対して、!(*'''iter1''' < *'''iter2''') または '''comp'''(*'''iter1''', *'''iter2''') == false が成立する最初の '''iter1''' を探索する。
 
 ''計算量''~
  ちょうど max( ('''last''' - '''first''') - 1, 0) ) 回比較を行う。
 
 ''参照''~
 → [[min_element>#min_element]]
 
 &aname(lexicographical_compare);
 ***lexicographical_compare [#abf385f9]
 辞書純比較
 
 ''形式''~
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]]>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''lexicographical_compare''>#lexicographical_compare]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''');~
 
 &nbsp; template<class [[InputIterator1>InputIterator]], class [[InputIterator2>InputIterator]], class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''lexicographical_compare''>#lexicographical_compare]](InputIterator1 '''first1''', InputIterator1 '''last1''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputIterator2 '''first2''', InputIterator2 '''last2''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first1''':  比較対象となる一方の列の先頭要素を指す InputIterator~
   '''last1''':  比較対象となる一方の列の終端要素の次を指す InputIterator~
   '''first2''':  比較対象となる他方の列の先頭要素を指す InputIterator~
   '''last2''':  比較対象となる他方の列の終端要素の次を指す InputIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  区間 ['''first1''', '''last1''') の列が区間 ['''first2''', '''last2''') の列より小さい場合は true を、そうでなければ false を返す。 
 
 ''解説''~
  区間 ['''first1''', '''last1''') で定義される列と区間 ['''first2''', '''last2''')で定義される列を辞書順で比較する。最初の形式では、比較には [[< 演算子>関係演算子#less]]を使用し、2 番目の形式では '''comp''' を使用する。
 
 ''計算量''~
  多くとも 2×min( ('''last1''' - '''first1'''), ('''last2''' - '''first2''') ) 回の比較を行う。
 
 &aname(next_permutation);
 ***next_permutation [#gb0306e2]
 次の順列
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''next_permutation''>#next_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');~
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''next_permutation''>#next_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  先頭要素を指す BidirectionalIterator~
   '''last''':  終端要素の次を指す BidirectionalIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  次の順列が存在する場合は true を、そうでなければ false を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') の列を前の順列に変換する。次の順列とは、[[< 演算子>関係演算子#less]]または[[述語]] '''comp''' によって辞書順に整列した場合に直前の位置に来る列である。次の順列が存在しない場合、昇順に整列した列に変換する。
 
 ''計算量''~
  多くとも ('''last''' - '''first''') / 2 の交換を行う。
 
 ''参照''~
 → [[prev_permutation>#prev_permutation]]
 
 &aname(prev_permutation);
 ***prev_permutation [#c0498b4c]
 前の順列
 
 ''形式''~
 &nbsp; template<class BidirectionalIterator>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''prev_permutation''>#prev_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''');~
 
 &nbsp; template<class BidirectionalIterator, class Compare>~
 &nbsp;&nbsp;&nbsp;&nbsp;bool [[''prev_permutation''>#prev_permutation]](BidirectionalIterator '''first''', BidirectionalIterator '''last''',~
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare '''comp''');~
 
 ''[[引数]]''~
   '''first''':  先頭要素を指す BidirectionalIterator~
   '''last''':  終端要素の次を指す BidirectionalIterator~
   '''comp''':  比較関数~
 
 ''[[返却値]]''~
  前の順列が存在する場合は true を、そうでなければ false を返す。
 
 ''解説''~
  区間 ['''first''', '''last''') の列を前の順列に変換する。前の順列とは、[[< 演算子>関係演算子#less]]または[[述語]] '''comp''' によって辞書順に整列した場合に直前の位置に来る列である。前の順列が存在しない場合には、降順に整列した列に変換する。
 
 ''計算量''~
  多くとも ('''last''' - '''first''') / 2 の交換を行う。
 
 ''参照''~
 → [[next_permutation>#next_permutation]]

トップ   一覧 単語検索   ヘルプ   最終更新のRSS
 ホーム | プロフィール | メール | ログイン | 管理
Copyright © 2005-2009 by TAKAGI Nobuhisa