c++11 : use type aliases instead of typedefs