I don't think you need the structs here, C++11 supports template aliases:
http://en.cppreference.com/w/cpp/language/type_alias
(I don't know if not using structs has any performance benefits, I'm just saying you probably don't need them.)