title: In Boost Spirit Qi, how do I match every character up to the next whitespace (with pre-skip)
body: <p>Within a boost::spirit::qi grammar rule, how do you match a string of characters up to and excluding the next whitespace character, as defined by the supplied skipper?</p>
  
  <p>For example, if the grammar is a set of attributes defined as:</p>
  
  <pre><code>attributeList = '(' &gt;&gt; *attribute &gt;&gt; ')';
  attribute     = (name : value) | (name : value units);
  </code></pre>
  
  <p>How do I match any character for name up to and excluding the first skipper character?</p>
  
  <p>For example, for name, I would like to pre-skip, then match all characters except ':' or a skipper character. Do I have to instantiate a skipper within the grammar class, so that I can do something like:</p>
  
  <pre><code>name = +qi::char_ !(skipper | ':');
  </code></pre>
  
  <p>or can I access the existing supplied skipper object somehow and reference it directly? Also, I don't believe this needs to be wrapped in qi:: lexeme[]...</p>
  
  <p>Thanks in advance for correcting the error of my ways</p>