What\'s the difference between std::string and std::basic_string? And why are both needed?
std::string
std::basic_string