| 111 | |
| 112 | template<int UMIN, int UMAX, class I> |
| 113 | forceinline void |
| 114 | Compl<UMIN,UMAX,I>::start(void) { |
| 115 | if (i()) { |
| 116 | assert((i.min() >= UMIN) && (i.max() <= UMAX)); |
| 117 | if (i.min() > UMIN) { |
| 118 | mi = UMIN; |
| 119 | ma = i.min()-1; |
| 120 | } else if (i.max() < UMAX) { |
| 121 | mi = i.max()+1; |
| 122 | ++i; |
| 123 | ma = i() ? (i.min()-1) : UMAX; |
| 124 | } else { |
| 125 | finish(); |
| 126 | } |
| 127 | } else { |
| 128 | mi = UMIN; |
| 129 | ma = UMAX; |
| 130 | } |
| 131 | } |
| 132 | |
| 133 | template<int UMIN, int UMAX, class I> |
| 134 | forceinline |