Using a local type as a template argument is a C++11-ism

Change-Id: I1eddd4382f5ebaf9db43cd4351fc02e66b2cc9ad