この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

is_heap_until

 

ヒープの順序付け条件を満たしていない範囲 [beginend) の最初の要素に位置する反復子を返します。または、範囲がヒープを形成している場合は、最後の要素 end に位置する反復子を返します。

template<class RandomAccessIterator>
    RandomAccessIterator is_heap_until(
        RandomAccessIterator begin, 
        RandomAccessIterator end
    );
template<class RandomAccessIterator, class BinaryPredicate> 
    RandomAccessIterator is_heap_until(
        RandomAccessIterator begin, 
        RandomAccessIterator end, 
        BinaryPredicate compare
    );

begin

ヒープを確認する範囲の最初の要素を指定するランダム アクセス反復子。

end

ヒープを確認する範囲の末尾を指定するランダム アクセス反復子。

compare

ヒープを定義する厳密弱順序の条件を指定する二項述語。   compare を指定しない場合の既定の述語は std::less<> です。  

指定された範囲がヒープを形成している場合、または指定された範囲に含まれる要素が 1 つ以下の場合は、end を返します。  それ以外の場合、ヒープの条件を満たさない最初の要素の反復子を返します。  

1 つ目のテンプレート関数は、next[begin, end のうち、][begin が関数オブジェクト , next) によって順序付けられるヒープである場合の最後の反復子 std::less<> を返します。  距離が end   - begin < 2 の場合、この関数は end を返します。

2 つ目のテンプレート関数は 1 つ目の関数と同様の動作をしますが、ヒープの順序付け条件として compare ではなく、述語 std::less<> を使用します。

必要条件

ヘッダー: <algorithm>

名前空間: std

表示: