Если память служит, это перегрузка функции, не являющейся членом - иметь сигнатуру что-то вроде:
std::istream &operator>>(std::istream &is, std::string &s);
(На данный момент я не учел тот факт, что и istream
, и string
действительно являются определениями типов для шаблонов).