()
| 105 | } |
| 106 | |
| 107 | public PersistentQueue pop(){ |
| 108 | if(f == null) //hmmm... pop of empty queue -> empty queue? |
| 109 | return this; |
| 110 | //throw new IllegalStateException("popping empty queue"); |
| 111 | ISeq f1 = f.next(); |
| 112 | PersistentVector r1 = r; |
| 113 | if(f1 == null) |
| 114 | { |
| 115 | f1 = RT.seq(r); |
| 116 | r1 = null; |
| 117 | } |
| 118 | return new PersistentQueue(meta(), cnt - 1, f1, r1); |
| 119 | } |
| 120 | |
| 121 | public int count(){ |
| 122 | return cnt; |