#include <bits/stdc++.h>
using
namespace
std;
struct
pred {
bool
operator()(
const
int
i)
const
{
return
(i % 2 == 0);
}
typedef
int
argument_type;
};
int
main()
{
vector<
int
> odd{ 1, 2, 3, 4, 5,
6, 7, 8, 9, 10 };
auto
end
= remove_if(odd.begin(),
odd.end(),
pred());
odd.resize(distance(odd.begin(), end));
cout <<
"removal of even elements: "
;
for
(
int
i = 0; i < odd.size(); i++) {
cout << odd[i] <<
" "
;
}
cout <<
"\n"
;
vector<
int
> even{ 1, 2, 3, 4, 5,
6, 7, 8, 9, 10 };
end
= remove_if(even.begin(),
even.end(),
not1(pred()));
even.resize(distance(even.begin(), end));
cout <<
"removal of odd elements: "
;
for
(
int
i = 0; i < even.size(); i++) {
cout << even[i] <<
" "
;
}
return
0;
}