こういうのってありかな?

typedef std::basic_string< UCS4Char, std::char_traits<UCS4Char>, gc_allocator<UCS4Char> > UCS4String; 

ちょっと自信ないんだけど。