For the same reason that C++ makes all streams templated with a charT parameter, file should become
template<class charT, class traits = std::char_traits<charT>>
class basic_file : public std::basic_iostream<charT, traits>
file must be aliased basic_file<char> and exported from the library to maintain ABI compatibility
For the same reason that C++ makes all streams templated with a
charTparameter,fileshould becomefilemust be aliasedbasic_file<char>and exported from the library to maintain ABI compatibility