Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
bind [2008/04/14 08:56] maciejp |
bind [2008/04/14 08:58] maciejp |
||
---|---|---|---|
Linia 229: | Linia 229: | ||
Warunkiem poprawnej kompilacji jest dokładne określenie typu szablonu obiektu function (zasada działania ''boost::function'' wykracza poza ten artykuł). | Warunkiem poprawnej kompilacji jest dokładne określenie typu szablonu obiektu function (zasada działania ''boost::function'' wykracza poza ten artykuł). | ||
+ | |||
=====Przeciążone operatory===== | =====Przeciążone operatory===== | ||
- | Przeciązone operatory dla boost::bind pojawiły się w Boost 1.33 | + | Przeciązone operatory dla ''boost::bind'' pojawiły się w Boost 1.33 |
- | Obiekty funkcyjne produkowane przez boost::bind przeciążają logiczny operator przecenia ! oraz operatory relacji ==, !=, <, <=, >, >=. | + | Obiekty funkcyjne produkowane przez ''boost::bind'' przeciążają logiczny operator przecenia ''!'' oraz operatory relacji ''=='', ''!='', ''<'', ''<='', ''>'', ''>=''. |
<code> | <code> | ||
Linia 246: | Linia 247: | ||
</code> | </code> | ||
- | gdzie logical_not jest funktorem przyjmującym jeden argument x i zwracający !x. | + | gdzie ''logical_not'' jest funktorem przyjmującym jeden argument ''x'' i zwracający ''!x''. |
<code cpp> | <code cpp> | ||
bind(f, ...) op x | bind(f, ...) op x | ||
</code> | </code> | ||
- | op jest operatorem relacji, wyrażniu temu odpowiada | + | ''op'' jest operatorem relacji, wyrażniu temu odpowiada |
<code cpp> | <code cpp> | ||
bind(relation(), bind(f, ...), x) | bind(relation(), bind(f, ...), x) | ||
</code> | </code> | ||
- | gdzie relation jest funktorem przyjmującym dwa argumenty a i b i zwracającym a op b. | + | gdzie ''relation'' jest funktorem przyjmującym dwa argumenty ''a'' i ''b'' oraz zwracającym ''a op b''. |
- | Przeciążenie tych operatorów umożliwia na konwencjonalne negowanie wyniku boost::bind: | + | Przeciążenie tych operatorów umożliwia na konwencjonalne negowanie wyniku ''boost::bind'': |
<code cpp> | <code cpp> | ||
Linia 264: | Linia 265: | ||
</code> | </code> | ||
- | oraz na porównywanie wyników boost::bind z wartościami: | + | oraz na porównywanie wyników ''boost::bind'' z wartościami: |
<code cpp> | <code cpp> | ||
Linia 276: | Linia 277: | ||
</code> | </code> | ||
- | albo z innym wyrażeniem boost::bind: | + | albo z innym wyrażeniem ''boost::bind'': |
<code cpp> | <code cpp> |