remove c++ 03 type_traits