1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
<HTML>
<HEAD>
<TITLE>compose2.cpp</TITLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF">
<TABLE HEIGHT=40 WIDTH="100%">
<TR> <TD ALIGN=LEFT WIDTH="100%" BGCOLOR="#DDDDDD">
<FONT face="Arial,Helvetica" size=+2><B>
compose2.cpp
</B></FONT>
</TD></TR></TABLE><BR>
<FONT face="Arial,Helvetica"><B>
The following code example is taken from the book<BR>
<A HREF="http://www.josuttis.com/libbook/" TARGET="_top">
The C++ Standard Library - A Tutorial and Reference</A><BR>
by Nicolai M. Josuttis, Addison-Wesley, 1999<BR>
<A HREF="http://www.josuttis.com/libbook/copyright.html">
© Copyright</A> Nicolai M. Josuttis 1999<BR>
</B></FONT>
<BR><BR><TT>
#include <iostream><BR>
#include <vector><BR>
#include <algorithm><BR>
#include <functional><BR>
#include "<A href="print.hpp.html">print.hpp</A>"<BR>
#include "<A href="compose.hpp.html">compose.hpp</A>"<BR>
using namespace std;<BR>
using namespace boost;<BR>
<BR>
int main()<BR>
{<BR>
vector<int> coll;<BR>
<BR>
<I><FONT face="Arial,Helvetica" color="0000FF" size=-1>// insert elements from 1 to 9</I></FONT><BR>
for (int i=1; i<=9; ++i) {<BR>
coll.push_back(i);<BR>
}<BR>
PRINT_ELEMENTS(coll);<BR>
<BR>
<I><FONT face="Arial,Helvetica" color="0000FF" size=-1>// remove all elements that are greater than four and less than seven</I></FONT><BR>
<I><FONT face="Arial,Helvetica" color="0000FF" size=-1>// - retain new end</I></FONT><BR>
vector<int>::iterator pos;<BR>
pos = remove_if (coll.begin(),coll.end(),<BR>
compose_f_gx_hx(logical_and<bool>(),<BR>
bind2nd(greater<int>(),4),<BR>
bind2nd(less<int>(),7)));<BR>
<BR>
<I><FONT face="Arial,Helvetica" color="0000FF" size=-1>// remove ``removed'' elements in coll</I></FONT><BR>
coll.erase(pos,coll.end());<BR>
<BR>
PRINT_ELEMENTS(coll);<BR>
}<BR>
</TT>
</BODY>
</HTML>
|