<!DOCTYPE Highlight>
<Highlight wildcards="*.cpp; *.C; *.cxx; *.cc; *.h; *.H" name="C++">

 <Items>
  <Text                style=""  color="#000000" />
  <Pointer             style="b" color="#0000ff" />
  <Decimal             style=""  color="#808080" />
  <Octal               style=""  color="#A0A000" />
  <Hex                 style=""  color="#800000" />
  <Float               style=""  color="#00c0c0" />
  <Keyword             style="b" color="#0000ff" />
  <QtClasses           style="b" color="#800080" />
  <Type                style="b" color="#a52a2a" />
  <Char                style=""  color="#ffc0c0" />
  <String              style=""  color="#ff0000" />
  <Memo                style=""  color="#008000" />
  <LineContinue        style=""  color="#000080" />
  <Preprocessor        style="b" color="#c05800" />
  <PreprocessorStrings style=""  color="#ff00ff" />
 </Items>

 <Break>
  <normal>
   <citem item="" regexp="&quot;"                            lineEndContent="string" />
   <citem item="" regexp="//.*"        mode="until, include" lineEndContent="normal" />
   <citem item="" regexp="/\*"         mode="until, include" lineEndContent="multiLineComment" />
   <citem item="" regexp="\s*#"                              lineEndContent="preprocessor" />
   <citem item="" regexp="[^\\]&quot;" mode="until, include" lineEndContent="string" />
   <citem item="" regexp="$"           mode="until" />
  </normal>

  <string>
   <citem item="" regexp="&quot;"                            lineEndContent="normal" />
   <citem item="" regexp="[^\\]&quot;" mode="until, include" lineEndContent="normal" />
   <citem item="" regexp="$"           mode="until" />
  </string>

  <multiLineComment>
   <citem item="" regexp="\*/" mode="until, exclude, allowfull"/>
   <citem item="" regexp="\*/" lineEndContent="normal" />
  </multiLineComment>

  <preprocessor>
   <citem item="" regexp="/\*[^\*/]*$" mode="until, include" lineEndContent="multiLineComment" />
   <citem item="" regexp="\\$"         mode="until, include" lineEndContent="preprocessor" />
   <citem item="" regexp="$"           mode="until"          lineEndContent="normal"/>
  </preprocessor>

 </Break>

 <Contents>
  <normal>
   <citem item="Text" regexp="\s+" />

   <citem item="Preprocessor" regexp="#" lineEndContent="preprocessor" />

   <citem item="Type"      regexp="\w+"    keyword="auto char uchar const double float int uint long register short signed static unsigned void volatile bool" />
   <citem item="Keyword"   regexp="[\w_]+" keyword="break case continue default do else enum extern for goto if return sizeof struct switch typedef union while asm catch class const_cast const delete dynamic_cast explicit export false friend inline namespace new operator private protected public reinterpret_cast static_cast template this throw true try typeid typename using virtual and_eq and bitand bitor compl not_eq not or_eq or xor_eq xor" />
   <citem item="QtKeyword" regexp="[\w_]+" keyword="emit slots signals SIGNAL SLOT Q_OBJECT Q_PROPERTY Q_ENUMS Q_OVERRIDE Q_SETS" />

   <citem item="Memo" regexp="//.*" />
   <citem item="Memo" regexp="/\*" lineEndContent="multiLineComment" />

   <citem item="String" regexp="&quot;" lineEndContent="string" />

   <citem item="Float"   regexp="\d*\.\d+[eE]\+\d+[uUfFlL]?" />
   <citem item="Float"   regexp="\d*\.\d+[uUfFlL]?" />
   <citem item="Hex"     regexp="0[xX][\da-fA-F]+[uUlL]?" />
   <citem item="Octal"   regexp="0[0-7]+[uUlL]?" />
   <citem item="Decimal" regexp="\d+[uUlL]?" />

   <citem item="Char" regexp="'.'" />
   <citem item="Char" regexp="'\\([abefnrtv'\\&quot;]|x[\da-fA-F]+|[0-7]+)'" />

   <citem item="LineContinue" regexp="\\$" />

   <citem item="Pointer" regexp="(->|\.)\s*(?=\w)" />

   <citem item="Text" regexp="[\w_]+" lineEndContent="normal" />
   <citem item="Text" regexp="\s+"    lineEndContent="normal" />
   <citem item="Text" regexp="\W"     lineEndContent="normal" />
  </normal>

  <string>
   <citem item="String" regexp="[^&quot;\\]+" />
   <citem item="String" regexp="&quot;" lineEndContent="normal" />
   <citem item="Char" regexp="\\([abefnrtv'\\&quot;]|x[\da-fA-F]+|[0-7]+)" />
   <citem item="LineContinue" regexp="\\" />
  </string>

  <multiLineComment>
   <citem item="Memo" regexp="\*/" mode="until, exclude, allowfull"/>
   <citem item="Memo" regexp="\*/" lineEndContent="normal" />
  </multiLineComment>

  <preprocessor>
   <citem item="Strings" regexp="&quot;[^&quot;]*$" lineEndContent="string" />
   <citem item="Memo"    regexp="/\*[^\*/]*$"       lineEndContent="multiLineComment" />

   <citem item="PreprocessorStrings" regexp="&quot;.*&quot;" mode="minimal" />
   <citem item="PreprocessorStrings" regexp="&lt;.*>"        mode="minimal" />
   <citem item="Memo" regexp="//.*" lineEndContent="normal" />
   <citem item="Memo" regexp="/\*.*\*/"  mode="minimal" />

   <citem item="LineContinue" regexp="\\$" lineEndContent="normal" />

   <citem item="Preprocessor" regexp="[\w_]+" lineEndContent="preprocessor" />
   <citem item="Preprocessor" regexp="\s+"    lineEndContent="preprocessor" />
   <citem item="Preprocessor" regexp="\W"     lineEndContent="preprocessor" />
  </preprocessor>

 </Contents>

</Highlight>