functional
(STL/CLR)
Sertakan header <cliext/functional>
STL/CLR untuk menentukan templat kelas fungsional dan delegasi dan fungsi templat terkait.
Sintaks
#include <functional>
Persyaratan
Header:<cliext/functional>
kumpulan nama XML: cliext
Deklarasi
Delegasikan | Deskripsi |
---|---|
binary_delegate (STL/CLR) |
Delegasi dua argumen. |
binary_delegate_noreturn (STL/CLR) |
Delegasi dua argumen mengembalikan void . |
unary_delegate (STL/CLR) |
Delegasi satu argumen. |
unary_delegate_noreturn (STL/CLR) |
Delegasi satu argumen mengembalikan void . |
Kelas | Deskripsi |
---|---|
binary_negate (STL/CLR) |
Functor untuk meniadakan funktor dua argumen. |
binder1st (STL/CLR) |
Functor untuk mengikat argumen pertama ke functor dua argumen. |
binder2nd (STL/CLR) |
Functor untuk mengikat argumen kedua ke functor dua argumen. |
divides (STL/CLR) |
Bagi functor. |
equal_to (STL/CLR) |
Funktor perbandingan yang sama. |
greater (STL/CLR) |
Funktor perbandingan yang lebih besar. |
greater_equal (STL/CLR) |
Lebih besar atau sama dengan funktor perbandingan. |
less (STL/CLR) |
Lebih sedikit funktor perbandingan. |
less_equal (STL/CLR) |
Funktor perbandingan yang kurang atau sama. |
logical_and (STL/CLR) |
Logis DAN funktor. |
logical_not (STL/CLR) |
Funktor NOT logis. |
logical_or (STL/CLR) |
Logis ATAU funktor. |
minus (STL/CLR) |
Kurangi funktor. |
modulus (STL/CLR) |
Modulus functor. |
multiplies (STL/CLR) |
Kalikan funktor. |
negate (STL/CLR) |
Functor untuk mengembalikan argumennya dinegasikan. |
not_equal_to (STL/CLR) |
Tidak sama dengan funktor perbandingan. |
plus (STL/CLR) |
Tambahkan functor. |
unary_negate (STL/CLR) |
Functor untuk meniadakan funktor satu argumen. |
Fungsi | Deskripsi |
---|---|
bind1st (STL/CLR) |
Menghasilkan binder1st untuk argumen dan funktor. |
bind2nd (STL/CLR) |
Menghasilkan binder2nd untuk argumen dan funktor. |
not1 (STL/CLR) |
Menghasilkan unary_negate untuk funktor. |
not2 (STL/CLR) |
Menghasilkan binary_negate untuk funktor. |
Anggota
binary_delegate
(STL/CLR)
Kelas generik menjelaskan delegasi dua argumen. Anda menggunakannya menentukan delegasi dalam hal argumennya dan jenis pengembaliannya.
Sintaks
generic<typename Arg1,
typename Arg2,
typename Result>
delegate Result binary_delegate(Arg1, Arg2);
Parameter
Arg1
Jenis argumen pertama.
Arg2
Jenis argumen kedua.
Result
Jenis pengembalian.
Keterangan
Delegasi generik menjelaskan fungsi dua argumen.
Dalam templat fungsi ini:
binary_delegate<int, int, int> Fun1;
binary_delegate<int, int, int> Fun2;
jenis Fun1
dan Fun2
merupakan sinonim, sementara untuk:
delegate int Fun1(int, int);
delegate int Fun2(int, int);
mereka bukan tipe yang sama.
Contoh
// cliext_binary_delegate.cpp
// compile with: /clr
#include <cliext/functional>
bool key_compare(wchar_t left, wchar_t right)
{
return (left < right);
}
typedef cliext::binary_delegate<wchar_t, wchar_t, bool> Mydelegate;
int main()
{
Mydelegate^ kcomp = gcnew Mydelegate(&key_compare);
System::Console::WriteLine("compare(L'a', L'a') = {0}",
kcomp(L'a', L'a'));
System::Console::WriteLine("compare(L'a', L'b') = {0}",
kcomp(L'a', L'b'));
System::Console::WriteLine("compare(L'b', L'a') = {0}",
kcomp(L'b', L'a'));
System::Console::WriteLine();
return (0);
}
compare(L'a', L'a') = False
compare(L'a', L'b') = True
compare(L'b', L'a') = False
binary_delegate_noreturn
(STL/CLR)
Kelas generik menjelaskan delegasi dua argumen yang mengembalikan void
. Anda menggunakannya menentukan delegasi dalam hal argumennya.
Sintaks
generic<typename Arg1,
typename Arg2>
delegate void binary_delegate(Arg1, Arg2);
Parameter
Arg1
Jenis argumen pertama.
Arg2
Jenis argumen kedua.
Keterangan
Delegasi generik menjelaskan fungsi dua argumen yang mengembalikan void
.
Dalam templat fungsi ini:
binary_delegate_noreturn<int, int> Fun1;
binary_delegate_noreturn<int, int> Fun2;
jenis Fun1
dan Fun2
merupakan sinonim, sementara untuk:
delegate void Fun1(int, int);
delegate void Fun2(int, int);
mereka bukan tipe yang sama.
Contoh
// cliext_binary_delegate_noreturn.cpp
// compile with: /clr
#include <cliext/functional>
void key_compare(wchar_t left, wchar_t right)
{
System::Console::WriteLine("compare({0}, {1}) = {2}",
left, right, left < right);
}
typedef cliext::binary_delegate_noreturn<wchar_t, wchar_t> Mydelegate;
int main()
{
Mydelegate^ kcomp = gcnew Mydelegate(&key_compare);
kcomp(L'a', L'a');
kcomp(L'a', L'b');
kcomp(L'b', L'a');
System::Console::WriteLine();
return (0);
}
compare(a, a) = False
compare(a, b) = True
compare(b, a) = False
binary_negate
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan NOT logis dari funktor dua argumen yang disimpan. Anda menggunakannya menentukan objek fungsi dalam hal funktor yang disimpan.
Sintaks
template<typename Fun>
ref class binary_negate
{ // wrap operator()
public:
typedef Fun stored_function_type;
typedef typename Fun::first_argument_type first_argument_type;
typedef typename Fun::second_argument_type second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
explicit binary_negate(Fun% functor);
binary_negate(binary_negate<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Fun
Jenis funktor yang disimpan.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
stored_function_type |
Jenis funktor. |
Anggota | Deskripsi |
---|---|
binary_negate |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^() |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen yang menyimpan functor dua argumen lainnya. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan NOT logis dari funktor tersimpan yang dipanggil dengan dua argumen.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_binary_negate.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::less<int> less_op;
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(),
cliext::binary_negate<cliext::less<int> >(less_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::not2(less_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
1 0
1 0
bind1st
(STL/CLR)
binder1st
Menghasilkan untuk argumen dan functor.
Sintaks
template<typename Fun,
typename Arg>
binder1st<Fun> bind1st(Fun% functor,
Arg left);
Parameter Templat
Arg
Jenis argumen.
Fun
Jenis funktor.
Parameter Fungsi
functor
Jamur untuk dibungkus.
left
Argumen pertama yang akan dibungkus.
Keterangan
Templat fungsi mengembalikan binder1st<Fun>(functor, left)
. Anda menggunakannya sebagai cara mudah untuk membungkus funktor dua argumen dan argumen pertamanya dalam funktor satu argumen yang menyebutnya dengan argumen kedua.
Contoh
// cliext_bind1st.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::minus<int> sub_op;
cliext::binder1st<cliext::minus<int> > subfrom3(sub_op, 3);
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
subfrom3);
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
bind1st(sub_op, 3));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
-1 0
-1 0
bind2nd
(STL/CLR)
binder2nd
Menghasilkan untuk argumen dan functor.
Sintaks
template<typename Fun,
typename Arg>
binder2nd<Fun> bind2nd(Fun% functor,
Arg right);
Parameter Templat
Arg
Jenis argumen.
Fun
Jenis funktor.
Parameter Fungsi
functor
Jamur untuk dibungkus.
right
Argumen kedua untuk dibungkus.
Keterangan
Templat fungsi mengembalikan binder2nd<Fun>(functor, right)
. Anda menggunakannya sebagai cara mudah untuk membungkus funktor dua argumen dan argumen kedua dalam funktor satu argumen yang memanggilnya dengan argumen pertama.
Contoh
// cliext_bind2nd.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::minus<int> sub_op;
cliext::binder2nd<cliext::minus<int> > sub4(sub_op, 4);
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
sub4);
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
bind2nd(sub_op, 4));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
0 -1
0 -1
binder1st
(STL/CLR)
Kelas templat menjelaskan funktor satu argumen yang, ketika dipanggil, mengembalikan funktor dua argumen tersimpan yang disebut dengan argumen pertama yang disimpan dan argumen kedua yang disediakan. Anda menggunakannya menentukan objek fungsi dalam hal funktor yang disimpan.
Sintaks
template<typename Fun>
ref class binder1st
{ // wrap operator()
public:
typedef Fun stored_function_type;
typedef typename Fun::first_argument_type first_argument_type;
typedef typename Fun::second_argument_type second_argument_type;
typedef typename Fun:result_type result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
second_argument_type, result_type>
delegate_type;
binder1st(Fun% functor, first_argument_type left);
binder1st(binder1st<Arg>% right);
result_type operator()(second_argument_type right);
operator delegate_type^();
};
Parameter
Fun
Jenis funktor yang disimpan.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
stored_function_type |
Jenis funktor. |
Anggota | Deskripsi |
---|---|
binder1st |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^() |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor satu argumen yang menyimpan funktor dua argumen dan argumen pertama. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan hasil memanggil funktor tersimpan dengan argumen pertama yang disimpan dan argumen kedua yang disediakan.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_binder1st.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::minus<int> sub_op;
cliext::binder1st<cliext::minus<int> > subfrom3(sub_op, 3);
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
subfrom3);
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
bind1st(sub_op, 3));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
-1 0
-1 0
binder2nd
(STL/CLR)
Kelas templat menjelaskan funktor satu argumen yang, ketika dipanggil, mengembalikan funktor dua argumen tersimpan yang disebut dengan argumen pertama yang disediakan dan argumen kedua yang disimpan. Anda menggunakannya menentukan objek fungsi dalam hal funktor yang disimpan.
Sintaks
template<typename Fun>
ref class binder2nd
{ // wrap operator()
public:
typedef Fun stored_function_type;
typedef typename Fun::first_argument_type first_argument_type;
typedef typename Fun::second_argument_type second_argument_type;
typedef typename Fun:result_type result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
first_argument_type, result_type>
delegate_type;
binder2nd(Fun% functor, second_argument_type left);
binder2nd(binder2nd<Arg>% right);
result_type operator()(first_argument_type right);
operator delegate_type^();
};
Parameter
Fun
Jenis funktor yang disimpan.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
stored_function_type |
Jenis funktor. |
Anggota | Deskripsi |
---|---|
binder2nd |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^() |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor satu argumen yang menyimpan funktor dua argumen dan argumen kedua. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan hasil memanggil funktor tersimpan dengan argumen pertama yang disediakan dan argumen kedua yang disimpan.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_binder2nd.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::minus<int> sub_op;
cliext::binder2nd<cliext::minus<int> > sub4(sub_op, 4);
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
sub4);
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
bind2nd(sub_op, 4));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
0 -1
0 -1
divides
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan argumen pertama yang dibagi dengan yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class divides
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
divides();
divides(divides<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen dan nilai pengembalian.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
divides |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^() |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan argumen pertama yang dibagi dengan yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_divides.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(2);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 2 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::divides<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
2 1
2 3
equal_to
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama sama dengan yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class equal_to
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
equal_to();
equal_to(equal_to<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
equal_to |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^() |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama sama dengan yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_equal_to.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::equal_to<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
1 0
greater
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama lebih besar dari yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class greater
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
greater();
greater(greater<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
greater |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama lebih besar dari yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_greater.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(3);
c2.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 3 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::greater<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
3 3
1 0
greater_equal
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama lebih besar dari atau sama dengan yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class greater_equal
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
greater_equal();
greater_equal(greater_equal<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
greater_equal |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama lebih besar dari atau sama dengan yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_greater_equal.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::greater_equal<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
1 0
less
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama kurang dari yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class less
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
less();
less(less<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
less |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama kurang dari yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_less.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::less<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
0 1
less_equal
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama kurang dari atau sama dengan yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class less_equal
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
less_equal();
less_equal(less_equal<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
less_equal |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama kurang dari atau sama dengan yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_less_equal.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(3);
c2.push_back(3);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 3 3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::less_equal<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
3 3
0 1
logical_and
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama dan pengujian kedua sebagai true. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class logical_and
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
logical_and();
logical_and(logical_and<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
logical_and |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama dan pengujian kedua sebagai true.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_logical_and.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(2);
c1.push_back(0);
Myvector c2;
c2.push_back(3);
c2.push_back(0);
Myvector c3(2, 0);
// display initial contents " 1 0" and " 1 0"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::logical_and<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
2 0
3 0
1 0
logical_not
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumennya diuji sebagai false. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class logical_not
{ // wrap operator()
public:
typedef Arg argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
argument_type, result_type>
delegate_type;
logical_not();
logical_not(logical_not<Arg> %right);
result_type operator()(argument_type left);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
argument_type |
Jenis argumen functor. |
delegate_type |
Jenis delegasi generik. |
result_type |
Jenis hasil functor. |
Anggota | Deskripsi |
---|---|
logical_not |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor satu argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumennya diuji sebagai false.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_logical_not.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(0);
Myvector c3(2, 0);
// display initial contents " 4 0"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c3.begin(), cliext::logical_not<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 0
0 1
logical_or
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama atau pengujian kedua sebagai true. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class logical_or
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
logical_or();
logical_or(logical_or<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
logical_or |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama atau pengujian kedua sebagai true.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_logical_or.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(2);
c1.push_back(0);
Myvector c2;
c2.push_back(0);
c2.push_back(0);
Myvector c3(2, 0);
// display initial contents " 2 0" and " 0 0"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::logical_or<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
2 0
0 0
1 0
minus
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan argumen pertama dikurangi yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class minus
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
minus();
minus(minus<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen dan nilai pengembalian.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
minus |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan argumen pertama dikurangi yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_minus.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(2);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 2 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::minus<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
2 1
2 2
modulus
(STL/CLR)
Kelas templat menjelaskan funktor yang, saat dipanggil, mengembalikan modul argumen pertama yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class modulus
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
modulus();
modulus(modulus<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen dan nilai pengembalian.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
modulus |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan modul argumen pertama yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_modulus.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(2);
Myvector c2;
c2.push_back(3);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 2" and " 3 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::modulus<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 2
3 1
1 0
multiplies
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan argumen pertama kali yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class multiplies
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
multiplies();
multiplies(multiplies<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen dan nilai pengembalian.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
multiplies |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan argumen pertama kali yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_multiplies.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(2);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 2 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::multiplies<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
2 1
8 3
negate
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan argumennya yang dinegasikan. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class negate
{ // wrap operator()
public:
typedef Arg argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
argument_type, result_type>
delegate_type;
negate();
negate(negate<Arg>% right);
result_type operator()(argument_type left);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
argument_type |
Jenis argumen functor. |
delegate_type |
Jenis delegasi generik. |
result_type |
Jenis hasil functor. |
Anggota | Deskripsi |
---|---|
negate |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor satu argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan argumen yang dinegasikan.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_negate.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(-3);
Myvector c3(2, 0);
// display initial contents " 4 -3"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c3.begin(), cliext::negate<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 -3
-4 3
not_equal_to
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan true hanya jika argumen pertama tidak sama dengan yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class not_equal_to
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
not_equal_to();
not_equal_to(not_equal_to<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
not_equal_to |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan true hanya jika argumen pertama tidak sama dengan yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_not_equal_to.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::not_equal_to<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
0 1
not1
(STL/CLR)
unary_negate
Menghasilkan untuk funktor.
Sintaks
template<typename Fun>
unary_negate<Fun> not1(Fun% functor);
Parameter Templat
Fun
Jenis funktor.
Parameter Fungsi
functor
Jamur untuk dibungkus.
Keterangan
Templat fungsi mengembalikan unary_negate<Fun>(functor)
. Anda menggunakannya sebagai cara mudah untuk membungkus funktor satu argumen dalam funktor yang memberikan NOT logisnya.
Contoh
// cliext_not1.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(0);
Myvector c3(2, 0);
// display initial contents " 4 0"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::logical_not<int> not_op;
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
cliext::unary_negate<cliext::logical_not<int> >(not_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
cliext::not1(not_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 0
1 0
1 0
not2
(STL/CLR)
binary_negate
Menghasilkan untuk funktor.
Sintaks
template<typename Fun>
binary_negate<Fun> not2(Fun% functor);
Parameter Templat
Fun
Jenis funktor.
Parameter Fungsi
functor
Jamur untuk dibungkus.
Keterangan
Templat fungsi mengembalikan binary_negate<Fun>(functor)
. Anda menggunakannya sebagai cara mudah untuk membungkus funktor dua argumen dalam funktor yang memberikan NOT logisnya.
Contoh
// cliext_not2.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(4);
c2.push_back(4);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 4 4"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::less<int> less_op;
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(),
cliext::binary_negate<cliext::less<int> >(less_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::not2(less_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
4 4
1 0
1 0
plus
(STL/CLR)
Kelas templat menjelaskan funktor yang, saat dipanggil, mengembalikan argumen pertama ditambah yang kedua. Anda menggunakannya menentukan objek fungsi dalam hal jenis argumennya.
Sintaks
template<typename Arg>
ref class plus
{ // wrap operator()
public:
typedef Arg first_argument_type;
typedef Arg second_argument_type;
typedef Arg result_type;
typedef Microsoft::VisualC::StlClr::BinaryDelegate<
first_argument_type, second_argument_type, result_type>
delegate_type;
plus();
plus(plus<Arg>% right);
result_type operator()(first_argument_type left,
second_argument_type right);
operator delegate_type^();
};
Parameter
Arg
Jenis argumen dan nilai pengembalian.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
delegate_type |
Jenis delegasi generik. |
first_argument_type |
Jenis argumen pertama functor. |
result_type |
Jenis hasil functor. |
second_argument_type |
Jenis argumen kedua funktor. |
Anggota | Deskripsi |
---|---|
plus |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
operator delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor dua argumen. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, ia mengembalikan argumen pertama ditambah yang kedua.
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_plus.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(3);
Myvector c2;
c2.push_back(2);
c2.push_back(1);
Myvector c3(2, 0);
// display initial contents " 4 3" and " 2 1"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
for each (int elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::transform(c1.begin(), c1.begin() + 2,
c2.begin(), c3.begin(), cliext::plus<int>());
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 3
2 1
6 4
unary_delegate
(STL/CLR)
Kelas generik menjelaskan delegasi satu argumen. Anda menggunakannya menentukan delegasi dalam hal argumennya dan jenis pengembaliannya.
Sintaks
generic<typename Arg,
typename Result>
delegate Result unary_delegate(Arg);
Parameter
Arg
Jenis argumen.
Result
Jenis pengembalian.
Keterangan
Delegasi generik menjelaskan fungsi satu argumen.
Dalam templat fungsi ini:
unary_delegate<int, int> Fun1;
unary_delegate<int, int> Fun2;
jenis Fun1
dan Fun2
merupakan sinonim, sementara untuk:
delegate int Fun1(int);
delegate int Fun2(int);
mereka bukan tipe yang sama.
Contoh
// cliext_unary_delegate.cpp
// compile with: /clr
#include <cliext/functional>
int hash_val(wchar_t val)
{
return ((val * 17 + 31) % 67);
}
typedef cliext::unary_delegate<wchar_t, int> Mydelegate;
int main()
{
Mydelegate^ myhash = gcnew Mydelegate(&hash_val);
System::Console::WriteLine("hash(L'a') = {0}", myhash(L'a'));
System::Console::WriteLine("hash(L'b') = {0}", myhash(L'b'));
return (0);
}
hash(L'a') = 5
hash(L'b') = 22
unary_delegate_noreturn
(STL/CLR)
Kelas generik menjelaskan delegasi satu argumen yang mengembalikan void
. Anda menggunakannya menentukan delegasi dalam hal jenis argumennya.
Sintaks
generic<typename Arg>
delegate void unary_delegate_noreturn(Arg);
Parameter
Arg
Jenis argumen.
Keterangan
Delegasi generik menjelaskan fungsi satu argumen yang mengembalikan void
.
Dalam templat fungsi ini:
unary_delegate_noreturn<int> Fun1;
unary_delegate_noreturn<int> Fun2;
jenis Fun1
dan Fun2
merupakan sinonim, sementara untuk:
delegate void Fun1(int);
delegate void Fun2(int);
mereka bukan tipe yang sama.
Contoh
// cliext_unary_delegate_noreturn.cpp
// compile with: /clr
#include <cliext/functional>
void hash_val(wchar_t val)
{
System::Console::WriteLine("hash({0}) = {1}",
val, (val * 17 + 31) % 67);
}
typedef cliext::unary_delegate_noreturn<wchar_t> Mydelegate;
int main()
{
Mydelegate^ myhash = gcnew Mydelegate(&hash_val);
myhash(L'a');
myhash(L'b');
return (0);
}
hash(a) = 5
hash(b) = 22
unary_negate
(STL/CLR)
Kelas templat menjelaskan funktor yang, ketika dipanggil, mengembalikan NOT logis dari funktor satu argumen yang disimpan. Anda menggunakannya menentukan objek fungsi dalam hal funktor yang disimpan.
Sintaks
template<typename Fun>
ref class unary_negate
{ // wrap operator()
public:
typedef Fun stored_function_type;
typedef typename Fun::argument_type argument_type;
typedef bool result_type;
typedef Microsoft::VisualC::StlClr::UnaryDelegate<
argument_type, result_type>
delegate_type;
unary_negate(Fun% functor);
unary_negate(unary_negate<Fun>% right);
result_type operator()(argument_type left);
operator delegate_type^();
};
Parameter
Fun
Jenis funktor yang disimpan.
Fungsi Anggota
Definisi Tipe | Deskripsi |
---|---|
argument_type |
Jenis argumen functor. |
delegate_type |
Jenis delegasi generik. |
result_type |
Jenis hasil functor. |
Anggota | Deskripsi |
---|---|
unary_negate |
Membangun funktor. |
Operator | Deskripsi |
---|---|
operator() |
Menghitung fungsi yang diinginkan. |
delegate_type^ |
Melemparkan funktor ke delegasi. |
Keterangan
Kelas templat menjelaskan funktor satu argumen yang menyimpan functor satu argumen lainnya. Ini mendefinisikan operator operator()
anggota sehingga, ketika objek dipanggil sebagai fungsi, itu mengembalikan NOT logis dari funktor tersimpan yang dipanggil dengan argumen .
Anda juga dapat meneruskan objek sebagai argumen fungsi yang jenisnya dan delegate_type^
akan dikonversi dengan tepat.
Contoh
// cliext_unary_negate.cpp
// compile with: /clr
#include <cliext/algorithm>
#include <cliext/functional>
#include <cliext/vector>
typedef cliext::vector<int> Myvector;
int main()
{
Myvector c1;
c1.push_back(4);
c1.push_back(0);
Myvector c3(2, 0);
// display initial contents " 4 0"
for each (int elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display
cliext::logical_not<int> not_op;
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
cliext::unary_negate<cliext::logical_not<int> >(not_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// transform and display with function
cliext::transform(c1.begin(), c1.begin() + 2, c3.begin(),
cliext::not1(not_op));
for each (int elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
4 0
1 0
1 0