update stream iterators.
update reverse iterators.
update user_defined generic functions.
update remove, be carefull of the remove operator.
for associative and unordered containers, just use their member function
for removing.
If the containers has memeber function for removing, just use it!
don't use algorithm.
update for_each with user_defined functions.
update transform with user_defined functions.