| 303 | },t.versionString="11.6.0",t.regex={concat:E,lookahead:m,either:g,optional:u, |
| 304 | anyNumberOfTimes:p};for(const t in L)"object"==typeof L[t]&&e.exports(L[t]) |
| 305 | ;return Object.assign(t,L),t})({});function ne(e){ |
| 306 | const t=e.regex,a=e.COMMENT("//","$",{contains:[{begin:/\\\n/}] |
| 307 | }),n="[a-zA-Z_]\\w*::",r="(?!struct)(decltype\\(auto\\)|"+t.optional(n)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",i={ |
| 308 | className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{ |
| 309 | begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ |
| 310 | begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", |
| 311 | end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ |
| 312 | begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},o={ |
| 313 | className:"number",variants:[{begin:"\\b(0b[01']+)"},{ |
| 314 | begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" |
| 315 | },{ |
| 316 | begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" |
| 317 | }],relevance:0},l={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ |
| 318 | keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" |
| 319 | },contains:[{begin:/\\\n/,relevance:0},e.inherit(s,{className:"string"}),{ |
| 320 | className:"string",begin:/<.*?>/},a,e.C_BLOCK_COMMENT_MODE]},_={ |
| 321 | className:"title",begin:t.optional(n)+e.IDENT_RE,relevance:0 |
| 322 | },c=t.optional(n)+e.IDENT_RE+"\\s*\\(",d={ |
| 323 | type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"], |
| 324 | keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"], |
| 325 | literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"], |
| 326 | _type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"] |
| 327 | },m={className:"function.dispatch",relevance:0,keywords:{ |
| 328 | _hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"] |
| 329 | }, |
| 330 | begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/)) |
| 331 | },p=[m,l,i,a,e.C_BLOCK_COMMENT_MODE,o,s],u={variants:[{begin:/=/,end:/;/},{ |
| 332 | begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], |
| 333 | keywords:d,contains:p.concat([{begin:/\(/,end:/\)/,keywords:d, |
| 334 | contains:p.concat(["self"]),relevance:0}]),relevance:0},E={className:"function", |
| 335 | begin:"("+r+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, |
| 336 | keywords:d,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", |
| 337 | keywords:d,relevance:0},{begin:c,returnBegin:!0,contains:[_],relevance:0},{ |
| 338 | begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,o]},{ |
| 339 | relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:d, |
| 340 | relevance:0,contains:[a,e.C_BLOCK_COMMENT_MODE,s,o,i,{begin:/\(/,end:/\)/, |
| 341 | keywords:d,relevance:0,contains:["self",a,e.C_BLOCK_COMMENT_MODE,s,o,i]}] |
| 342 | },i,a,e.C_BLOCK_COMMENT_MODE,l]};return{name:"C++", |
| 343 | aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:d,illegal:"</", |
| 344 | classNameAliases:{"function.dispatch":"built_in"}, |
| 345 | contains:[].concat(u,E,m,p,[l,{ |
| 346 | begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)", |
| 347 | end:">",keywords:d,contains:["self",i]},{begin:e.IDENT_RE+"::",keywords:d},{ |
| 348 | match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/], |
| 349 | className:{1:"keyword",3:"title.class"}}])}} |
| 350 | const re="[A-Za-z$_][0-9A-Za-z$_]*",ie=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],se=["true","false","null","undefined","NaN","Infinity"],oe=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],le=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],_e=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ce=["arguments","this","super","console","window","document","localStorage","module","global"],de=[].concat(_e,oe,le),me=e=>({ |
| 351 | IMPORTANT:{scope:"meta",begin:"!important"}, |
| 352 | BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", |