Maybe a struct would be better then? You could always package together the functionality you need and then construct strings of the proper width.
It would be simpler to work with in that case perhaps, because it could always be a member to some bigger class or whatever you have planned for design.
Code:
#include <string>
template < typename charT >
struct bar
{
std::basic_string< charT > lol, rofl;
bar ( const charT * time, const charT * name ) :
lol( time ), rofl( name )
{
}
};
int main ( )
{
bar< char > a( "Name", "Time" );
bar< wchar_t > b( L"Name", L"Time" );
a.lol = "example";
b.lol = L"example";
}
But this is just an example; I'm sure there's a tinker to grumpy's solution that works.