#include "Queue.H" Queue::Queue() { oldest = nil; } void Queue::operator<<(Poly x) { if( oldest.isEmpty() ) // empty { oldest = youngest = cons(x, nil); } else { youngest = youngest.rawRest() = cons(x, nil); } } int Queue::operator>>(Poly & x) { if( oldest.isEmpty() ) { return 0; } x = oldest.first(); oldest = oldest.rest(); return 1; }