
if(!this.sh_languages){this.sh_languages={};}
sh_languages['cpp']=[[[/(\b(?:class|struct|typename))([ \t]+)([A-Za-z0-9_]+)/g,['sh_keyword','sh_normal','sh_classname'],-1],[/\b(?:class|const_cast|delete|dynamic_cast|explicit|false|friend|inline|mutable|namespace|new|operator|private|protected|public|reinterpret_cast|static_cast|template|this|throw|true|try|typeid|typename|using|virtual)\b/g,'sh_keyword',-1],[/\/\/\//g,'sh_comment',1],[/\/\//g,'sh_comment',7],[/\/\*\*/g,'sh_comment',8],[/\/\*/g,'sh_comment',9],[/(\bstruct)([ \t]+)([A-Za-z0-9_]+)/g,['sh_keyword','sh_normal','sh_classname'],-1],[/^[ \t]*#(?:[ \t]*include)/g,'sh_preproc',10,1],[/^[ \t]*#(?:[ \t]*[A-Za-z0-9_]*)/g,'sh_preproc',-1],[/\b[+-]?(?:(?:0x[A-Fa-f0-9]+)|(?:(?:[\d]*\.)?[\d]+(?:[eE][+-]?[\d]+)?))u?(?:(?:int(?:8|16|32|64))|L)?\b/g,'sh_number',-1],[/"/g,'sh_string',13],[/'/g,'sh_string',14],[/\b(?:__asm|__cdecl|__declspec|__export|__far16|__fastcall|__fortran|__import|__pascal|__rtti|__stdcall|_asm|_cdecl|__except|_export|_far16|_fastcall|__finally|_fortran|_import|_pascal|_stdcall|__thread|__try|asm|auto|break|case|catch|cdecl|const|continue|default|do|else|enum|extern|for|goto|if|pascal|register|return|sizeof|static|struct|switch|typedef|union|volatile|while)\b/g,'sh_keyword',-1],[/\b(?:bool|char|double|float|int|long|short|signed|unsigned|void|wchar_t)\b/g,'sh_type',-1],[/~|!|%|\^|\*|\(|\)|-|\+|=|\[|\]|\\|:|;|,|\.|\/|\?|&|<|>|\|/g,'sh_symbol',-1],[/\{|\}/g,'sh_cbracket',-1],[/(?:[A-Za-z]|_)[A-Za-z0-9_]*(?=[ \t]*\()/g,'sh_function',-1],[/([A-Za-z](?:[^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]|[_])*)((?:<.*>)?)(\s+(?=[*&]*[A-Za-z][^`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\s]*\s*[`~!@#$%&*()_=+{}|;:",<.>\/?'\\[\]\^\-\[\]]+))/g,['sh_usertype','sh_usertype','sh_normal'],-1]],[[/$/g,null,-2],[/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,'sh_url',-1],[/<\?xml/g,'sh_preproc',2,1],[/<!DOCTYPE/g,'sh_preproc',4,1],[/<!--/g,'sh_comment',5],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,'sh_keyword',-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,'sh_keyword',6,1],[/&(?:[A-Za-z0-9]+);/g,'sh_preproc',-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,'sh_keyword',-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,'sh_keyword',6,1],[/@[A-Za-z]+/g,'sh_type',-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,'sh_todo',-1]],[[/\?>/g,'sh_preproc',-2],[/([^=" \t>]+)([ \t]*)(=?)/g,['sh_type','sh_normal','sh_symbol'],-1],[/"/g,'sh_string',3]],[[/\\(?:\\|")/g,null,-1],[/"/g,'sh_string',-2]],[[/>/g,'sh_preproc',-2],[/([^=" \t>]+)([ \t]*)(=?)/g,['sh_type','sh_normal','sh_symbol'],-1],[/"/g,'sh_string',3]],[[/-->/g,'sh_comment',-2],[/<!--/g,'sh_comment',5]],[[/(?:\/)?>/g,'sh_keyword',-2],[/([^=" \t>]+)([ \t]*)(=?)/g,['sh_type','sh_normal','sh_symbol'],-1],[/"/g,'sh_string',3]],[[/$/g,null,-2]],[[/\*\//g,'sh_comment',-2],[/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,'sh_url',-1],[/<\?xml/g,'sh_preproc',2,1],[/<!DOCTYPE/g,'sh_preproc',4,1],[/<!--/g,'sh_comment',5],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)(?:\/)?>/g,'sh_keyword',-1],[/<(?:\/)?[A-Za-z](?:[A-Za-z0-9_:.-]*)/g,'sh_keyword',6,1],[/&(?:[A-Za-z0-9]+);/g,'sh_preproc',-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*(?:\/)?>/g,'sh_keyword',-1],[/<(?:\/)?[A-Za-z][A-Za-z0-9]*/g,'sh_keyword',6,1],[/@[A-Za-z]+/g,'sh_type',-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,'sh_todo',-1]],[[/\*\//g,'sh_comment',-2],[/(?:<?)[A-Za-z0-9_\.\/\-_~]+@[A-Za-z0-9_\.\/\-_~]+(?:>?)|(?:<?)[A-Za-z0-9_]+:\/\/[A-Za-z0-9_\.\/\-_~]+(?:>?)/g,'sh_url',-1],[/(?:TODO|FIXME|BUG)(?:[:]?)/g,'sh_todo',-1]],[[/$/g,null,-2],[/</g,'sh_string',11],[/"/g,'sh_string',12],[/\/\/\//g,'sh_comment',1],[/\/\//g,'sh_comment',7],[/\/\*\*/g,'sh_comment',8],[/\/\*/g,'sh_comment',9]],[[/$/g,null,-2],[/>/g,'sh_string',-2]],[[/$/g,null,-2],[/\\(?:\\|")/g,null,-1],[/"/g,'sh_string',-2]],[[/"/g,'sh_string',-2],[/\\./g,'sh_specialchar',-1]],[[/'/g,'sh_string',-2],[/\\./g,'sh_specialchar',-1]]];
