Prevent msvc assertion from firing

Microsoft's Checked iterators fire an assertion when they detect going
out of bound. The iterator position formula

   ```
   begin = end+sizeof(header_delimiter)-1;
   ```

Can evaluate `end+sizeof(header_delimiter)` first, which can go one
past the maximum iterator position.

Evaluating `sizeof(header_delimiter)-1` first prevents this.