34 template<
class LListBase,
class T>
38 is.fatalCheck(
"operator>>(Istream&, ILList<LListBase, T>&)");
44 "operator>>(Istream&, ILList<LListBase, T>&) : reading first token"
47 if (firstToken.isLabel())
49 label s = firstToken.labelToken();
52 char delimiter = is.readBeginList(
"ILList<LListBase, T>");
56 if (delimiter == token::BEGIN_LIST)
58 for (label i=0; i<s; i++)
64 "operator>>(Istream&, ILList<LListBase, T>&) : "
71 T* tPtr = iNew(is).ptr();
76 "operator>>(Istream&, ILList<LListBase, T>&) : "
80 for (label i=1; i<s; i++)
88 is.readEndList(
"ILList<LListBase, T>");
90 else if (firstToken.isPunctuation())
92 if (firstToken.pToken() != token::BEGIN_LIST)
96 "operator>>(Istream&, ILList<LListBase, T>&)",
98 ) <<
"incorrect first token, '(', found " << firstToken.info()
103 is.fatalCheck(
"operator>>(Istream&, ILList<LListBase, T>&)");
108 lastToken.isPunctuation()
109 && lastToken.pToken() == token::END_LIST
113 is.putBack(lastToken);
117 is.fatalCheck(
"operator>>(Istream&, ILList<LListBase, T>&)");
123 <<
"incorrect first token, expected <int> or '(', found "
128 is.fatalCheck(
"operator>>(Istream&, ILList<LListBase, T>&)");
132 template<
class LListBase,
class T>
140 template<
class LListBase,
class T>
149 template<
class LListBase,
class T>