istream& operator >> (istream& in, CatalogEntry& entry)
{
string discard;
getline (in, discard, '"');
getline (in, entry.author, '"');
getline (in, discard, '"');
getline (in, entry.title, '"');
getline (in, discard, '"');
getline (in, entry.callNumber, '"');
getline (in, discard);
return in;
}
This then gets used in the high-level input operator by reading until the input stream has been consumed ...
istream& operator >> (istream& in, Catalog& cat)
{
CatalogEntry entry;
while (in.peek () != EOF) {
in >> entry;
cat += entry;
}
return in;
}
infile >> catalog;
© 2002 Karl Winklmann