K the question is simple. How do i do iterator swap with lambda.
lets say i have vector of U.
vector<U> vecU;
typedef vector<U>::iterator iter;
iter beg(vecU.begin());
for_each(vec.begin(), vec.end(),
(
if_(_1 == *beg)
[
// swap the iterator between the current one and begin.
]
)
);