algorithm (STL/CLR)

アルゴリズムを実行する STL/CLR コンテナー関数テンプレートを定義します。

構文

#include <cliext/algorithm>

必要条件

ヘッダー:<cliext/algorithm>

名前空間: cliext

宣言

機能 説明
adjacent_find (STL/CLR) 隣接する 2 つの等しい要素を検索します。
binary_search (STL/CLR) 並べ替えられたシーケンスに指定した値が含まれているかどうかをテストします。
copy (STL/CLR) ソース範囲からターゲット範囲に値をコピーし、前方に反復処理します。
copy_backward (STL/CLR) ソース範囲からターゲット範囲に値をコピーし、後方に反復処理します。
count (STL/CLR) 範囲内で値が指定された値と一致する要素の数を返します。
count_if (STL/CLR) 範囲内で値が指定された条件と一致する要素の数を返します。
equal (STL/CLR) 2 つの範囲を要素ごとに比較します。
equal_range (STL/CLR) 順序付けられた値のシーケンスを検索し、すべての値が指定した要素に等しいサブシーケンスを区切る 2 つの位置を返します。
fill (STL/CLR) 指定された範囲のすべての要素に同じ新しい値を割り当てます。
fill_n (STL/CLR) 特定の要素で始まる要素範囲で、指定された数の要素に新しい値を割り当てます。
find (STL/CLR) 指定した値が最初に出現する位置を返します。
find_end (STL/CLR) 指定したシーケンスと等しい範囲内の最後のサブシーケンスを返します。
find_first_of (STL/CLR) 範囲の中から、指定した範囲の要素のいずれかの最初の出現を検索します。
find_if (STL/CLR) 値のシーケンス内で、要素が指定した条件を満たす、最初の要素の位置を返します。
for_each (STL/CLR) 値のシーケンス内の各要素に指定した関数オブジェクトを適用し、関数オブジェクトを返します。
generate (STL/CLR) 値のシーケンス内の各要素に、関数オブジェクトによって生成される値を代入します。
generate_n (STL/CLR) 指定した数の要素に、関数オブジェクトによって生成される値を代入します。
includes (STL/CLR) 1 つの並べ替えられた範囲に 2 番目の並べ替えられた範囲内のすべての要素が含まれているかどうかをテストします。
inplace_merge (STL/CLR) 2 つの連続する並べ替えられた範囲内の要素を、単一の並べ替えられた範囲に結合します。
iter_swap (STL/CLR) 指定された反復子のペアで参照される 2 個の値を交換します。
lexicographical_compare (STL/CLR) 2 つのシーケンスを要素ごとに比較して、2 つのシーケンスのうち小さい方を特定します。
lower_bound (STL/CLR) 並べ替えられた値のシーケンスの中で、指定した値以上の値を持つ最初の要素の位置を検索します。
make_heap (STL/CLR) 指定した範囲の要素を、ヒープの最初の要素が最大になるヒープに変換します。
max (STL/CLR)) 2 つのオブジェクトを比較し、2 つのうち大きい方を返します。
max_element (STL/CLR) 指定した値のシーケンス内で最大の要素を検索します。
merge (STL/CLR)) 2 つの並べ替えられたソース範囲のすべての要素を、単一の並べ替えられたターゲット範囲に結合します。
min (STL/CLR) 2 つのオブジェクトを比較し、2 つのうち小さい方を返します。
min_element (STL/CLR) 指定した値のシーケンス内で最小の要素を検索します。
mismatch (STL/CLR) 要素ごとに 2 つの範囲を比較し、最初に違いが発生する位置を返します。
next_permutation (STL/CLR) 範囲内の要素を並べ替え、元の順序を辞書順で次に大きい順列 (存在する場合) に置き換えます。
nth_element (STL/CLR) 要素のシーケンスを分割し、シーケンスの n 番目の要素を正しく検索して、その前にあるすべての要素がその要素以下、その要素の後にあるすべての要素がその要素以上になるようにします。
partial_sort (STL/CLR) 範囲内の指定した数の小さい要素を、降順以外の順序に整列します。
partial_sort_copy (STL/CLR) ソース範囲の要素が並べ替えられるように、ソース範囲からターゲット範囲に要素をコピーします。
partition (STL/CLR) 単項述語を満たす要素が、それを満たさない要素よりも前に置かれるように、範囲内の要素を整列します。
pop_heap (STL/CLR) ヒープの先頭から末尾に最大の要素を移動し、残りの要素から新しいヒープを形成します。
prev_permutation (STL/CLR) 要素のシーケンスを並べ替え、元の順序を辞書順で前の大きい順列 (存在する場合) に置き換えます。
push_heap (STL/CLR) 範囲の末尾にある要素を、範囲内の以前の要素で構成される既存のヒープに追加します。
random_shuffle (STL/CLR) 範囲内の N 個の要素のシーケンスを、ランダムに選択された N! 個の可能な配置の 1 つに再配置します。
remove (STL/CLR) 特定の範囲から指定した値を除去します。残りの要素の順序に影響を及ぼすことはなく、指定した値を含まない新しい範囲の末尾を返します。
remove_copy (STL/CLR) ソース範囲からターゲット範囲に要素をコピーしますが、指定した値の要素はコピーされず、残りの要素の順序に影響を及ぼすことはありません。
remove_copy_if (STL/CLR) 述語を満たすものを除き、ソース範囲からターゲット範囲に要素をコピーします。残りの要素の順序に影響を及ぼすことはありません。
remove_if (STL/CLR) 特定の範囲から述語を満たす要素を除去します。残りの要素の順序に影響を及ぼすことはありません。 .
replace (STL/CLR) 指定した値と一致する範囲内の要素を、新しい値に置き換えます。
replace_copy (STL/CLR) ソース範囲からターゲット範囲に要素をコピーし、指定した値と一致する要素を新しい値に置き換えます。
replace_copy_if (STL/CLR) ソース範囲内の各要素が指定された述語を満たすかどうかを調べ、満たす場合は置き換えて結果を新しいターゲット範囲にコピーします。
replace_if (STL/CLR) 範囲内の各要素が指定された述語を満たすかどうかを調べ、満たす場合は置き換えます。
reverse (STL/CLR) 範囲内の要素の順序を反転させます。
reverse_copy (STL/CLR) ソース範囲内の要素の順序を反転し、それらをターゲット範囲にコピーします。
rotate (STL/CLR) 2 つの隣接する範囲の要素を交換します。
rotate_copy (STL/CLR) ソース範囲内の 2 つの隣接する範囲の要素を交換し、結果をターゲット範囲にコピーします。
search (STL/CLR) 要素が特定の要素シーケンス内の要素と等しいか、または要素が二項述語で指定される意味において特定のシーケンス内の要素と等価であるシーケンスが、対象範囲内で最初に出現する位置を検索します。
search_n (STL/CLR) 特定の値を持つか、二項述語によって指定される値と関連する、指定された数の要素で構成される範囲内の最初のサブシーケンスを検索します。
set_difference (STL/CLR) 1 つの並べ替えられたソース範囲内に属するが、2 番目の並べ替えられたソース範囲には属さないすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。
set_intersection (STL/CLR) 両方の並べ替えられたソース範囲に属するすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。
set_symmetric_difference (STL/CLR) 並べ替えられたソース範囲の一方には属するが、両方には属さないすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。
set_union (STL/CLR)) 2 つの並べ替えられたソース範囲の少なくとも一方に属するすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。
sort (STL/CLR) 指定された範囲の要素を、降順以外の順序、または二項述語で指定された順序の基準に従って配置します。
sort_heap (STL/CLR) ヒープを並べ替えられた範囲に変換します。
stable_partition (STL/CLR) 範囲内の要素を 2 つの分離されたセットに分類し、等価要素の相対順序は維持して、単項述語を満たす要素が単項述語を満たさない要素よりも前に来るように配置します。
stable_sort (STL/CLR) 指定された範囲の要素を、降順以外の順序、または二項述語で指定された順序の基準に従って、等価要素の相対順序を維持して配置します。
swap (STL/CLR) 2 種類のオブジェクトの間で、最初のオブジェクトの内容を 2 番目のオブジェクトに割り当て、2 番目のオブジェクトの内容を最初のオブジェクトに割り当てて、要素の値を交換します。
swap_ranges (STL/CLR) 1 つの範囲の要素を、同じサイズの別の範囲の要素と交換します。
transform (STL/CLR) 指定された関数オブジェクトをソース範囲内の各要素、または 2 つのソース範囲内の要素のペアに適用し、関数オブジェクトの戻り値をターゲット範囲にコピーします。
unique (STL/CLR) 指定された範囲内の互いに隣接する重複要素を削除します。
unique_copy (STL/CLR) 互いに隣接する重複要素を除き、ソース範囲の要素をターゲット範囲にコピーします。
upper_bound (STL/CLR) 順序の基準が二項述語で指定できる場合に、順序付けられた範囲内で、指定した値を超える値を持つ最初の要素の位置を検索します。

メンバー

adjacent_find (STL/CLR)

等しいか、または指定された条件を満たす 2 個の隣接する要素を検索します。

構文

template<class _FwdIt> inline
    _FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の adjacent_find と同じように動作します。 詳細については、「adjacent_find」を参照してください。

並べ替えられた範囲に、指定された値と等しい要素が存在するか、または二項述語で指定された意味で、指定された値と等価の要素が存在するかどうかをテストします。

構文

template<class _FwdIt, class _Ty> inline
    bool binary_search(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    bool binary_search(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の binary_search と同じように動作します。 詳細については、「binary_search」を参照してください。

copy (STL/CLR)

要素のソース シーケンス全体を繰り返し、順方向の新しい位置を割り当てて、ソース範囲内からターゲットの範囲に要素の値を割り当てます。

構文

template<class _InIt, class _OutIt> inline
    _OutIt copy(_InIt _First, _InIt _Last, _OutIt _Dest);

解説

この関数は、C++ 標準ライブラリ関数の copy と同じように動作します。 詳細については、「copy」を参照してください。

copy_backward (STL/CLR)

要素のソース シーケンス全体を繰り返し、逆方向の新しい位置を割り当てて、ソース範囲内からターゲットの範囲に要素の値を割り当てます。

構文

template<class _BidIt1, class _BidIt2> inline
    _BidIt2 copy_backward(_BidIt1 _First, _BidIt1 _Last,
        _BidIt2 _Dest);

解説

この関数は、C++ 標準ライブラリ関数の copy_backward と同じように動作します。 詳細については、「copy_backward」を参照してください。

count (STL/CLR)

範囲内で値が指定された値と一致する要素の数を返します。

構文

template<class _InIt, class _Ty> inline
    typename iterator_traits<_InIt>::difference_type
        count(_InIt _First, _InIt _Last, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の count と同じように動作します。 詳細については、「count」を参照してください。

count_if (STL/CLR)

範囲内で値が指定された条件と一致する要素の数を返します。

構文

template<class _InIt, class _Pr> inline
    typename iterator_traits<_InIt>::difference_type
        count_if(_InIt _First, _InIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の count_if と同じように動作します。 詳細については、「count_if」を参照してください。

equal (STL/CLR)

二項述語によって指定された等値または等価について、2 つの範囲を要素ごとに比較します。

構文

template<class _InIt1, class _InIt2> inline
    bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の equal と同じように動作します。 詳細については、「equal」を参照してください。

equal_range (STL/CLR)

順序付けられた範囲内で、最初の位置が指定された要素の位置以下で、2 番目の位置が要素の位置を超える位置のペアを検索します。ここで、シーケンス内の位置を確立するために使用される等価または順序付けの意味は、二項述語によって指定できます。

構文

template<class _FwdIt, class _Ty> inline
    _PAIR_TYPE(_FwdIt) equal_range(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _PAIR_TYPE(_FwdIt) equal_range(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の equal_range と同じように動作します。 詳細については、「equal_range」を参照してください。

fill (STL/CLR)

指定された範囲のすべての要素に同じ新しい値を割り当てます。

構文

template<class _FwdIt, class _Ty> inline
    void fill(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の fill と同じように動作します。 詳細については、「fill」を参照してください。

fill_n (STL/CLR)

特定の要素で始まる要素範囲で、指定された数の要素に新しい値を割り当てます。

構文

template<class _OutIt, class _Diff, class _Ty> inline
    void fill_n(_OutIt _First, _Diff _Count, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の fill_n と同じように動作します。 詳細については、「fill_n」を参照してください。

find (STL/CLR)

範囲内で指定された値を持つ要素が最初に出現する位置を検索します。

構文

template<class _InIt, class _Ty> inline
    _InIt find(_InIt _First, _InIt _Last, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の find と同じように動作します。 詳細については、「find」を参照してください。

find_end (STL/CLR)

範囲内で指定されたシーケンスと等しい、つまり二項述語で指定された意味で等価である最後のサブシーケンスを検索します。

構文

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 find_end(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 find_end(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の find_end と同じように動作します。 詳細については、「find_end」を参照してください。

find_first_of (STL/CLR)

対象範囲内で複数の値のうち最初に出現するもの、つまり二項述語で指定された意味で、指定された要素のセットと等価である複数の要素のうち最初に出現するものを検索します。

構文

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 find_first_of(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 find_first_of(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の find_first_of と同じように動作します。 詳細については、「find_first_of」を参照してください。

find_if (STL/CLR)

範囲内で指定された条件を満たす要素が最初に出現する位置を検索します。

構文

template<class _InIt, class _Pr> inline
    _InIt find_if(_InIt _First, _InIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の find_if と同じように動作します。 詳細については、「find_if」を参照してください。

for_each (STL/CLR)

範囲内で順方向順序で各要素に対して指定された関数を適用し、関数オブジェクトを返します。

構文

template<class _InIt, class _Fn1> inline
    _Fn1 for_each(_InIt _First, _InIt _Last, _Fn1 _Func);

解説

この関数は、C++ 標準ライブラリ関数の for_each と同じように動作します。 詳細については、「for_each」を参照してください。

generate (STL/CLR)

範囲内の各要素に関数オブジェクトによって生成される値を割り当てます。

構文

template<class _FwdIt, class _Fn0> inline
    void generate(_FwdIt _First, _FwdIt _Last, _Fn0 _Func);

解説

この関数は、C++ 標準ライブラリ関数の generate と同じように動作します。 詳細については、「generate」を参照してください。

generate_n (STL/CLR)

範囲内の指定された数の要素に関数オブジェクトによって生成される値を割り当て、最後に割り当てられた値を 1 つ超えた位置を返します。

構文

template<class _OutIt, class _Diff, class _Fn0> inline
    void generate_n(_OutIt _Dest, _Diff _Count, _Fn0 _Func);

解説

この関数は、C++ 標準ライブラリ関数の generate_n と同じように動作します。 詳細については、「generate_n」を参照してください。

includes (STL/CLR)

1 つの並べ替えられた範囲に、別の並べ替えられた範囲内のすべての要素が含まれるかどうかをテストします。要素間の順序または等価の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2> inline
    bool includes(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool includes(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の includes と同じように動作します。 詳細については、「includes」を参照してください。

inplace_merge (STL/CLR)

2 つの連続する並べ替えられた範囲の要素を単一の並べ替えられた範囲として連結します。順序の基準は二項述語によって指定できます。

構文

template<class _BidIt> inline
    void inplace_merge(_BidIt _First, _BidIt _Mid, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    void inplace_merge(_BidIt _First, _BidIt _Mid, _BidIt _Last,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の inplace_merge と同じように動作します 詳細については、「inplace_merge」を参照してください。

iter_swap (STL/CLR)

指定された反復子のペアで参照される 2 個の値を交換します。

構文

template<class _FwdIt1, class _FwdIt2> inline
    void iter_swap(_FwdIt1 _Left, _FwdIt2 _Right);

解説

この関数は、C++ 標準ライブラリ関数の iter_swap と同じように動作します。 詳細については、「iter_swap」を参照してください。

lexicographical_compare (STL/CLR)

2 つのシーケンスを要素ごとに比較して、2 つのうちどちらが小さいかを判断します。

構文

template<class _InIt1, class _InIt2> inline
    bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の lexicographical_compare と同じように動作します。 詳細については、「lexicographical_compare」を参照してください。

lower_bound (STL/CLR)

順序付けられた範囲内で、指定した値以下の値を持つ最初の要素の位置を検索します。二項述語によって順序の基準を指定できます。

構文

template<class _FwdIt, class _Ty> inline
    _FwdIt lower_bound(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _FwdIt lower_bound(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の lower_bound と同じように動作します。 詳細については、「lower_bound」を参照してください。

make_heap (STL/CLR)

指定された範囲の要素を、最初の要素が最大であるヒープに変換します。並べ替えの基準は二項述語によって指定できます。

構文

template<class _RanIt> inline
    void make_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void make_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の make_heap と同じように動作します。 詳細については、「make_heap」を参照してください。

max (STL/CLR)

2 つのオブジェクトを比較し、大きい方のオブジェクトを返します。順序の基準は、二項述語によって指定できます。

構文

template<class _Ty> inline
    const _Ty max(const _Ty% _Left, const _Ty% _Right);
template<class _Ty, class _Pr> inline
    const _Ty max(const _Ty% _Left, const _Ty% _Right, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の max と同じように動作します。 詳細については、「max」を参照してください。

max_element (STL/CLR)

並べ替え基準をバイナリ述語で指定できる、指定された範囲内の最大の要素の最初の出現箇所を検索します。

構文

template<class _FwdIt> inline
    _FwdIt max_element(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt max_element(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の max_element と同じように動作します。 詳細については、「max_element」を参照してください。

merge (STL/CLR)

2 つの並べ替えられたソース範囲のすべての要素を単一の並べ替えられたターゲット範囲として連結します。順序の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt merge(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt merge(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の merge と同じように動作します。 詳細については、「merge」を参照してください。

min (STL/CLR)

2 つのオブジェクトを比較し、小さい方のオブジェクトを返します。順序の基準は、二項述語によって指定できます。

構文

template<class _Ty> inline
    const _Ty min(const _Ty% _Left, const _Ty% _Right);
template<class _Ty, class _Pr> inline
    const _Ty min(const _Ty% _Left, const _Ty% _Right, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の min と同じように動作します。 詳細については、「min」を参照してください。

min_element (STL/CLR)

指定された範囲内の最小の要素の最初の出現箇所を検索します。順序の基準は二項述語によって指定できます。

構文

template<class _FwdIt> inline
    _FwdIt min_element(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt min_element(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の min_element と同じように動作します。 詳細については、「min_element」を参照してください。

mismatch (STL/CLR)

二項述語によって指定された等値または等価について、2 つの範囲を要素ごとに比較し、相違点が発生する最初の位置を検索します。

構文

template<class _InIt1, class _InIt2> inline
    _PAIR_TYPE(_InIt1)
        mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2);
template<class _InIt1, class _InIt2, class _Pr> inline
    _PAIR_TYPE(_InIt1)
        mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
            _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の mismatch と同じように動作します。 詳細については、「mismatch」を参照してください。

next_permutation (STL/CLR)

範囲内の要素の順序を変更し、元の順序を辞書式に次に大きい順列 (存在する場合) に置き換えます。next の意味は二項述語によって指定できます。

構文

template<class _BidIt> inline
    bool next_permutation(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    bool next_permutation(_BidIt _First, _BidIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の next_permutation と同じように動作します。 詳細については、「next_permutation」を参照してください。

nth_element (STL/CLR)

要素の範囲をパーティション分割し、シーケンスの先頭にあるすべての要素がそれ以下であり、シーケンス内の後続のすべての要素がそれ以上になるように、シーケンスの第 1 要素を正しく配置 nします。

構文

template<class _RanIt> inline
    void nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の nth_element と同じように動作します。 詳細については、「nth_element」を参照してください。

partial_sort (STL/CLR)

範囲内で指定された数の、より小さい要素を、降順以外の順序、または二項述語で指定された順序の基準に従って配置します。

構文

template<class _RanIt> inline
    void partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の partial_sort と同じように動作します。 詳細については、「partial_sort」を参照してください。

partial_sort_copy (STL/CLR)

ソース範囲からターゲット範囲に要素をコピーします。ソース要素は小なりまたは指定された別の二項述語によって並べ替えられます。

構文

template<class _InIt, class _RanIt> inline
    _RanIt partial_sort_copy(_InIt _First1, _InIt _Last1,
        _RanIt _First2, _RanIt _Last2);
template<class _InIt, class _RanIt, class _Pr> inline
    _RanIt partial_sort_copy(_InIt _First1, _InIt _Last1,
        _RanIt _First2, _RanIt _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の partial_sort_copy と同じように動作します。 詳細については、「partial_sort_copy」を参照してください。

partition (STL/CLR)

範囲内の要素を 2 つの分離されたセットに分類し、単項述語を満たす要素が単項述語を満たさない要素よりも前に来るように配置します。

構文

template<class _BidIt, class _Pr> inline
    _BidIt partition(_BidIt _First, _BidIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の partition と同じように動作します。 詳細については、「partition」を参照してください。

pop_heap (STL/CLR)

ヒープの先頭と範囲内の最後から 2 番目の位置との間で最大の要素を削除し、残りの要素から新しいヒープを形成します。

構文

template<class _RanIt> inline
    void pop_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void pop_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の pop_heap と同じように動作します。 詳細については、「pop_heap」を参照してください。

prev_permutation (STL/CLR)

範囲内の要素の順序を変更し、元の順序を辞書式に次に大きい順列 (存在する場合) に置き換えます。next の意味は二項述語によって指定できます。

構文

template<class _BidIt> inline
    bool prev_permutation(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    bool prev_permutation(_BidIt _First, _BidIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の prev_permutation と同じように動作します。 詳細については、「prev_permutation」を参照してください。

push_heap (STL/CLR)

範囲の末尾にある要素を、範囲内の以前の要素で構成される既存のヒープに追加します。

構文

template<class _RanIt> inline
    void push_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void push_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の push_heap と同じように動作します。 詳細については、「push_heap」を参照してください。

random_shuffle (STL/CLR)

範囲内の N 個の要素のシーケンスを、ランダムに選択された N! 個の可能な配置の 1 つに再配置します。

構文

template<class _RanIt> inline
    void random_shuffle(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Fn1> inline
    void random_shuffle(_RanIt _First, _RanIt _Last, _Fn1% _Func);

解説

この関数は、C++ 標準ライブラリ関数の random_shuffle と同じように動作します。 詳細については、「random_shuffle」を参照してください。

remove (STL/CLR)

特定の範囲から指定された値を除去します。残りの要素の順序に影響を及ぼすことはなく、指定された値を含まない新しい範囲の末尾を返します。

構文

template<class _FwdIt, class _Ty> inline
    _FwdIt remove(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の remove と同じように動作します。 詳細については、「remove」を参照してください。

remove_copy (STL/CLR)

ソース範囲からターゲット範囲に要素をコピーしますが、指定された値の要素はコピーされません。残りの要素の順序に影響を及ぼすことはなく、新しいターゲット範囲の末尾を返します。

構文

template<class _InIt, class _OutIt, class _Ty> inline
    _OutIt remove_copy(_InIt _First, _InIt _Last,
        _OutIt _Dest, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の remove_copy と同じように動作します。 詳細については、「remove_copy」を参照してください。

remove_copy_if (STL/CLR)

ソース範囲からターゲット範囲に要素をコピーしますが、述語を満たす要素はコピーされません。残りの要素の順序に影響を及ぼすことはなく、新しいターゲット範囲の末尾を返します。

構文

template<class _InIt, class _OutIt, class _Pr> inline
    _OutIt remove_copy_if(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の remove_copy_if と同じように動作します。 詳細については、「remove_copy_if」を参照してください。

remove_if (STL/CLR)

特定の範囲から述語を満たす要素を除去します。残りの要素の順序に影響を及ぼすことはなく、指定された値を含まない新しい範囲の末尾を返します。

構文

template<class _FwdIt, class _Pr> inline
    _FwdIt remove_if(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の remove_if と同じように動作します。 詳細については、「remove_if」を参照してください。

replace (STL/CLR)

範囲内の各要素が指定された値に一致するかどうかを調べ、一致する場合は置き換えます。

構文

template<class _FwdIt, class _Ty> inline
    void replace(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Oldval, const _Ty% _Newval);

解説

この関数は、C++ 標準ライブラリ関数の replace と同じように動作します。 詳細については、「replace」を参照してください。

replace_copy (STL/CLR)

ソース範囲内の各要素が指定された値に一致するかどうかを調べ、一致する場合は置き換えて結果を新しいターゲット範囲にコピーします。

構文

template<class _InIt, class _OutIt, class _Ty> inline
    _OutIt replace_copy(_InIt _First, _InIt _Last, _OutIt _Dest,
        const _Ty% _Oldval, const _Ty% _Newval);

解説

この関数は、C++ 標準ライブラリ関数の replace_copy と同じように動作します。 詳細については、「replace_copy」を参照してください。

replace_copy_if (STL/CLR)

ソース範囲内の各要素が指定された述語を満たすかどうかを調べ、満たす場合は置き換えて結果を新しいターゲット範囲にコピーします。

構文

template<class _InIt, class _OutIt, class _Pr, class _Ty> inline
    _OutIt replace_copy_if(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred, const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の replace_copy_if と同じように動作します。 詳細については、「replace_copy_if」を参照してください。

replace_if (STL/CLR)

範囲内の各要素が指定された述語を満たすかどうかを調べ、満たす場合は置き換えます。

構文

template<class _FwdIt, class _Pr, class _Ty> inline
    void replace_if(_FwdIt _First, _FwdIt _Last, _Pr _Pred,
        const _Ty% _Val);

解説

この関数は、C++ 標準ライブラリ関数の replace_if と同じように動作します。 詳細については、「replace_if」を参照してください。

reverse (STL/CLR)

範囲内の要素の順序を反転させます。

構文

template<class _BidIt> inline
    void reverse(_BidIt _First, _BidIt _Last);

解説

この関数は、C++ 標準ライブラリ関数の reverse と同じように動作します。 詳細については、「reverse」を参照してください。

reverse_copy (STL/CLR)

ソース範囲内の要素の順序を反転し、それらをターゲット範囲にコピーします。

構文

template<class _BidIt, class _OutIt> inline
    _OutIt reverse_copy(_BidIt _First, _BidIt _Last, _OutIt _Dest);

解説

この関数は、C++ 標準ライブラリ関数の reverse_copy と同じように動作します。 詳細については、「reverse_copy」を参照してください。

rotate (STL/CLR)

2 つの隣接する範囲の要素を交換します。

構文

template<class _FwdIt> inline
    void rotate(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last);

解説

この関数は、C++ 標準ライブラリ関数の rotate と同じように動作します。 詳細については、「rotate」を参照してください。

rotate_copy (STL/CLR)

ソース範囲内の 2 つの隣接する範囲の要素を交換し、結果をターゲット範囲にコピーします。

構文

template<class _FwdIt, class _OutIt> inline
    _OutIt rotate_copy(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last,
        _OutIt _Dest);

解説

この関数は、C++ 標準ライブラリ関数の rotate_copy と同じように動作します。 詳細については、「rotate_copy」を参照してください。

search (STL/CLR)

要素が特定の要素シーケンス内の要素と等しいか、または要素が二項述語で指定される意味において特定のシーケンス内の要素と等価であるシーケンスが、対象範囲内で最初に出現する位置を検索します。

構文

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 search(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 search(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の search と同じように動作します。 詳細については、「search」を参照してください。

search_n (STL/CLR)

特定の値を持つか、二項述語によって指定される値と関連する、指定された数の要素で構成される範囲内の最初のサブシーケンスを検索します。

構文

template<class _FwdIt1, class _Diff2, class _Ty> inline
    _FwdIt1 search_n(_FwdIt1 _First1, _FwdIt1 _Last1,
        _Diff2 _Count, const _Ty& _Val);
template<class _FwdIt1, class _Diff2, class _Ty, class _Pr> inline
    _FwdIt1 search_n(_FwdIt1 _First1, _FwdIt1 _Last1,
        _Diff2 _Count, const _Ty& _Val, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の search_n と同じように動作します。 詳細については、「search_n」を参照してください。

set_difference (STL/CLR)

1 つの並べ替えられたソース範囲内に属するが、2 番目の並べ替えられたソース範囲には属さないすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2,_OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の set_difference と同じように動作します。 詳細については、「set_difference」を参照してください。

set_intersection (STL/CLR)

両方の並べ替えられたソース範囲に属するすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_intersection(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_intersection(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の set_intersection と同じように動作します。 詳細については、「set_intersection」を参照してください。

set_symmetric_difference (STL/CLR)

並べ替えられたソース範囲の一方には属するが、両方には属さないすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_symmetric_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_symmetric_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の set_symmetric_difference と同じように動作します。 詳細については、「set_symmetric_difference」を参照してください。

set_union (STL/CLR)

2 つの並べ替えられたソース範囲の少なくとも一方に属するすべての要素を単一の並べ替えられたターゲット範囲として結合します。順序の基準は二項述語によって指定できます。

構文

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_union(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_union(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の set_union と同じように動作します。 詳細については、「set_union」を参照してください。

sort (STL/CLR)

指定された範囲の要素を、降順以外の順序、または二項述語で指定された順序の基準に従って配置します。

構文

template<class _RanIt> inline
    void sort(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void sort(_RanIt _First, _RanIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の sort と同じように動作します。 詳細については、「sort」を参照してください。

sort_heap (STL/CLR)

ヒープを並べ替えられた範囲に変換します。

構文

template<class _RanIt> inline
    void sort_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void sort_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の sort_heap と同じように動作します。 詳細については、「sort_heap」を参照してください。

stable_partition (STL/CLR)

範囲内の要素を 2 つの分離されたセットに分類し、等価要素の相対順序は維持して、単項述語を満たす要素が単項述語を満たさない要素よりも前に来るように配置します。

構文

template<class _BidIt, class _Pr> inline
    _BidIt stable_partition(_BidIt _First, _BidIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の stable_partition と同じように動作します。 詳細については、「stable_partition」を参照してください。

stable_sort (STL/CLR)

指定された範囲の要素を、降順以外の順序、または二項述語で指定された順序の基準に従って、等価要素の相対順序を維持して配置します。

構文

template<class _BidIt> inline
    void stable_sort(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    void stable_sort(_BidIt _First, _BidIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の stable_sort と同じように動作します。 詳細については、「stable_sort」を参照してください。

swap (STL/CLR)

2 種類のオブジェクトの間で、最初のオブジェクトの内容を 2 番目のオブジェクトに割り当て、2 番目のオブジェクトの内容を最初のオブジェクトに割り当てて、要素の値を交換します。

構文

<class _Ty> inline
    void swap(_Ty% _Left, _Ty% _Right);

解説

この関数は、C++ 標準ライブラリ関数の swap と同じように動作します。 詳細については、「swap」を参照してください。

swap_ranges (STL/CLR)

1 つの範囲の要素を、同じサイズの別の範囲の要素と交換します。

構文

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt2 swap_ranges(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2);

解説

この関数は、C++ 標準ライブラリ関数の swap_ranges と同じように動作します。 詳細については、「swap_ranges」を参照してください。

transform (STL/CLR)

指定された関数オブジェクトをソース範囲内の各要素、または 2 つのソース範囲内の要素のペアに適用し、関数オブジェクトの戻り値をターゲット範囲にコピーします。

構文

template<class _InIt, class _OutIt, class _Fn1> inline
    _OutIt transform(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Fn1 _Func);
template<class _InIt1, class _InIt2, class _OutIt, class _Fn2> inline
    _OutIt transform(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
        _OutIt _Dest, _Fn2 _Func);

解説

この関数は、C++ 標準ライブラリ関数の transform と同じように動作します。 詳細については、「transform」を参照してください。

unique (STL/CLR)

指定された範囲内の互いに隣接する重複要素を削除します。

構文

template<class _FwdIt> inline
    _FwdIt unique(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt unique(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の unique と同じように動作します。 詳細については、「unique」を参照してください。

unique_copy (STL/CLR)

互いに隣接する重複要素を除き、ソース範囲の要素をターゲット範囲にコピーします。

構文

template<class _InIt, class _OutIt> inline
    _OutIt unique_copy(_InIt _First, _InIt _Last, _OutIt _Dest);
template<class _InIt, class _OutIt, class _Pr> inline
    _OutIt unique_copy(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の unique_copy と同じように動作します。 詳細については、「unique_copy」を参照してください。

upper_bound (STL/CLR)

順序の基準が二項述語で指定できる場合に、順序付けられた範囲内で、指定した値を超える値を持つ最初の要素の位置を検索します。

構文

template<class _FwdIt, class _Ty> inline
    _FwdIt upper_bound(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _FwdIt upper_bound(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

解説

この関数は、C++ 標準ライブラリ関数の upper_bound と同じように動作します。 詳細については、「upper_bound」を参照してください。