Why not poppler::ustring derived from std::wstring instead of std::basic_string<unsigned short>?
Is it better that
class POPPLER_CPP_EXPORT ustring : public std::wstring
instead of
class POPPLER_CPP_EXPORT ustring : public std::basic_string<unsigned short>