priority_queue::priority_queue (STL/CLR)
コンテナーのアダプター オブジェクトを構築します。
priority_queue();
priority_queue(priority_queue<Value, Container> right);
priority_queue(priority_queue<Value, Container> right);
explicit priority_queue(value_compare^ pred);
priority_queue(value_compare^ pred, container_type% cont);
template<typename InIt>
priority_queue(InIt first, InIt last);
template<typename InIt>
priority_queue(InIt first, InIt last,
value_compare^ pred);
template<typename InIt>
priority_queue(InIt first, InIt last,
value_compare^ pred, container_type% cont);
パラメーター
cont
コピーするコンテナー。まず
挿入する範囲の先頭。last
挿入する範囲の最後。pred
被制御シーケンスの命令の述語。[right]
挿入するオブジェクトまたは範囲。
解説
次のコンストラクターを見てください。
priority_queue();
既定の命令の述語に空のラップされたコンテナーを作成します。既定の命令の述語の空の初期被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
priority_queue(priority_queue<Value, Container>% right);
right.get_container()のコピーである命令の述語 right.value_comp()でラップされたコンテナーを作成します。キュー オブジェクト rightによって制御されるシーケンスのコピーである手順の述語の最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
priority_queue(priority_queue<Value, Container>^ right);
right->get_container()のコピーである命令の述語 right->value_comp()でラップされたコンテナーを作成します。キュー オブジェクト *rightによって制御されるシーケンスのコピーである手順の述語の最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
explicit priority_queue(value_compare^ pred);
命令の述語 predと空のラップされたコンテナーを作成します。指定した命令の述語の空の初期被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
priority_queue(value_compare^ pred, container_type cont);
空のラップされたコンテナーを、命令の述語 predで作成し、既存のコンテナーから最初の被制御シーケンスを指定する場合には、を使用して、指定した命令の述語の cont のすべての要素を押します。
次のコンストラクターを見てください。
template<typename InIt>
priority_queue(InIt first, InIt last);
空のラップされたコンテナーを、既定の命令の述語で作成し、次にシーケンス [first,last)を押します。指定した命令の述語を指定 eqeuence から最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
template<typename InIt>
priority_queue(InIt first, InIt last,
value_compare^ pred);
空のラップされたコンテナーを、命令の述語 predで作成し、次にシーケンス [first,last)を押します。指定した命令の述語を指定 seqeuence から最初の被制御シーケンスを指定する場合に使用します。
次のコンストラクターを見てください。
template<typename InIt>
priority_queue(InIt first, InIt last,
value_compare^ pred, container_type% cont);
空のラップされたコンテナーを、命令の述語 predで作成し、次にシーケンス [first,last)と cont のすべての要素を押します。指定した命令の述語の既存のコンテナーと指定 seqeuence から最初の被制御シーケンスを指定する場合に使用します。
使用例
// cliext_priority_queue_construct.cpp
// compile with: /clr
#include <cliext/queue>
#include <cliext/deque>
typedef cliext::priority_queue<wchar_t> Mypriority_queue;
typedef cliext::deque<wchar_t> Mydeque;
int main()
{
// construct an empty container
Mypriority_queue c1;
Mypriority_queue::container_type^ wc1 = c1.get_container();
System::Console::WriteLine("size() = {0}", c1.size());
c1.push(L'a');
c1.push(L'b');
c1.push(L'c');
for each (wchar_t elem in wc1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an ordering rule
Mypriority_queue c2 = cliext::greater<wchar_t>();
System::Console::WriteLine("size() = {0}", c2.size());
for each (wchar_t elem in wc1)
c2.push(elem);
for each (wchar_t elem in c2.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an ordering rule by copying an underlying container
Mypriority_queue c2x =
gcnew Mypriority_queue(cliext::greater<wchar_t>(), *wc1);
for each (wchar_t elem in c2x.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an iterator range
Mypriority_queue c3(wc1->begin(), wc1->end());
for each (wchar_t elem in c3.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an iterator range and an ordering rule
Mypriority_queue c4(wc1->begin(), wc1->end(),
cliext::greater<wchar_t>());
for each (wchar_t elem in c4.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an iterator range, another container, and an ordering rule
Mypriority_queue c5(wc1->begin(), wc1->end(),
cliext::greater<wchar_t>(), *wc1);
for each (wchar_t elem in c5.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct from a generic container
Mypriority_queue c6(c3);
for each (wchar_t elem in c6.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct by copying another container
Mypriority_queue c7(%c3);
for each (wchar_t elem in c7.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// construct with an ordering rule, by copying an underlying container
Mypriority_queue c8 =
gcnew Mypriority_queue(cliext::greater<wchar_t>(), *wc1);
for each (wchar_t elem in c8.get_container())
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
必要条件
ヘッダー: <cliext とキュー>
名前空間: の cliext
参照
関連項目
priority_queue::assign (STL/CLR)