Код запускает цикл чтения monom
элементов, отформатированных как <m.a value>x^<m.i value>
, до тех пор, пока он не достигнет перевода строки.Предполагается, что между значениями или элементами нет пробелов, включая разрывы строк.
Цикл использует peek()
, чтобы проверить, заканчивается ли каждый успешно прочитанный элемент monom
разрывом строки или нет.Если имеется разрыв строки, разрыв строки извлекается из потока (поэтому он не остается в потоке для последующего чтения, чтобы увидеть), и цикл заканчивается.В противном случае цикл продолжает читать следующий элемент monom
.
Использование noskipws
означает, что operator>>
не будет рассматривать разрыв строки как пробел, который он может пропустить.