title: boost::spirit::qi - whats wrong with this hex parse?
body: <p>Consider following code:</p>
  
  <pre><code>{
          std::string input = "FFFFFFF";
          int result = 0;
          auto itBeg = input.cbegin();
          auto itEnd = input.cend();
          if(!bsq::parse(itBeg, itEnd, bsq::int_parser&lt;int, 16&gt;(), result) || itBeg != itEnd)
          {
              throw std::exception();
          }
          std::cout &lt;&lt; input &lt;&lt; " means " &lt;&lt; result &lt;&lt; std::endl;
      }
      {
          std::string input = "FFFFFFFF";
          int result = 0;
          auto itBeg = input.cbegin();
          auto itEnd = input.cend();
          if(!bsq::parse(itBeg, itEnd, bsq::hex, result) || itBeg != itEnd)
          {
              throw std::exception();
          }
          std::cout &lt;&lt; input &lt;&lt; " means " &lt;&lt; result &lt;&lt; std::endl;
      }
      {
          std::string input = "FFFFFFFF";
          int result = 0;
          auto itBeg = input.cbegin();
          auto itEnd = input.cend();
          if(!bsq::parse(itBeg, itEnd, bsq::int_parser&lt;int, 16&gt;(), result) || itBeg != itEnd)
          {
              throw std::exception();
          }
          std::cout &lt;&lt; input &lt;&lt; " means " &lt;&lt; result &lt;&lt; std::endl;
      }
  </code></pre>
  
  <p>the first parse works fine on 0xFFFFFFF (note, 7 hex digits)
  second one works ok on 0xFFFFFFFF (8 hex digits)
  the third one fails and I cant understand why. isnt <code>int_parser&lt;T, 16&gt;</code> is essentially the same as bsq::hex?
  <br>Live on <a href="http://coliru.stacked-crooked.com/a/ca6ade7b996b6dee" rel="nofollow">Coliru</a></p>