Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Adja meg az STL/CLR fejlécet <cliext/functional>
a funkcionális osztálysablonok, valamint a kapcsolódó sablondelegáltak és függvények definiálásához.
Szemantika
#include <functional>
Követelmények
Fejléc:<cliext/functional>
Névtér:cliext
Nyilatkozatok
Képviselő | Leírás |
---|---|
binary_delegate (STL/CLR) |
Kétargumentumos delegált. |
binary_delegate_noreturn (STL/CLR) |
Kétargumentumos delegált visszatérése void . |
unary_delegate (STL/CLR) |
Egyargumentumos delegált. |
unary_delegate_noreturn (STL/CLR) |
Egyargumentumos delegált visszatérése void . |
Osztály | Leírás |
---|---|
binary_negate (STL/CLR) |
Functor, hogy negate a két argumentum funktor. |
binder1st (STL/CLR) |
A Functor az első argumentumot egy kétargumentumos funktorhoz köti. |
binder2nd (STL/CLR) |
A Functor a második argumentumot egy kétargumentumos funktorhoz köti. |
divides (STL/CLR) |
Oszd el a funktort. |
equal_to (STL/CLR) |
Egyenlő összehasonlító funktor. |
greater (STL/CLR) |
Nagyobb összehasonlító funktor. |
greater_equal (STL/CLR) |
Nagyobb vagy egyenlő összehasonlítási funktor. |
less (STL/CLR) |
Kevésbé összehasonlító funktor. |
less_equal (STL/CLR) |
Kisebb vagy egyenlő összehasonlítási funktor. |
logical_and (STL/CLR) |
Logikai ÉS funktor. |
logical_not (STL/CLR) |
Logikai NOT funktor. |
logical_or (STL/CLR) |
Logikai vagy funktor. |
minus (STL/CLR) |
Kivonási funktor. |
modulus (STL/CLR) |
Modulus funktor. |
multiplies (STL/CLR) |
Szorozza meg a funktort. |
negate (STL/CLR) |
Functor, hogy visszaadja az argumentumát negated. |
not_equal_to (STL/CLR) |
Nem egyenlő összehasonlító funktor. |
plus (STL/CLR) |
Adja hozzá a funktort. |
unary_negate (STL/CLR) |
Functor egy egyargumentumos funktor tagadásához. |
Funkció | Leírás |
---|---|
bind1st (STL/CLR) |
Létrehoz egy kötést1st argumentumhoz és funktorhoz. |
bind2nd (STL/CLR) |
Létrehoz egy kötést2nd egy argumentumhoz és egy funktorhoz. |
not1 (STL/CLR) |
Létrehoz egy unary_negate egy funktorhoz. |
not2 (STL/CLR) |
Létrehoz egy binary_negate egy funktorhoz. |
Tagok
binary_delegate
(STL/CLR)
Az általános osztály egy kétargumentumos delegáltat ír le. A használatával meg kell adnia egy meghatalmazottat az argumentum és a visszatérési típusok szempontjából.
Szemantika
generic<typename Arg1,
typename Arg2,
typename Result>
delegate Result binary_delegate(Arg1, Arg2);
Paraméterek
Arg1
Az első argumentum típusa.
Arg2
A második argumentum típusa.
Result
A visszatérési típus.
Megjegyzések
Az általános delegált egy kétargumentumos függvényt ír le.
Ezekben a függvénysablonokban:
binary_delegate<int, int, int> Fun1;
binary_delegate<int, int, int> Fun2;
típusok Fun1
és Fun2
szinonimák, míg a következőhöz:
delegate int Fun1(int, int);
delegate int Fun2(int, int);
nem azonos típusúak.
példa
// 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)
Az általános osztály a visszaadott kétargumentumos delegáltat void
írja le. A használatával meg kell adnia egy meghatalmazottat az argumentuma szempontjából.
Szemantika
generic<typename Arg1,
typename Arg2>
delegate void binary_delegate(Arg1, Arg2);
Paraméterek
Arg1
Az első argumentum típusa.
Arg2
A második argumentum típusa.
Megjegyzések
Az általános delegált egy kétargumentumos függvényt ír le, amely visszaadja a függvényt void
.
Ezekben a függvénysablonokban:
binary_delegate_noreturn<int, int> Fun1;
binary_delegate_noreturn<int, int> Fun2;
típusok Fun1
és Fun2
szinonimák, míg a következőhöz:
delegate void Fun1(int, int);
delegate void Fun2(int, int);
nem azonos típusúak.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor a tárolt kétargumentumos funktor logikai NOT értékét adja vissza. A használatával függvényobjektumot adhat meg a tárolt funktor szempontjából.
Szemantika
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^();
};
Paraméterek
Fun
A tárolt funktor típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
stored_function_type |
A funktor típusa. |
Tag | Leírás |
---|---|
binary_negate |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^() |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy két argumentumból álló funktort ír le, amely egy másik kétargumentumos funktort tárol. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, a két argumentummal meghívott tárolt funktor logikai NOT értékét adja vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
Argumentumot binder1st
és funktort hoz létre.
Szemantika
template<typename Fun,
typename Arg>
binder1st<Fun> bind1st(Fun% functor,
Arg left);
Sablonparaméterek
Arg
Az argumentum típusa.
Fun
A funktor típusa.
Függvényparaméterek
functor
A funktor, amit be kell törni.
left
A sortörés első argumentuma.
Megjegyzések
A függvénysablon visszaadja a következőt binder1st<Fun>(functor, left)
: . Ezzel kényelmesen körbefuttathat egy kétargumentumos funktort és annak első argumentumát egy olyan egyargumentumos funktorban, amely második argumentummal hívja meg.
példa
// 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)
Argumentumot binder2nd
és funktort hoz létre.
Szemantika
template<typename Fun,
typename Arg>
binder2nd<Fun> bind2nd(Fun% functor,
Arg right);
Sablonparaméterek
Arg
Az argumentum típusa.
Fun
A funktor típusa.
Függvényparaméterek
functor
A funktor, amit be kell törni.
right
A második sortöréshez használt argumentum.
Megjegyzések
A függvénysablon visszaadja a következőt binder2nd<Fun>(functor, right)
: . Ezzel kényelmesen körbefuttathat egy kétargumentumos funktort és annak második argumentumát egy olyan egyargumentumos funktorban, amely első argumentummal hívja meg.
példa
// 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)
A sablonosztály egy egyargumentumos funktort ír le, amely meghívásakor a tárolt kétargumentumos funktort a tárolt első argumentummal és a megadott második argumentummal adja vissza. A használatával függvényobjektumot adhat meg a tárolt funktor szempontjából.
Szemantika
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^();
};
Paraméterek
Fun
A tárolt funktor típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
stored_function_type |
A funktor típusa. |
Tag | Leírás |
---|---|
binder1st |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^() |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy egyargumentumos funktort ír le, amely egy kétargumentumos funktort és egy első argumentumot tárol. A tagoperátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívja meg, a tárolt funktor meghívásának eredményét adja vissza a tárolt első argumentummal és a megadott második argumentummal.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy egyargumentumos funktort ír le, amely meghíváskor a megadott első argumentummal és a tárolt második argumentummal visszaadja a tárolt kétargumentumos funktort. A használatával függvényobjektumot adhat meg a tárolt funktor szempontjából.
Szemantika
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^();
};
Paraméterek
Fun
A tárolt funktor típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
stored_function_type |
A funktor típusa. |
Tag | Leírás |
---|---|
binder2nd |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^() |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy egyargumentumos funktort ír le, amely egy kétargumentumos funktort és egy második argumentumot tárol. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívja meg, a tárolt funktor meghívásának eredményét adja vissza a megadott első argumentummal és a tárolt második argumentummal.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor az első argumentumot a másodikkal osztva adja vissza. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa és a visszatérési érték.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
divides |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^() |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, az első argumentumot a másodikkal osztva adja vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum egyenlő a második argumentumával. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
equal_to |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^() |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum egyenlő a második argumentummal.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum nagyobb, mint a második. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
greater |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum nagyobb, mint a második.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum nagyobb vagy egyenlő a másodiknál. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
greater_equal |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum nagyobb vagy egyenlő a másodiknál.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum kisebb, mint a második. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
less |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tagoperátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum kisebb, mint a második.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum kisebb vagy egyenlő a második argumentuméval. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
less_equal |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum kisebb vagy egyenlő a második argumentummal.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum és a második teszt is igaz. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
logical_and |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tagoperátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum és a második teszt is igaz.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha bármelyik argumentuma hamisnak bizonyul. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
argument_type |
A funktor argumentum típusa. |
delegate_type |
Az általános meghatalmazott típusa. |
result_type |
A funktor eredményének típusa. |
Tag | Leírás |
---|---|
logical_not |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy egyargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az argumentuma hamisnak bizonyul.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum vagy a második teszt igaz. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
logical_or |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy az objektum függvényként való meghívásakor csak akkor adja vissza az igaz értéket, ha az első argumentum vagy a második teszt igaz.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor az első argumentumot adja vissza a másodiktól mínusz. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa és a visszatérési érték.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
minus |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, az első argumentumot adja vissza a másodiktól mínusz.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor az első argumentum modulo a másodikat adja vissza. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa és a visszatérési érték.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
modulus |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, az első argumentum moduloját adja vissza a másodikhoz.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor az első argumentum a másodiknál többször jelenik meg. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa és a visszatérési érték.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
multiplies |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tagoperátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívja meg, az első argumentumot a másodiknál többször adja vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy olyan funktort ír le, amely meghíváskor az argumentumát érvénytelenítve adja vissza. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
argument_type |
A funktor argumentum típusa. |
delegate_type |
Az általános meghatalmazott típusa. |
result_type |
A funktor eredményének típusa. |
Tag | Leírás |
---|---|
negate |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy egyargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy az objektum függvényként való meghívásakor negatott argumentumot adjon vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghíváskor csak akkor ad vissza igaz értéket, ha az első argumentum nem egyenlő a második argumentumával. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
not_equal_to |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, akkor csak akkor ad vissza igaz értéket, ha az első argumentum nem egyenlő a második argumentummal.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
Létrehoz egy unary_negate
funktort.
Szemantika
template<typename Fun>
unary_negate<Fun> not1(Fun% functor);
Sablonparaméterek
Fun
A funktor típusa.
Függvényparaméterek
functor
A funktor, amit be kell törni.
Megjegyzések
A függvénysablon visszaadja a következőt unary_negate<Fun>(functor)
: . Ezzel kényelmesen körbefuttathat egy egyargumentumos funktort egy olyan funktorban, amely a logikai NOT-t adja meg.
példa
// 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)
Létrehoz egy binary_negate
funktort.
Szemantika
template<typename Fun>
binary_negate<Fun> not2(Fun% functor);
Sablonparaméterek
Fun
A funktor típusa.
Függvényparaméterek
functor
A funktor, amit be kell törni.
Megjegyzések
A függvénysablon visszaadja a következőt binary_negate<Fun>(functor)
: . Ezzel kényelmesen körbefuttathat egy kétargumentumos funktort egy olyan funktorban, amely a logikai NOT-t adja meg.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor az első argumentumot és a másodikat adja vissza. Az argumentumtípus szempontjából függvényobjektumot ad meg.
Szemantika
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^();
};
Paraméterek
Arg
Az argumentumok típusa és a visszatérési érték.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
delegate_type |
Az általános meghatalmazott típusa. |
first_argument_type |
A funktor első argumentumának típusa. |
result_type |
A funktor eredményének típusa. |
second_argument_type |
A funktor második argumentumának típusa. |
Tag | Leírás |
---|---|
plus |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
operator delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy kétargumentumos funktort ír le. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, az első argumentumot és a másodikat adja vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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)
Az általános osztály egy egyargumentumos delegáltat ír le. A használatával meg kell adnia egy meghatalmazottat az argumentum és a visszatérési típusok szempontjából.
Szemantika
generic<typename Arg,
typename Result>
delegate Result unary_delegate(Arg);
Paraméterek
Arg
Az argumentum típusa.
Result
A visszatérési típus.
Megjegyzések
Az általános meghatalmazott egy argumentumfüggvényt ír le.
Ezekben a függvénysablonokban:
unary_delegate<int, int> Fun1;
unary_delegate<int, int> Fun2;
típusok Fun1
és Fun2
szinonimák, míg a következőhöz:
delegate int Fun1(int);
delegate int Fun2(int);
nem azonos típusúak.
példa
// 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)
Az általános osztály egy egyargumentumos delegáltat ír le, amely visszaadja a függvényt void
. A használatával megadhatja a meghatalmazottat az argumentumtípus szempontjából.
Szemantika
generic<typename Arg>
delegate void unary_delegate_noreturn(Arg);
Paraméterek
Arg
Az argumentum típusa.
Megjegyzések
Az általános meghatalmazott egy argumentumfüggvényt ír le, amely visszaadja a függvényt void
.
Ezekben a függvénysablonokban:
unary_delegate_noreturn<int> Fun1;
unary_delegate_noreturn<int> Fun2;
típusok Fun1
és Fun2
szinonimák, míg a következőhöz:
delegate void Fun1(int);
delegate void Fun2(int);
nem azonos típusúak.
példa
// 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)
A sablonosztály egy funktort ír le, amely meghívásakor a tárolt egyargumentumos funktor logikai NOT értékét adja vissza. A használatával függvényobjektumot adhat meg a tárolt funktor szempontjából.
Szemantika
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^();
};
Paraméterek
Fun
A tárolt funktor típusa.
Tagfüggvények
Típusdefiníció | Leírás |
---|---|
argument_type |
A funktor argumentum típusa. |
delegate_type |
Az általános meghatalmazott típusa. |
result_type |
A funktor eredményének típusa. |
Tag | Leírás |
---|---|
unary_negate |
Felépíti a funktort. |
Operátor | Leírás |
---|---|
operator() |
Kiszámítja a kívánt függvényt. |
delegate_type^ |
A funktort egy meghatalmazottra veti. |
Megjegyzések
A sablonosztály egy egyargumentumos funktort ír le, amely egy másik egyargumentumos funktort tárol. A tag operátort operator()
úgy határozza meg, hogy amikor az objektumot függvényként hívják, az argumentummal meghívott tárolt funktor logikai NOT értékét adja vissza.
Az objektumot olyan függvényargumentumként is átadhatja, amelynek típusa és delegate_type^
megfelelő konvertálása megtörténik.
példa
// 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