c++ template stl commonly used algorithm