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.
    ]
)
);