yanki 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.DS_Store +0 -0
- package/dist/bin/angular-html-BMgm7jKv.js +1 -0
- package/dist/bin/{angular-html-qzs4hSq7.js → angular-html-DaLgCdY4.js} +1 -1
- package/dist/bin/{angular-ts-CugMBDjk.js → angular-ts-_FOddbkN.js} +1 -1
- package/dist/{standalone/apl-B3nAIz3U.js → bin/apl-Ct_wGLTZ.js} +1 -1
- package/dist/bin/{astro-Cm_dHcy3.js → astro-ZcVfwsPl.js} +1 -1
- package/dist/bin/bird2-CFa4jX8R.js +1 -0
- package/dist/bin/{blade-U1S3oe2k.js → blade-CxETtqpr.js} +1 -1
- package/dist/bin/{bsl-0ORkkYmh.js → bsl-C-_RJCQ1.js} +1 -1
- package/dist/bin/c-24YQ-N5y.js +1 -0
- package/dist/bin/{cairo-kiUMtAsX.js → cairo-Cud9ep5K.js} +1 -1
- package/dist/bin/cli.js +116 -99
- package/dist/bin/cmake-CmanohFH.js +1 -0
- package/dist/bin/cobol-D6VccPzE.js +1 -0
- package/dist/{standalone/coffee-CWthmHqg.js → bin/coffee-C_ytDHuo.js} +1 -1
- package/dist/bin/{cpp-5C3nn41J.js → cpp-BGpKj3Ti.js} +1 -1
- package/dist/bin/cpp-BuOb9E77.js +1 -0
- package/dist/{standalone/crystal-BP8Y_JHu.js → bin/crystal-D7hCMRTO.js} +1 -1
- package/dist/bin/csharp-iOHJHJRL.js +1 -0
- package/dist/bin/css-CLlsZvz0.js +1 -0
- package/dist/bin/{css-C-sfFA03.js → css-OMa7meLh.js} +1 -1
- package/dist/bin/csv-BPqpBVRL.js +1 -0
- package/dist/bin/dart-DIQ3D60A.js +1 -0
- package/dist/bin/diff-B1zQwqWC.js +1 -0
- package/dist/bin/{edge-DetFnTa9.js → edge-BJ5yEaU_.js} +1 -1
- package/dist/{standalone/elixir-DaqZx2n-.js → bin/elixir-DQ_HZ35Z.js} +1 -1
- package/dist/bin/{elm-CD-7RX5d.js → elm-BPdX9LvI.js} +1 -1
- package/dist/bin/emacs-lisp-OLcd4D2Y.js +1 -0
- package/dist/bin/{erb-KO-P0SR0.js → erb-DTravkov.js} +1 -1
- package/dist/bin/{erlang-BFKCgnPw.js → erlang-CkFToG4V.js} +1 -1
- package/dist/bin/{fortran-fixed-form-t-oisds5.js → fortran-fixed-form-CIezU5eM.js} +1 -1
- package/dist/bin/fortran-free-form-C04P-dlU.js +1 -0
- package/dist/bin/{fsharp-Dq5iPDb2.js → fsharp-Dm-_SWJW.js} +1 -1
- package/dist/bin/{gdresource-BNzPbQHR.js → gdresource-fnofKreT.js} +1 -1
- package/dist/bin/gdscript-BtzCMxvf.js +1 -0
- package/dist/bin/gdshader-1gA3GZ5B.js +1 -0
- package/dist/bin/{git-commit-Bkc1RnxN.js → git-commit-_8RqjgP7.js} +1 -1
- package/dist/bin/{git-rebase-BfAeU5XI.js → git-rebase-Z73Q-A3B.js} +1 -1
- package/dist/bin/{glimmer-js-BZd4ZfVU.js → glimmer-js-DIMbe603.js} +1 -1
- package/dist/bin/{glimmer-ts-UFNn11p7.js → glimmer-ts-B2T7GOhV.js} +1 -1
- package/dist/bin/glsl-CGmNjIir.js +1 -0
- package/dist/bin/{glsl-r9XJn22U.js → glsl-DEYttXt8.js} +1 -1
- package/dist/bin/{go-b5i9ZOwA.js → go-Ci0dAgBY.js} +1 -1
- package/dist/bin/go-DN89cYst.js +1 -0
- package/dist/bin/{graphql-J1xs8wG6.js → graphql-CCYPSk-D.js} +1 -1
- package/dist/bin/graphql-DOCOrfKm.js +1 -0
- package/dist/bin/{hack-DTChbFem.js → hack-DZ-_iRCj.js} +1 -1
- package/dist/bin/{haml-lACpmly2.js → haml-DfH0AzHT.js} +1 -1
- package/dist/bin/haml-DvXbkT9I.js +1 -0
- package/dist/bin/{handlebars-B7ppocUa.js → handlebars-CF9TGn7D.js} +1 -1
- package/dist/bin/haxe-DTUNnskd.js +1 -0
- package/dist/bin/hlsl-BJTcBv8Y.js +1 -0
- package/dist/bin/{horizon-bright-yXhu6egb.js → horizon-bright-B9AmrisQ.js} +1 -1
- package/dist/bin/html-Cuf7VAVg.js +1 -0
- package/dist/bin/{html-JSn89dCS.js → html-RMei9Tro.js} +1 -1
- package/dist/bin/{html-derivative-DhivRM2V.js → html-derivative-BTT60mrv.js} +1 -1
- package/dist/bin/html-derivative-D-Zlk8m5.js +1 -0
- package/dist/bin/{http-CfCri10f.js → http-bTeAg4ti.js} +1 -1
- package/dist/{standalone/hurl-DLBSghyU.js → bin/hurl-DNDYXzGk.js} +1 -1
- package/dist/bin/{hxml-BY0JJAFc.js → hxml-DRC8Rsp0.js} +1 -1
- package/dist/bin/java-CQDUhPYw.js +1 -0
- package/dist/bin/javascript-DPhXM0a6.js +1 -0
- package/dist/bin/{jinja-D4pZPcl3.js → jinja-B64tWnuH.js} +1 -1
- package/dist/bin/{jison-CU_JndNM.js → jison-DzJXWpYr.js} +1 -1
- package/dist/bin/json-CJDJkUtd.js +1 -0
- package/dist/bin/jsx-nttEtUui.js +1 -0
- package/dist/bin/{julia-DjiOTm9M.js → julia-CdOV4Bps.js} +1 -1
- package/dist/bin/{just-oDTZGZbN.js → just--5xSNTPr.js} +1 -1
- package/dist/{standalone/kusto-SD8_YGH-.js → bin/kusto-CrSJ-cBg.js} +1 -1
- package/dist/bin/{latex-B8d5LcJ8.js → latex-BAAvcuYp.js} +1 -1
- package/dist/bin/less-EIhUe2O9.js +1 -0
- package/dist/bin/{liquid-DuGPT5mZ.js → liquid-Bqh7lbg7.js} +1 -1
- package/dist/bin/lua-BMcOOLRU.js +1 -0
- package/dist/bin/{lua-mUj-7rV8.js → lua-yurtT0y-.js} +1 -1
- package/dist/bin/markdown-DVKCeKaE.js +1 -0
- package/dist/bin/{marko-CEM61Zib.js → marko-R0Qz5H3f.js} +1 -1
- package/dist/bin/{mdc-Dya9Bdmr.js → mdc-K4Wa14qY.js} +1 -1
- package/dist/bin/{nextflow-hLaJXrFj.js → nextflow-BFCLGvvZ.js} +1 -1
- package/dist/bin/nextflow-groovy-BXH4qERK.js +1 -0
- package/dist/bin/nextflow-groovy-CkcyVHVG.js +1 -0
- package/dist/bin/{nginx-CR6uKwZy.js → nginx-Dbalglmi.js} +1 -1
- package/dist/bin/{nim-DceKa9Nn.js → nim-z_s042OS.js} +1 -1
- package/dist/bin/perl-2YKQo-0l.js +1 -0
- package/dist/bin/{perl-B6GAvvHF.js → perl-Fl9SoTWs.js} +1 -1
- package/dist/bin/php-Bo9TDZJt.js +1 -0
- package/dist/bin/php-C0eWpkIO.js +1 -0
- package/dist/bin/postcss-CCUr_tF-.js +1 -0
- package/dist/{standalone/pug-DJ5mt9QE.js → bin/pug-DUGDf_q9.js} +1 -1
- package/dist/bin/python-Db-ndmZZ.js +1 -0
- package/dist/{standalone/qml-BxVojlB6.js → bin/qml-CPQoc4lh.js} +1 -1
- package/dist/bin/r-fQq-2_SC.js +1 -0
- package/dist/{standalone/razor-Dp2BNdgE.js → bin/razor-DNawYG-W.js} +1 -1
- package/dist/bin/regexp-YxswBMQR.js +1 -0
- package/dist/bin/{rst-BHI_EFqA.js → rst-DYfDFbA3.js} +1 -1
- package/dist/bin/ruby-DucPskDY.js +1 -0
- package/dist/bin/ruby-WBenXl3j.js +1 -0
- package/dist/bin/{sas-Dx90SbnG.js → sas-CAA8PJ6W.js} +1 -1
- package/dist/bin/scss-DsPnGUE-.js +1 -0
- package/dist/bin/{scss-ByAjeRJP.js → scss-gssODMF6.js} +1 -1
- package/dist/bin/sdbl-xOqMdGXn.js +1 -0
- package/dist/bin/{shaderlab-8CiQ7btM.js → shaderlab-DgQHun4U.js} +1 -1
- package/dist/bin/shellscript-CE_I727X.js +1 -0
- package/dist/bin/{shellsession-xr72W2pP.js → shellsession-lr0Ayolf.js} +1 -1
- package/dist/{standalone/soy-BExHEi9F.js → bin/soy-CvtaBVSX.js} +1 -1
- package/dist/bin/{sparql-Bq74Yvwh.js → sparql-C2NKB4nB.js} +1 -1
- package/dist/bin/sql-k-FO79OG.js +1 -0
- package/dist/{standalone/stata-XyxwKkW7.js → bin/stata-CxUtssUq.js} +1 -1
- package/dist/bin/stylus-BjHmFbLS.js +1 -0
- package/dist/{standalone/surrealql-DeE9iwmm.js → bin/surrealql-UeEcHssQ.js} +1 -1
- package/dist/bin/{svelte-CHomAVJT.js → svelte-biVT5zcD.js} +1 -1
- package/dist/bin/{templ-BRBP2pJf.js → templ-BYYVc90I.js} +1 -1
- package/dist/bin/tex-C2t_GUxi.js +1 -0
- package/dist/bin/{tex-5doNg0Ig.js → tex-bdKBkGZu.js} +1 -1
- package/dist/bin/ts-tags-BfYDhMLE.js +1 -0
- package/dist/bin/tsx-BVj7RLM1.js +1 -0
- package/dist/bin/turtle-D8pw025F.js +1 -0
- package/dist/bin/{twig-D5Nfm9La.js → twig-CwzAgcmH.js} +1 -1
- package/dist/bin/typescript-DNgWo8f4.js +1 -0
- package/dist/bin/typespec-Cl5YolbG.js +1 -0
- package/dist/bin/{vue-zYUVH6uJ.js → vue-DRO7KWbH.js} +1 -1
- package/dist/bin/{vue-html-D7v7uXO6.js → vue-html-BpQ6tiBD.js} +1 -1
- package/dist/bin/{vue-vine-lH9fGYq_.js → vue-vine-BoHGuuLM.js} +1 -1
- package/dist/bin/xml-CfpLAPLz.js +1 -0
- package/dist/bin/{xml-CGrMwkeu.js → xml-DDPMLAMm.js} +1 -1
- package/dist/bin/{xsl-C-lr_lSi.js → xsl-BEetQfvy.js} +1 -1
- package/dist/bin/yaml-OQyYPsei.js +1 -0
- package/dist/lib/index.d.ts +6 -1
- package/dist/lib/index.js +188 -189
- package/dist/standalone/{angular-html-BDfh9ICS.js → angular-html-WQX9Y2mw.js} +1 -1
- package/dist/standalone/{angular-ts-WiBasIpj.js → angular-ts-Bnj08IE9.js} +1 -1
- package/dist/{bin/apl-BOFh_hoE.js → standalone/apl-Dqn1qSR2.js} +1 -1
- package/dist/standalone/{astro-C0A5Ee0R.js → astro-CQ8up1JW.js} +1 -1
- package/dist/standalone/bird2-DqiG7xuw.js +1 -0
- package/dist/standalone/{blade-Bh52-e5e.js → blade-CygzwZSe.js} +1 -1
- package/dist/standalone/{bsl-DrHuh5kR.js → bsl-BpGgGeZC.js} +1 -1
- package/dist/standalone/{cairo-D055eoAu.js → cairo-r1f5WYPg.js} +1 -1
- package/dist/standalone/cobol-B8Vke0Of.js +1 -0
- package/dist/{bin/coffee-7hoZPzSj.js → standalone/coffee-Cc6XxMHI.js} +1 -1
- package/dist/standalone/{cpp-BP_mYM2q.js → cpp-COjeSwn8.js} +1 -1
- package/dist/{bin/crystal-Cc66vuxC.js → standalone/crystal-14bSZvxG.js} +1 -1
- package/dist/standalone/{css-DZpGhzjZ.js → css-0fme0D-h.js} +1 -1
- package/dist/standalone/dart-WAvmL6i0.js +1 -0
- package/dist/standalone/{edge-C7ZV1b67.js → edge-C4RY6CZu.js} +1 -1
- package/dist/{bin/elixir-CrM98V7h.js → standalone/elixir-BpoXFRn8.js} +1 -1
- package/dist/standalone/{elm-Dop4RWjQ.js → elm-B6bFr4e_.js} +1 -1
- package/dist/standalone/emacs-lisp-BYwwOo2e.js +1 -0
- package/dist/standalone/{erb-CYhomfpC.js → erb-CJHKFDY_.js} +1 -1
- package/dist/standalone/{erlang-DX8GMz3W.js → erlang-CI6aeixR.js} +1 -1
- package/dist/standalone/{fortran-fixed-form-Q6JIc71r.js → fortran-fixed-form-uKGwTJjf.js} +1 -1
- package/dist/standalone/{fsharp-BNMUC2iW.js → fsharp-CASMX8mg.js} +1 -1
- package/dist/standalone/{gdresource-BlhCtIAh.js → gdresource-CJ9IjTdR.js} +1 -1
- package/dist/standalone/{git-commit-BmPljjxo.js → git-commit-CzSqi32T.js} +1 -1
- package/dist/standalone/{git-rebase-DVpnhtFe.js → git-rebase-8fT5ziFE.js} +1 -1
- package/dist/standalone/{glimmer-js-BxvF_2QK.js → glimmer-js-DWfa8dIU.js} +1 -1
- package/dist/standalone/{glimmer-ts-AM8hgR0M.js → glimmer-ts-DnQuWFQ4.js} +1 -1
- package/dist/standalone/{glsl-CeERM8Pu.js → glsl-BL_YD74S.js} +1 -1
- package/dist/standalone/{go-s39PxAzr.js → go-ChiWKuTz.js} +1 -1
- package/dist/standalone/{graphql-B_NxG4GM.js → graphql-Clgp8jU8.js} +1 -1
- package/dist/standalone/{hack-DOi7Q-_3.js → hack-C9FDVZ3F.js} +1 -1
- package/dist/standalone/{haml-DqnJGs3l.js → haml-Bzme-jHN.js} +1 -1
- package/dist/standalone/{handlebars-BD-GTNyX.js → handlebars-CBJ4eJ41.js} +1 -1
- package/dist/standalone/{horizon-bright-CHsP19AA.js → horizon-bright-DI78Rvup.js} +1 -1
- package/dist/standalone/{html-Dg4T4CWG.js → html-CdYAzs3O.js} +1 -1
- package/dist/standalone/{html-derivative-Dy01fcFN.js → html-derivative-CTfvg-k9.js} +1 -1
- package/dist/standalone/{http-Dcg4Y0LN.js → http-DtJ6xqmi.js} +1 -1
- package/dist/{bin/hurl-C4sIrBP8.js → standalone/hurl-DVOcDWDo.js} +1 -1
- package/dist/standalone/{hxml-CkY94ZZG.js → hxml-CUgBPRa1.js} +1 -1
- package/dist/standalone/index.d.ts +47 -17
- package/dist/standalone/index.js +97 -96
- package/dist/standalone/{jinja-rn3l-epj.js → jinja-SiVN3EPo.js} +1 -1
- package/dist/standalone/{jison-Bb1qcUQw.js → jison-Cxwzm23V.js} +1 -1
- package/dist/standalone/{julia-Bf0YFlEW.js → julia-BOYqvvvj.js} +1 -1
- package/dist/standalone/{just-CgnMO4TC.js → just-IvSacbqb.js} +1 -1
- package/dist/{bin/kusto-D9rJ_wbq.js → standalone/kusto-DD1r27tX.js} +1 -1
- package/dist/standalone/{latex-CHYOx8yi.js → latex-DGWWRHT_.js} +1 -1
- package/dist/standalone/{liquid-BTKRZY_L.js → liquid-LYfo5SDA.js} +1 -1
- package/dist/standalone/{lua-RcKjZiH7.js → lua-2gNjm8zw.js} +1 -1
- package/dist/standalone/{marko-CLH1Sh4A.js → marko-U21Fnozx.js} +1 -1
- package/dist/standalone/{mdc-C1ZFsTbz.js → mdc-C13-zRpl.js} +1 -1
- package/dist/standalone/{nextflow-CE20fCoX.js → nextflow-ClSSDbXV.js} +1 -1
- package/dist/standalone/nextflow-groovy-BmdTtAtJ.js +1 -0
- package/dist/standalone/{nginx-CJQ7hxI6.js → nginx-DphzlDyZ.js} +1 -1
- package/dist/standalone/{nim-Czafvbe4.js → nim-D01gBmZb.js} +1 -1
- package/dist/standalone/{perl-CChoGwxr.js → perl-CuZPLwLm.js} +1 -1
- package/dist/standalone/php-c2mqHOa5.js +1 -0
- package/dist/{bin/pug-F80Qp1DF.js → standalone/pug-C3IdK9Vd.js} +1 -1
- package/dist/{bin/qml-Brw1WH4u.js → standalone/qml-CGE-rgGq.js} +1 -1
- package/dist/{bin/razor-DKKN_syA.js → standalone/razor-DjuaA8CM.js} +1 -1
- package/dist/standalone/{rst-DL5K0SsC.js → rst-CYE4T0LV.js} +1 -1
- package/dist/standalone/ruby-Cs80OLeO.js +1 -0
- package/dist/standalone/{sas-CgrIRNnH.js → sas-CrQDddD2.js} +1 -1
- package/dist/standalone/{scss-B5Q0dl0C.js → scss-C9pn4GwM.js} +1 -1
- package/dist/standalone/{shaderlab-B3x1KxeX.js → shaderlab-DhVgk0F4.js} +1 -1
- package/dist/standalone/{shellsession-iw5paaXf.js → shellsession-B3JdqBVn.js} +1 -1
- package/dist/{bin/soy-Cy2jSWuh.js → standalone/soy-BezrirVf.js} +1 -1
- package/dist/standalone/{sparql-38UvPuKm.js → sparql-BVgWJlnd.js} +1 -1
- package/dist/{bin/stata-DawaFFYJ.js → standalone/stata-H0pnFm1o.js} +1 -1
- package/dist/{bin/surrealql-B1iahgCh.js → standalone/surrealql-DIXH8vKD.js} +1 -1
- package/dist/standalone/{svelte-DbSBwS6o.js → svelte-BTt1OQ0v.js} +1 -1
- package/dist/standalone/{templ-hC3Z5CVs.js → templ-BSHIRmzI.js} +1 -1
- package/dist/standalone/{tex-CpSHM71U.js → tex-BjwG_oxA.js} +1 -1
- package/dist/standalone/ts-tags-Cp9pA_As.js +1 -0
- package/dist/standalone/{twig-BGs9c0m6.js → twig-BX08EwMF.js} +1 -1
- package/dist/standalone/typespec-BM547vOZ.js +1 -0
- package/dist/standalone/{vue-HXXkW9Ol.js → vue-BRMpKK6E.js} +1 -1
- package/dist/standalone/{vue-html-DMGAGeUM.js → vue-html-BZjQbgy2.js} +1 -1
- package/dist/standalone/{vue-vine-CumWe8dY.js → vue-vine-G3wsxe4j.js} +1 -1
- package/dist/standalone/{xml-OYKGlsbQ.js → xml-D0UfBFEi.js} +1 -1
- package/dist/standalone/{xsl-B9zh_nzP.js → xsl-DB3rrNcL.js} +1 -1
- package/package.json +19 -19
- package/readme.md +46 -12
- package/dist/bin/angular-html-CAOiQ-Sh.js +0 -1
- package/dist/bin/bird2-_hZ3FStw.js +0 -1
- package/dist/bin/c-CdETmdiZ.js +0 -1
- package/dist/bin/cmake-D8YNkuR-.js +0 -1
- package/dist/bin/cobol-0fKuGiZv.js +0 -1
- package/dist/bin/cpp-gdwUInvu.js +0 -1
- package/dist/bin/csharp-CIll8D6u.js +0 -1
- package/dist/bin/css-CWs_acR3.js +0 -1
- package/dist/bin/csv-DxS-HYUf.js +0 -1
- package/dist/bin/dart-C2ROqx0Z.js +0 -1
- package/dist/bin/diff-DP2jXnqp.js +0 -1
- package/dist/bin/emacs-lisp-Cj_Ixk9i.js +0 -1
- package/dist/bin/fortran-free-form-C3X_sfp9.js +0 -1
- package/dist/bin/gdscript-bYJURCOy.js +0 -1
- package/dist/bin/gdshader-KOuf2xVk.js +0 -1
- package/dist/bin/glsl-DFAnV4bR.js +0 -1
- package/dist/bin/go-GcrXPybz.js +0 -1
- package/dist/bin/graphql-AasBDd3n.js +0 -1
- package/dist/bin/haml-Dz37fDMr.js +0 -1
- package/dist/bin/haxe-B4EsxHyL.js +0 -1
- package/dist/bin/hlsl-CxhYg9sd.js +0 -1
- package/dist/bin/html-Crjq5rc3.js +0 -1
- package/dist/bin/html-derivative-CsguVNJC.js +0 -1
- package/dist/bin/java-BGzTmoXK.js +0 -1
- package/dist/bin/javascript-DTXNtrg0.js +0 -1
- package/dist/bin/json-BadQRMks.js +0 -1
- package/dist/bin/jsx-CoE327E5.js +0 -1
- package/dist/bin/less-BrjQyxTC.js +0 -1
- package/dist/bin/lua-BTFYnP6K.js +0 -1
- package/dist/bin/markdown-dl1m7YAL.js +0 -1
- package/dist/bin/nextflow-groovy-COoKx28o.js +0 -1
- package/dist/bin/nextflow-groovy-CpiNfI-c.js +0 -1
- package/dist/bin/perl-B-LgtJc7.js +0 -1
- package/dist/bin/php-BAXKJjQn.js +0 -1
- package/dist/bin/php-D9zsHNF7.js +0 -1
- package/dist/bin/postcss-D_yqFB4d.js +0 -1
- package/dist/bin/python-BLuJ3b5I.js +0 -1
- package/dist/bin/r-1QWtk6BQ.js +0 -1
- package/dist/bin/regexp-WPJh6EdZ.js +0 -1
- package/dist/bin/ruby-DME9-fO-.js +0 -1
- package/dist/bin/ruby-Go_q6-3o.js +0 -1
- package/dist/bin/scss-D8wnyi0z.js +0 -1
- package/dist/bin/sdbl-CSGqAXn4.js +0 -1
- package/dist/bin/shellscript-DhB4mnQ-.js +0 -1
- package/dist/bin/sql-BfsqdN68.js +0 -1
- package/dist/bin/stylus-CtR9dQIO.js +0 -1
- package/dist/bin/tex-BLh5zE4g.js +0 -1
- package/dist/bin/ts-tags-C0IwWXwE.js +0 -1
- package/dist/bin/tsx-BMmbqG-q.js +0 -1
- package/dist/bin/turtle-BFrhIdAM.js +0 -1
- package/dist/bin/typescript-CPs8nV3S.js +0 -1
- package/dist/bin/typespec-CJG5em1O.js +0 -1
- package/dist/bin/xml-CCj7o04Q.js +0 -1
- package/dist/bin/yaml-Dg2Msz_B.js +0 -1
- package/dist/standalone/bird2-B05GFxQw.js +0 -1
- package/dist/standalone/cobol-C9xdim3W.js +0 -1
- package/dist/standalone/dart-CcoouBGm.js +0 -1
- package/dist/standalone/emacs-lisp-C1K9lKmb.js +0 -1
- package/dist/standalone/nextflow-groovy-Brjjw2F-.js +0 -1
- package/dist/standalone/php-BW6t2_Q8.js +0 -1
- package/dist/standalone/ruby-DuNhMjQX.js +0 -1
- package/dist/standalone/ts-tags-BiWG72vW.js +0 -1
- package/dist/standalone/typespec-oIccER07.js +0 -1
- /package/dist/bin/{actionscript-3-WtXz7Nc9.js → actionscript-3-BaFy4IUl.js} +0 -0
- /package/dist/bin/{ada-CxieIYPC.js → ada-HceTT-Hk.js} +0 -0
- /package/dist/bin/{andromeeda-CEVX-4Db.js → andromeeda-DSb5DuLX.js} +0 -0
- /package/dist/bin/{apache-zgaAodRu.js → apache-MxcCclyI.js} +0 -0
- /package/dist/bin/{apex-BNA6bSzI.js → apex-Dt1yk6kE.js} +0 -0
- /package/dist/bin/{applescript-D9ApUiQg.js → applescript-CByslqpM.js} +0 -0
- /package/dist/bin/{ara-Xn981wPy.js → ara-BM6jOAfW.js} +0 -0
- /package/dist/bin/{asciidoc-C90J3qhX.js → asciidoc-BlA3UgbV.js} +0 -0
- /package/dist/bin/{asm-Cvg1-8xg.js → asm-VlQVLZc1.js} +0 -0
- /package/dist/bin/{aurora-x-BLDZZUdf.js → aurora-x-CeJL9O0f.js} +0 -0
- /package/dist/bin/{awk-BjDw91sP.js → awk-UE5FuWyB.js} +0 -0
- /package/dist/bin/{ayu-dark-CV3szcXN.js → ayu-dark-BZ1fKSke.js} +0 -0
- /package/dist/bin/{ayu-light-VFwhcb7b.js → ayu-light-Ck_aK9Yx.js} +0 -0
- /package/dist/bin/{ayu-mirage-jd_AuG1F.js → ayu-mirage-BbZPk566.js} +0 -0
- /package/dist/bin/{ballerina-vBN0WIlg.js → ballerina-Bd4N5CqQ.js} +0 -0
- /package/dist/bin/{bat-C7p6Ubpb.js → bat-nOz1h7iR.js} +0 -0
- /package/dist/bin/{beancount-zb-3xb6T.js → beancount-DYpPd8NJ.js} +0 -0
- /package/dist/bin/{berry-B_fAwMGD.js → berry-D6DSNBWg.js} +0 -0
- /package/dist/bin/{bibtex-AJFrnpSy.js → bibtex-8WxC_vKc.js} +0 -0
- /package/dist/bin/{bicep-ZTMcEuYT.js → bicep-Dr_R0619.js} +0 -0
- /package/dist/bin/{c-DIXYfOSP.js → c-DZllpasP.js} +0 -0
- /package/dist/bin/{c3-CF_7Rl_o.js → c3-BzjQIVCp.js} +0 -0
- /package/dist/bin/{cadence-BoKQX0Lv.js → cadence-QJ1AGP7V.js} +0 -0
- /package/dist/bin/{catppuccin-frappe-CHSjY7K5.js → catppuccin-frappe-C74znM78.js} +0 -0
- /package/dist/bin/{catppuccin-latte-BIei23jc.js → catppuccin-latte-yc8K1O2M.js} +0 -0
- /package/dist/bin/{catppuccin-macchiato-stEzqrNw.js → catppuccin-macchiato-DfzJUoQE.js} +0 -0
- /package/dist/bin/{catppuccin-mocha-Csibodaz.js → catppuccin-mocha-CV-OB_YP.js} +0 -0
- /package/dist/bin/{clarity-CF2X0I3d.js → clarity-CP8m4qdU.js} +0 -0
- /package/dist/bin/{clojure-D4EmLgj3.js → clojure-Du7V1e4x.js} +0 -0
- /package/dist/bin/{cmake-BADnWbaq.js → cmake-DirU205C.js} +0 -0
- /package/dist/bin/{codeowners-CKcVmpS-.js → codeowners-C-jlmeHU.js} +0 -0
- /package/dist/bin/{codeql-aBgygx2C.js → codeql-DQHv5NBs.js} +0 -0
- /package/dist/bin/{common-lisp-C0AzPNil.js → common-lisp-BsVO-SvL.js} +0 -0
- /package/dist/bin/{coq-FNCdvNHe.js → coq-Bl0U720i.js} +0 -0
- /package/dist/bin/{csharp-2Bjq_Rxi.js → csharp-DJUgEWNf.js} +0 -0
- /package/dist/bin/{csv-BU_TMxAS.js → csv-naVBPhrS.js} +0 -0
- /package/dist/bin/{cue-DV_1hEYT.js → cue-C3D0yAYi.js} +0 -0
- /package/dist/bin/{cypher-DrvyYDIr.js → cypher-CeWowZt9.js} +0 -0
- /package/dist/bin/{d-Dly9ufdX.js → d-DYrc22cP.js} +0 -0
- /package/dist/bin/{dark-plus-B42qAV4C.js → dark-plus-Comjg6US.js} +0 -0
- /package/dist/bin/{dax-vDoOL-fx.js → dax-B0jXJO6E.js} +0 -0
- /package/dist/bin/{desktop-DoZVZZ4h.js → desktop-DW6_MitS.js} +0 -0
- /package/dist/bin/{diff-By4RszRJ.js → diff-swkNtDFu.js} +0 -0
- /package/dist/bin/{docker-Bp8c7Dqi.js → docker-otzKDcRB.js} +0 -0
- /package/dist/bin/{dotenv-CEJeNbhS.js → dotenv-DK8FyOTY.js} +0 -0
- /package/dist/bin/{dracula-soft-CMTkd8vI.js → dracula-soft-srQhJYut.js} +0 -0
- /package/dist/bin/{dracula-DmN2zRHi.js → dracula-tZpPjTpX.js} +0 -0
- /package/dist/bin/{dream-maker-D3zsoW7J.js → dream-maker-CNbVmTq1.js} +0 -0
- /package/dist/bin/{everforest-dark-C1ZUi0Ki.js → everforest-dark-Bu3gFA-8.js} +0 -0
- /package/dist/bin/{everforest-light-BiIEIFyN.js → everforest-light-Cf0fR5Ti.js} +0 -0
- /package/dist/bin/{fennel-DAD8VWfy.js → fennel-Bbo-EUQE.js} +0 -0
- /package/dist/bin/{fish-G6fwZxok.js → fish-DrrKatD-.js} +0 -0
- /package/dist/bin/{fluent-BOBTNP2g.js → fluent-BWbo2JQ_.js} +0 -0
- /package/dist/bin/{fortran-free-form-By4p5LLA.js → fortran-free-form-BqeOewcz.js} +0 -0
- /package/dist/bin/{gdscript-DF4DHgCD.js → gdscript-CQy5Em6X.js} +0 -0
- /package/dist/bin/{gdshader-BPirqxsQ.js → gdshader-DuGt6i2A.js} +0 -0
- /package/dist/bin/{genie-DHT45pJu.js → genie-BtQYZNKR.js} +0 -0
- /package/dist/bin/{gherkin-BOftJ3Qu.js → gherkin-CIadD1ZT.js} +0 -0
- /package/dist/bin/{github-dark-Dhlw38v_.js → github-dark-9m5hPMlo.js} +0 -0
- /package/dist/bin/{github-dark-default-ChurEZVr.js → github-dark-default-DlN5M7CE.js} +0 -0
- /package/dist/bin/{github-dark-dimmed-Bg8moaOR.js → github-dark-dimmed-nV3axXTC.js} +0 -0
- /package/dist/bin/{github-dark-high-contrast-BuMAw1v5.js → github-dark-high-contrast-MfTMaKuJ.js} +0 -0
- /package/dist/bin/{github-light-DUFhx0nQ.js → github-light-C9MFANg3.js} +0 -0
- /package/dist/bin/{github-light-default-DhNuYLfL.js → github-light-default-Cfefjxfr.js} +0 -0
- /package/dist/bin/{github-light-high-contrast-VDpphmUr.js → github-light-high-contrast-BW7U_oJF.js} +0 -0
- /package/dist/bin/{gleam-BQORp6Ww.js → gleam-Bnawsb2X.js} +0 -0
- /package/dist/bin/{gn-BUvkHyO2.js → gn-Bc2dAhdc.js} +0 -0
- /package/dist/bin/{gnuplot-BiNqzIdJ.js → gnuplot-X12GawsY.js} +0 -0
- /package/dist/bin/{groovy-DZM0Oins.js → groovy-eavxb_aL.js} +0 -0
- /package/dist/bin/{gruvbox-dark-hard-B0-6V_Sa.js → gruvbox-dark-hard-Ckkb-ckr.js} +0 -0
- /package/dist/bin/{gruvbox-dark-medium-B2kDYkf7.js → gruvbox-dark-medium-DveV0NZQ.js} +0 -0
- /package/dist/bin/{gruvbox-dark-soft-D80qdOIx.js → gruvbox-dark-soft-BnCoejWh.js} +0 -0
- /package/dist/bin/{gruvbox-light-hard-np83Fhw4.js → gruvbox-light-hard-alFf9nMB.js} +0 -0
- /package/dist/bin/{gruvbox-light-medium--BtU_nk6.js → gruvbox-light-medium-DXv1IAoL.js} +0 -0
- /package/dist/bin/{gruvbox-light-soft-BQQJZmHA.js → gruvbox-light-soft-DE2R_dXV.js} +0 -0
- /package/dist/bin/{haskell-ChFomDou.js → haskell-D52N8aee.js} +0 -0
- /package/dist/bin/{haxe-Bgb4tX8C.js → haxe-lcHdXErF.js} +0 -0
- /package/dist/bin/{hcl-B_oQREVc.js → hcl-CohGLpsg.js} +0 -0
- /package/dist/bin/{hjson-B6rsoOCm.js → hjson-kJZd-7Uv.js} +0 -0
- /package/dist/bin/{hlsl-Dzk9GcSJ.js → hlsl-Bed0H4CN.js} +0 -0
- /package/dist/bin/{horizon-DC2iZgoY.js → horizon-BjlQhBS5.js} +0 -0
- /package/dist/bin/{houston-CAkU4Xzv.js → houston-BRgUYlu1.js} +0 -0
- /package/dist/bin/{hy-BzSjeCAF.js → hy-ClHGi00q.js} +0 -0
- /package/dist/bin/{imba-BCVM_gFu.js → imba-BwxhzLVj.js} +0 -0
- /package/dist/bin/{ini-CK7-QP3O.js → ini-BF8qU-L3.js} +0 -0
- /package/dist/bin/{java-Dgsz0B-P.js → java-DGXJx_7v.js} +0 -0
- /package/dist/bin/{javascript-BNwJ9fBE.js → javascript-DRicMqJx.js} +0 -0
- /package/dist/bin/{json-Dttibclf.js → json-ci7zycrx.js} +0 -0
- /package/dist/bin/{json5-D-uNcxgL.js → json5-5ueAesZq.js} +0 -0
- /package/dist/bin/{jsonc-Mhn2hM5D.js → jsonc-DLUxDCmI.js} +0 -0
- /package/dist/bin/{jsonl-DEwECwXy.js → jsonl-CcfJT6c3.js} +0 -0
- /package/dist/bin/{jsonnet-aP9lctbz.js → jsonnet-BfXfyZk_.js} +0 -0
- /package/dist/bin/{jssm-Bzk9BSR5.js → jssm-CG0kgLyz.js} +0 -0
- /package/dist/bin/{jsx-YopGa7XH.js → jsx-BVfyPJhl.js} +0 -0
- /package/dist/bin/{kanagawa-dragon-DRuqSBxu.js → kanagawa-dragon-CbwGXU96.js} +0 -0
- /package/dist/bin/{kanagawa-lotus-DFk8eUao.js → kanagawa-lotus-DvItD0v_.js} +0 -0
- /package/dist/bin/{kanagawa-wave-wqQYYPW0.js → kanagawa-wave-7BIcQNHD.js} +0 -0
- /package/dist/bin/{kdl-BBdrnnFN.js → kdl-CGCQY1-0.js} +0 -0
- /package/dist/bin/{kotlin-BOAeJ3Zn.js → kotlin-Babw_olw.js} +0 -0
- /package/dist/bin/{laserwave-po4bDaOp.js → laserwave-D7dCmej9.js} +0 -0
- /package/dist/bin/{lean--6SzPv5H.js → lean-BHhNV2FE.js} +0 -0
- /package/dist/bin/{less-DRwZNTsh.js → less-CwsIRTz2.js} +0 -0
- /package/dist/bin/{light-plus-B1SMNL2F.js → light-plus-DY08IP0P.js} +0 -0
- /package/dist/bin/{llvm-7RtiJHjj.js → llvm-CnTFl-xP.js} +0 -0
- /package/dist/bin/{log-KNtIq3vN.js → log-DWm71oiG.js} +0 -0
- /package/dist/bin/{logo-BhWYf_9m.js → logo-CSNcrIVD.js} +0 -0
- /package/dist/bin/{luau-CmcVV_DK.js → luau-D1AKCLXr.js} +0 -0
- /package/dist/bin/{make-Df5gTOt9.js → make-BcNpqY4E.js} +0 -0
- /package/dist/bin/{markdown-BtUDO16i.js → markdown-BWnBsa8n.js} +0 -0
- /package/dist/bin/{material-theme-BhPjDEOe.js → material-theme-CE5_eJON.js} +0 -0
- /package/dist/bin/{material-theme-darker-LB0WiHs5.js → material-theme-darker-D9dePcxU.js} +0 -0
- /package/dist/bin/{material-theme-lighter-b9Tsrc9R.js → material-theme-lighter-mNHXfMW6.js} +0 -0
- /package/dist/bin/{material-theme-ocean-B1e0t2_i.js → material-theme-ocean-FUMkFnrk.js} +0 -0
- /package/dist/bin/{material-theme-palenight-1CdY1ykl.js → material-theme-palenight-Byjl0ziV.js} +0 -0
- /package/dist/bin/{matlab-Qa9-GHKp.js → matlab-DLY1DdfV.js} +0 -0
- /package/dist/bin/{mdx-DrGeQtwF.js → mdx-C15-rtcb.js} +0 -0
- /package/dist/bin/{mermaid-CcPTwP9f.js → mermaid-BjiOJq8q.js} +0 -0
- /package/dist/bin/{min-dark-Dujx5q9i.js → min-dark-DmJdERaK.js} +0 -0
- /package/dist/bin/{min-light-wZS1kyfV.js → min-light-QnTJyXug.js} +0 -0
- /package/dist/bin/{mipsasm-BfvsshAY.js → mipsasm-CKHxalY6.js} +0 -0
- /package/dist/bin/{mojo-C2BYzC14.js → mojo-C2AiLnrb.js} +0 -0
- /package/dist/bin/{monokai-w9z2AnJS.js → monokai-BlWWERvb.js} +0 -0
- /package/dist/bin/{moonbit-DjpzDFB5.js → moonbit-CyDpODU8.js} +0 -0
- /package/dist/bin/{move-Bxr9ef96.js → move-DCXtz79I.js} +0 -0
- /package/dist/bin/{narrat-DcRshums.js → narrat-BEsur76A.js} +0 -0
- /package/dist/bin/{night-owl-CplppJJB.js → night-owl-CQ_y355d.js} +0 -0
- /package/dist/bin/{night-owl-light-BpOQXyuL.js → night-owl-light-9on5aClC.js} +0 -0
- /package/dist/bin/{nix-CtTYb1HK.js → nix-BlkifsNW.js} +0 -0
- /package/dist/bin/{nord-hoPJ5Dy3.js → nord-CHhLQxrx.js} +0 -0
- /package/dist/bin/{nushell-Cn3fXdgH.js → nushell-CGbyWjqd.js} +0 -0
- /package/dist/bin/{objective-c-BkduaOlQ.js → objective-c-DnEgp4sH.js} +0 -0
- /package/dist/bin/{objective-cpp-Cn2j-b6G.js → objective-cpp-DA1zjGUh.js} +0 -0
- /package/dist/bin/{ocaml-DqvuWcoq.js → ocaml-XKrHblGZ.js} +0 -0
- /package/dist/bin/{odin-D7ha6-Ni.js → odin-CUQeabzv.js} +0 -0
- /package/dist/bin/{one-dark-pro-eMAAhFAk.js → one-dark-pro-CPor5xCJ.js} +0 -0
- /package/dist/bin/{one-light-CSbFTW4a.js → one-light-Cs4MmHBp.js} +0 -0
- /package/dist/bin/{open-8AenGr4K.js → open-B4GJGp_X.js} +0 -0
- /package/dist/bin/{openscad-Dy0BqjE1.js → openscad-C-pyoaHZ.js} +0 -0
- /package/dist/bin/{pascal-HLRSlJ2v.js → pascal-DTg8yr2K.js} +0 -0
- /package/dist/bin/{pkl-D0LsOQD5.js → pkl-Dmk952a-.js} +0 -0
- /package/dist/bin/{plastic-DH0ROn14.js → plastic-CKy4gKei.js} +0 -0
- /package/dist/bin/{plsql-Ckotkn8G.js → plsql-DlmRLiy4.js} +0 -0
- /package/dist/bin/{po-Qix2N2fA.js → po-nqc2dSM7.js} +0 -0
- /package/dist/bin/{poimandres-HErFvNSF.js → poimandres-BcnQgoA4.js} +0 -0
- /package/dist/bin/{polar-DHAM8Rqb.js → polar-CUas3-Ed.js} +0 -0
- /package/dist/bin/{postcss-hgbxLNuF.js → postcss-DsLOvYd_.js} +0 -0
- /package/dist/bin/{powerquery-sXjCytsm.js → powerquery-o8pQIha0.js} +0 -0
- /package/dist/bin/{powershell-Br9y9LlC.js → powershell-DnB_d8z7.js} +0 -0
- /package/dist/bin/{prisma-COBUUaqE.js → prisma-BhG3Ia_M.js} +0 -0
- /package/dist/bin/{prolog-BbJTvtA-.js → prolog-CxNOQvhU.js} +0 -0
- /package/dist/bin/{proto-DiR3FLO1.js → proto-CxYQsozc.js} +0 -0
- /package/dist/bin/{puppet-CNdK406T.js → puppet-CYAa5kR2.js} +0 -0
- /package/dist/bin/{purescript-Cgw06S43.js → purescript-CN27zoMM.js} +0 -0
- /package/dist/bin/{python-DRu0B6X_.js → python-DAHUwdu1.js} +0 -0
- /package/dist/bin/{qmldir-tOWyMniz.js → qmldir-DK51keAu.js} +0 -0
- /package/dist/bin/{qss-CQ_tB_vx.js → qss-Dz7u-rR1.js} +0 -0
- /package/dist/bin/{r-CeXuGenk.js → r-CqHWlSSM.js} +0 -0
- /package/dist/bin/{racket-xM_JlWdJ.js → racket-COiCIaTN.js} +0 -0
- /package/dist/bin/{raku-CsjbV0q-.js → raku-0kOHw_dw.js} +0 -0
- /package/dist/bin/{red-2s42RJtx.js → red-m6Euu7mt.js} +0 -0
- /package/dist/bin/{reg-CDO-JwKW.js → reg-qVlCOoBm.js} +0 -0
- /package/dist/bin/{regexp-Aby82bH7.js → regexp-D7f8yhPZ.js} +0 -0
- /package/dist/bin/{rel-Lnk3efq_.js → rel-CWou97ke.js} +0 -0
- /package/dist/bin/{riscv-B6rT4cSG.js → riscv-DsFkdmj1.js} +0 -0
- /package/dist/bin/{ron-BiBOkEWn.js → ron-BiFFIB8X.js} +0 -0
- /package/dist/bin/{rose-pine-CxwcSun-.js → rose-pine-P4OLTmk8.js} +0 -0
- /package/dist/bin/{rose-pine-dawn-DkCSMZNl.js → rose-pine-dawn-Bjp9OAsX.js} +0 -0
- /package/dist/bin/{rose-pine-moon-CRcpU7ID.js → rose-pine-moon-BDOjeUMF.js} +0 -0
- /package/dist/bin/{rosmsg-_EpaFX4E.js → rosmsg-C8-G6Zy3.js} +0 -0
- /package/dist/bin/{rust-Dzeg0wAa.js → rust-8VLxkvbI.js} +0 -0
- /package/dist/bin/{sass-CfSmloHa.js → sass-CAZlzDYO.js} +0 -0
- /package/dist/bin/{scala-BzM4CFnq.js → scala-CNeLcgeU.js} +0 -0
- /package/dist/bin/{scheme-BqJLyHNb.js → scheme-DM0dV7X-.js} +0 -0
- /package/dist/bin/{sdbl-CVVKgb7O.js → sdbl-D91Q0-P-.js} +0 -0
- /package/dist/bin/{shellscript-CED9H1ao.js → shellscript-C3cZBHq3.js} +0 -0
- /package/dist/bin/{slack-dark-BLjlSbC0.js → slack-dark-D3icvwba.js} +0 -0
- /package/dist/bin/{slack-ochin-BeSJq7AY.js → slack-ochin-HRbhvypv.js} +0 -0
- /package/dist/bin/{smalltalk-DrKePzpE.js → smalltalk-CaV7xkpe.js} +0 -0
- /package/dist/bin/{snazzy-light-hGizAcbG.js → snazzy-light-DH6eOZ8E.js} +0 -0
- /package/dist/bin/{solarized-dark-B47oUJnZ.js → solarized-dark-CyUppETu.js} +0 -0
- /package/dist/bin/{solarized-light-COfgMzjY.js → solarized-light-CUG32Y3B.js} +0 -0
- /package/dist/bin/{solidity-93cGmCAT.js → solidity-CUUGhfh7.js} +0 -0
- /package/dist/bin/{splunk-C1Hlgf0c.js → splunk-D3BNLPbA.js} +0 -0
- /package/dist/bin/{sql-CWYhyc-w.js → sql-BBjVgCWI.js} +0 -0
- /package/dist/bin/{ssh-config-mSCJO_Nw.js → ssh-config-DSA-oRqW.js} +0 -0
- /package/dist/bin/{stylus-Dxd5rS5f.js → stylus-B8GmhT3T.js} +0 -0
- /package/dist/bin/{swift-CmhdkGbJ.js → swift-B3Og23RF.js} +0 -0
- /package/dist/bin/{synthwave-84-C8lHUQgz.js → synthwave-84-BQqBrmUY.js} +0 -0
- /package/dist/bin/{system-verilog-C5NPuZ4w.js → system-verilog-lZv4orfV.js} +0 -0
- /package/dist/bin/{systemd-DWf13jtC.js → systemd-C_lHKyyv.js} +0 -0
- /package/dist/bin/{talonscript-BHUwvink.js → talonscript-BgSK8iKj.js} +0 -0
- /package/dist/bin/{tasl-BqepUa6R.js → tasl-CfJEvNyg.js} +0 -0
- /package/dist/bin/{tcl-Cq_3s_LD.js → tcl-_6WfXxa8.js} +0 -0
- /package/dist/bin/{terraform-CJUb39F2.js → terraform-CvaKdwhe.js} +0 -0
- /package/dist/bin/{tokyo-night-DToTZO1M.js → tokyo-night-Dxn9nxCt.js} +0 -0
- /package/dist/bin/{toml-CcAy-xez.js → toml-C2IeULXW.js} +0 -0
- /package/dist/bin/{tsv-2LD76W9Y.js → tsv-upWrMxDX.js} +0 -0
- /package/dist/bin/{tsx-BTd5Sf56.js → tsx-CqFEeXnl.js} +0 -0
- /package/dist/bin/{turtle-D-xcuGf_.js → turtle-OfMAFnDU.js} +0 -0
- /package/dist/bin/{typescript-DcBfMx29.js → typescript-QhLgbiI3.js} +0 -0
- /package/dist/bin/{typst-CdguKrlh.js → typst-B0bxD-3R.js} +0 -0
- /package/dist/bin/{v-VnqxfSIy.js → v-DgtEGhmc.js} +0 -0
- /package/dist/bin/{vala-CPlxddOG.js → vala-X9RAnsG9.js} +0 -0
- /package/dist/bin/{vb-Do7lrS7D.js → vb-B8fi0ef3.js} +0 -0
- /package/dist/bin/{verilog-OGZUphCy.js → verilog-9KNl_vs0.js} +0 -0
- /package/dist/bin/{vesper-D6bcMq-9.js → vesper-BUDildQy.js} +0 -0
- /package/dist/bin/{vhdl-vQqxP3uc.js → vhdl-Ex4Tk_Q4.js} +0 -0
- /package/dist/bin/{viml-CRzBk174.js → viml-9TyT6AIR.js} +0 -0
- /package/dist/bin/{vitesse-black-DZPzP4WR.js → vitesse-black-BLDFwo2e.js} +0 -0
- /package/dist/bin/{vitesse-dark-Dn_i46a6.js → vitesse-dark-B7cKn6BQ.js} +0 -0
- /package/dist/bin/{vitesse-light-BYktrL59.js → vitesse-light-Cxpku45l.js} +0 -0
- /package/dist/bin/{vyper-CxG5w_hf.js → vyper-DlDvdFHA.js} +0 -0
- /package/dist/bin/{wasm-DfcgBtd_.js → wasm-BJM1CVhc.js} +0 -0
- /package/dist/bin/{wasm-C2OXzu0D.js → wasm-CgH-dZ_Q.js} +0 -0
- /package/dist/bin/{wenyan-CeYhWKkN.js → wenyan-cHQHBRol.js} +0 -0
- /package/dist/bin/{wgsl-gGAb2oSq.js → wgsl-BGXNRVfe.js} +0 -0
- /package/dist/bin/{wikitext-BNkXva03.js → wikitext-B_NAdate.js} +0 -0
- /package/dist/bin/{wit-snpmR1aT.js → wit-DpEeRzSj.js} +0 -0
- /package/dist/bin/{wolfram-BUWAXgpt.js → wolfram-FezxoFHC.js} +0 -0
- /package/dist/bin/{yaml-Brl8JesV.js → yaml-IgZurznZ.js} +0 -0
- /package/dist/bin/{zenscript-DAB1FI6O.js → zenscript-BSSNIKM2.js} +0 -0
- /package/dist/bin/{zig-DZTxXyCC.js → zig-DO_pxwRi.js} +0 -0
- /package/dist/standalone/{actionscript-3-WtXz7Nc9.js → actionscript-3-BaFy4IUl.js} +0 -0
- /package/dist/standalone/{ada-CxieIYPC.js → ada-HceTT-Hk.js} +0 -0
- /package/dist/standalone/{andromeeda-BylpTWnC.js → andromeeda-Drn3I52d.js} +0 -0
- /package/dist/standalone/{apache-zgaAodRu.js → apache-UvT67k7r.js} +0 -0
- /package/dist/standalone/{apex-BNA6bSzI.js → apex-C-zVKAtI.js} +0 -0
- /package/dist/standalone/{applescript-D9ApUiQg.js → applescript-CUUTxpqG.js} +0 -0
- /package/dist/standalone/{ara-Xn981wPy.js → ara-DXe565Eb.js} +0 -0
- /package/dist/standalone/{asciidoc-C90J3qhX.js → asciidoc-y8iYfg5t.js} +0 -0
- /package/dist/standalone/{asm-Cvg1-8xg.js → asm-FONT_MzT.js} +0 -0
- /package/dist/standalone/{aurora-x-z2QLMo08.js → aurora-x-CbSRhEG_.js} +0 -0
- /package/dist/standalone/{awk-L1WqJyjl.js → awk-C1Xf3NCS.js} +0 -0
- /package/dist/standalone/{ayu-dark-DFAYKmY8.js → ayu-dark-DUKhGG9M.js} +0 -0
- /package/dist/standalone/{ayu-light-ChPCIrww.js → ayu-light-zq1IImlB.js} +0 -0
- /package/dist/standalone/{ayu-mirage-Be8UDvXu.js → ayu-mirage-C0t0AhQz.js} +0 -0
- /package/dist/standalone/{ballerina-DOw61Yuq.js → ballerina-CtqZ90g_.js} +0 -0
- /package/dist/standalone/{bat-BJGaXoOz.js → bat-u_XFPZwF.js} +0 -0
- /package/dist/standalone/{beancount-Cu6FxzuA.js → beancount-gCaRbBDP.js} +0 -0
- /package/dist/standalone/{berry-DiPZpURY.js → berry-v4FqJ4ET.js} +0 -0
- /package/dist/standalone/{bibtex-Dp74FGRo.js → bibtex-6NwGpUZD.js} +0 -0
- /package/dist/standalone/{bicep-BwSAodHP.js → bicep-CA2puXK8.js} +0 -0
- /package/dist/standalone/{c-C-hboKX2.js → c-CUtwC4Mj.js} +0 -0
- /package/dist/standalone/{c3-BS3NJrFe.js → c3-Ce3JALMQ.js} +0 -0
- /package/dist/standalone/{cadence-DKUaB06W.js → cadence-bRc3mSPd.js} +0 -0
- /package/dist/standalone/{catppuccin-frappe-Dq9QR7eZ.js → catppuccin-frappe-Ck2c3Ir7.js} +0 -0
- /package/dist/standalone/{catppuccin-latte-yUwHFQst.js → catppuccin-latte-vbplB5Zo.js} +0 -0
- /package/dist/standalone/{catppuccin-macchiato-KYmbHQyq.js → catppuccin-macchiato-Bl8WMzwO.js} +0 -0
- /package/dist/standalone/{catppuccin-mocha-DFrUhns1.js → catppuccin-mocha-kN0Ta6g1.js} +0 -0
- /package/dist/standalone/{clarity-DKB_EYUy.js → clarity-BFCwqYZP.js} +0 -0
- /package/dist/standalone/{clojure-D7D2Zxsu.js → clojure-VpUVxvc9.js} +0 -0
- /package/dist/standalone/{cmake-Bju7ahwU.js → cmake-C9OlSQmP.js} +0 -0
- /package/dist/standalone/{codeowners-Di1OvpcW.js → codeowners-BRS2WD7U.js} +0 -0
- /package/dist/standalone/{codeql-KhL_IfCA.js → codeql-Bbt3c-53.js} +0 -0
- /package/dist/standalone/{common-lisp-DL0ShAR3.js → common-lisp-BvU0WGaz.js} +0 -0
- /package/dist/standalone/{coq-YuXzTVD8.js → coq-CYNX735i.js} +0 -0
- /package/dist/standalone/{csharp-X4m7dqIW.js → csharp-DEz-wF3L.js} +0 -0
- /package/dist/standalone/{csv-D_FJD-_L.js → csv-CwVLIGRx.js} +0 -0
- /package/dist/standalone/{cue-Brrvnugl.js → cue-BAFnez9U.js} +0 -0
- /package/dist/standalone/{cypher-CieA2-Ow.js → cypher-ByMDbfJE.js} +0 -0
- /package/dist/standalone/{d-BeWU-E1F.js → d-Bj_XxJbi.js} +0 -0
- /package/dist/standalone/{dark-plus-t8phC8vs.js → dark-plus-BxwPW2PO.js} +0 -0
- /package/dist/standalone/{dax-DZs9015r.js → dax-CN15Ir6v.js} +0 -0
- /package/dist/standalone/{desktop-Bmf3DIqD.js → desktop-Blw5nWNd.js} +0 -0
- /package/dist/standalone/{diff-M4XuV4o4.js → diff-DnSAa7YV.js} +0 -0
- /package/dist/standalone/{docker-Bf7rtiym.js → docker-CrBT4uQ5.js} +0 -0
- /package/dist/standalone/{dotenv-BwfGDw9z.js → dotenv-B3TKMiE2.js} +0 -0
- /package/dist/standalone/{dracula-__iKjS5Q.js → dracula-DDAawnm1.js} +0 -0
- /package/dist/standalone/{dracula-soft-Cn3YGlZ1.js → dracula-soft-B6l93y6r.js} +0 -0
- /package/dist/standalone/{dream-maker-BOxs3X-U.js → dream-maker-0xoAwu9F.js} +0 -0
- /package/dist/standalone/{everforest-dark-CG-xS58q.js → everforest-dark-uqvKxCLa.js} +0 -0
- /package/dist/standalone/{everforest-light-VnlgGH1r.js → everforest-light-Bgi4okNs.js} +0 -0
- /package/dist/standalone/{fennel-Bkp2zi6e.js → fennel-CDz99RXZ.js} +0 -0
- /package/dist/standalone/{fish-BSydEoPu.js → fish-BWVO9Ijr.js} +0 -0
- /package/dist/standalone/{fluent-CdeSNonp.js → fluent-SYyPuB0x.js} +0 -0
- /package/dist/standalone/{fortran-free-form-uMmrusbk.js → fortran-free-form-Cvm5N8AW.js} +0 -0
- /package/dist/standalone/{gdscript-CjXE_VF4.js → gdscript-DVPR-jwA.js} +0 -0
- /package/dist/standalone/{gdshader-D3GnIQMO.js → gdshader-DKg6VZob.js} +0 -0
- /package/dist/standalone/{genie-DjRp0HIF.js → genie-CnxW4Aei.js} +0 -0
- /package/dist/standalone/{gherkin-CO-9Xf3O.js → gherkin-Ba85ScdA.js} +0 -0
- /package/dist/standalone/{github-dark-DW2tvKKC.js → github-dark-CUBA-q-0.js} +0 -0
- /package/dist/standalone/{github-dark-default-ChsP8enW.js → github-dark-default-C6xZFMUm.js} +0 -0
- /package/dist/standalone/{github-dark-dimmed-DbObBUjn.js → github-dark-dimmed-BrWMwSTm.js} +0 -0
- /package/dist/standalone/{github-dark-high-contrast-DGQlFkmA.js → github-dark-high-contrast-BwsS_67p.js} +0 -0
- /package/dist/standalone/{github-light-JgN_--pJ.js → github-light-C3_GirKd.js} +0 -0
- /package/dist/standalone/{github-light-default-Dyse0wyU.js → github-light-default-DSvSOSFj.js} +0 -0
- /package/dist/standalone/{github-light-high-contrast-CeZ5HGZn.js → github-light-high-contrast-D-cuyaxK.js} +0 -0
- /package/dist/standalone/{gleam-BIhdqQ3b.js → gleam-BK_CIoct.js} +0 -0
- /package/dist/standalone/{gn--jXLY5_N.js → gn-C_iz9Wbo.js} +0 -0
- /package/dist/standalone/{gnuplot-Bxet1c3v.js → gnuplot-DXHAMx9j.js} +0 -0
- /package/dist/standalone/{groovy-CzT_Iae7.js → groovy-CPhve-3q.js} +0 -0
- /package/dist/standalone/{gruvbox-dark-hard-C1uR-pvB.js → gruvbox-dark-hard-DwraziE-.js} +0 -0
- /package/dist/standalone/{gruvbox-dark-medium-C_NCtEMg.js → gruvbox-dark-medium-tN06WFx5.js} +0 -0
- /package/dist/standalone/{gruvbox-dark-soft-DbASFM7u.js → gruvbox-dark-soft-BRDrk-Jk.js} +0 -0
- /package/dist/standalone/{gruvbox-light-hard-BisBk_cZ.js → gruvbox-light-hard-BUtBEr5w.js} +0 -0
- /package/dist/standalone/{gruvbox-light-medium-Cqf5GdYM.js → gruvbox-light-medium-BDydPOJI.js} +0 -0
- /package/dist/standalone/{gruvbox-light-soft-R3xWeYua.js → gruvbox-light-soft-B6sZTVCC.js} +0 -0
- /package/dist/standalone/{haskell-BU_KScmc.js → haskell-BZidAwBv.js} +0 -0
- /package/dist/standalone/{haxe-Dq20ysgQ.js → haxe-7LrSSm24.js} +0 -0
- /package/dist/standalone/{hcl-C-NSNXCz.js → hcl-B89HlRT6.js} +0 -0
- /package/dist/standalone/{hjson-C1slXyS7.js → hjson--1iec2mk.js} +0 -0
- /package/dist/standalone/{hlsl-nviGPNKF.js → hlsl-ys6eD8k3.js} +0 -0
- /package/dist/standalone/{horizon-pIEktodb.js → horizon-DHDEy49h.js} +0 -0
- /package/dist/standalone/{houston-DM-vL-Qy.js → houston-C2UUgkcj.js} +0 -0
- /package/dist/standalone/{hy-CNbyPkG-.js → hy-DfDp0LOu.js} +0 -0
- /package/dist/standalone/{imba-C3JgZFAu.js → imba-5rlinXsS.js} +0 -0
- /package/dist/standalone/{ini-CnSxfbfK.js → ini-Dvl7p4fh.js} +0 -0
- /package/dist/standalone/{java-CzlXKE3t.js → java-De0U3342.js} +0 -0
- /package/dist/standalone/{javascript-FKiEkpOl.js → javascript-CnBrVnUh.js} +0 -0
- /package/dist/standalone/{json-E5qb7BD2.js → json-DW5QMcCj.js} +0 -0
- /package/dist/standalone/{json5-BlfBFW_Y.js → json5-B92atw3l.js} +0 -0
- /package/dist/standalone/{jsonc-BRJexVfP.js → jsonc-BQ8btgHR.js} +0 -0
- /package/dist/standalone/{jsonl-D859SsoH.js → jsonl-Sr_oGeX-.js} +0 -0
- /package/dist/standalone/{jsonnet-sFIVPoTa.js → jsonnet-CLmJlxUC.js} +0 -0
- /package/dist/standalone/{jssm-BKvxMEP9.js → jssm-DnM8i8ut.js} +0 -0
- /package/dist/standalone/{jsx-D6UqkuWx.js → jsx-BLpri0NB.js} +0 -0
- /package/dist/standalone/{kanagawa-dragon-BVeOdnTJ.js → kanagawa-dragon-Rl17Vq_C.js} +0 -0
- /package/dist/standalone/{kanagawa-lotus-BPxif4UL.js → kanagawa-lotus-CEfzoMAY.js} +0 -0
- /package/dist/standalone/{kanagawa-wave-yTBcVIG8.js → kanagawa-wave-Dl5jL6TY.js} +0 -0
- /package/dist/standalone/{kdl-DHueRo8f.js → kdl-ByebaTOR.js} +0 -0
- /package/dist/standalone/{kotlin-Dq1wwHQP.js → kotlin-CO_7ebqK.js} +0 -0
- /package/dist/standalone/{laserwave-x5LKCxGn.js → laserwave-BymGJYS7.js} +0 -0
- /package/dist/standalone/{lean-xWP4NbYS.js → lean-D7q_Kpgv.js} +0 -0
- /package/dist/standalone/{less-To8q_Luw.js → less-DfGpr34i.js} +0 -0
- /package/dist/standalone/{light-plus-B9N5DQI_.js → light-plus-rCHX6NNy.js} +0 -0
- /package/dist/standalone/{llvm-DSlzjbDz.js → llvm-DI83sH5G.js} +0 -0
- /package/dist/standalone/{log-BUZNzUKc.js → log-GjieA_Fi.js} +0 -0
- /package/dist/standalone/{logo-Cdvy4UIe.js → logo-Z-Po9cqr.js} +0 -0
- /package/dist/standalone/{luau-ChD5_OIQ.js → luau-CHFvY7vV.js} +0 -0
- /package/dist/standalone/{make-PTqunrmv.js → make-pEFeZerG.js} +0 -0
- /package/dist/standalone/{markdown-tUO1dt9m.js → markdown-BLxfK9DH.js} +0 -0
- /package/dist/standalone/{material-theme-CZJ_pRWf.js → material-theme-_mO8dGF4.js} +0 -0
- /package/dist/standalone/{material-theme-darker-NnzT0yiw.js → material-theme-darker-CW8WbBMR.js} +0 -0
- /package/dist/standalone/{material-theme-lighter-B-3DgVxS.js → material-theme-lighter-DWGtW3Sj.js} +0 -0
- /package/dist/standalone/{material-theme-ocean-BZZHghfO.js → material-theme-ocean-VhkfqVVF.js} +0 -0
- /package/dist/standalone/{material-theme-palenight-B9O9JO4H.js → material-theme-palenight-cApQ4-KF.js} +0 -0
- /package/dist/standalone/{matlab-Co_sDlVB.js → matlab-L7fpDsTl.js} +0 -0
- /package/dist/standalone/{mdx-B4AGJXox.js → mdx-G_CG82jO.js} +0 -0
- /package/dist/standalone/{mermaid-4pySd3sl.js → mermaid-QCKf3Ptj.js} +0 -0
- /package/dist/standalone/{min-dark-DSigFwoh.js → min-dark-C7ciBb2i.js} +0 -0
- /package/dist/standalone/{min-light-b8nqGai7.js → min-light-DC6qyE0O.js} +0 -0
- /package/dist/standalone/{mipsasm-DbZprEQm.js → mipsasm-Ch_J_goG.js} +0 -0
- /package/dist/standalone/{mojo-4kIBaoam.js → mojo-BUTjyOde.js} +0 -0
- /package/dist/standalone/{monokai-BKSWoNnW.js → monokai-D99JixW5.js} +0 -0
- /package/dist/standalone/{moonbit-ZcSH7VpN.js → moonbit-v_Wmuq4r.js} +0 -0
- /package/dist/standalone/{move-BAMKTWoZ.js → move-CujRAOrk.js} +0 -0
- /package/dist/standalone/{narrat-DYLRa4xG.js → narrat-BUFChaaW.js} +0 -0
- /package/dist/standalone/{night-owl-light-fbFrWwTF.js → night-owl-light-ZvY_o4AV.js} +0 -0
- /package/dist/standalone/{night-owl-BtS72I6-.js → night-owl-zFbR0iUq.js} +0 -0
- /package/dist/standalone/{nix-DlQjHQ1N.js → nix-DVHO39rw.js} +0 -0
- /package/dist/standalone/{nord-Kzx5CafP.js → nord-CSYW7zq7.js} +0 -0
- /package/dist/standalone/{nushell-B04C_1w9.js → nushell-wvafmaI1.js} +0 -0
- /package/dist/standalone/{objective-c-DO0dC44X.js → objective-c-BJMjPSKt.js} +0 -0
- /package/dist/standalone/{objective-cpp-C6jZz_vb.js → objective-cpp-COwkzZNW.js} +0 -0
- /package/dist/standalone/{ocaml-D9wp3EJd.js → ocaml-BugjlZwQ.js} +0 -0
- /package/dist/standalone/{odin-u5wG6Qd6.js → odin-BbI_ip3y.js} +0 -0
- /package/dist/standalone/{one-dark-pro-x1jnl7Dq.js → one-dark-pro-O7XwserV.js} +0 -0
- /package/dist/standalone/{one-light-CHHJSb-V.js → one-light-Bv2B3pGW.js} +0 -0
- /package/dist/standalone/{open-CGQvvIUq.js → open-BpEGCZtV.js} +0 -0
- /package/dist/standalone/{openscad-H5hW1BA6.js → openscad-CYP3kDCW.js} +0 -0
- /package/dist/standalone/{pascal-h7T9h7AG.js → pascal-DzRWzYc7.js} +0 -0
- /package/dist/standalone/{pkl-Bs_8OmWM.js → pkl-Csk3Pz3F.js} +0 -0
- /package/dist/standalone/{plastic-MRrPKBd1.js → plastic-B8sPQcwq.js} +0 -0
- /package/dist/standalone/{plsql-BrbZPaQW.js → plsql-DHpuTJ3X.js} +0 -0
- /package/dist/standalone/{po-Diz0LmjW.js → po-BlTn26iX.js} +0 -0
- /package/dist/standalone/{poimandres-D3Al1iQC.js → poimandres-Nn-UO8qp.js} +0 -0
- /package/dist/standalone/{polar-BCwHILUV.js → polar-DEMP0iHG.js} +0 -0
- /package/dist/standalone/{postcss-D6Lmyt9A.js → postcss-B3SVlKZw.js} +0 -0
- /package/dist/standalone/{powerquery-CQr4BVoo.js → powerquery-DuUdfu4q.js} +0 -0
- /package/dist/standalone/{powershell-B6zzL9QO.js → powershell-CB3_ElnE.js} +0 -0
- /package/dist/standalone/{prisma-yySgczME.js → prisma-BxeT-Y5M.js} +0 -0
- /package/dist/standalone/{prolog-CZTkGNiW.js → prolog-BxrMgyN9.js} +0 -0
- /package/dist/standalone/{proto-Bu_Nhf7u.js → proto-Dek-exro.js} +0 -0
- /package/dist/standalone/{puppet-CJffH6Q6.js → puppet-C16HFbnX.js} +0 -0
- /package/dist/standalone/{purescript-CC7chrMM.js → purescript-C73JvxLF.js} +0 -0
- /package/dist/standalone/{python-C0zrVFze.js → python-DFvGjTfU.js} +0 -0
- /package/dist/standalone/{qmldir-C14XBFWV.js → qmldir-D2UzrXvk.js} +0 -0
- /package/dist/standalone/{qss-B5Hlft_e.js → qss-CyPgAzDy.js} +0 -0
- /package/dist/standalone/{r-BJ2VNcvN.js → r-BTPLa6iH.js} +0 -0
- /package/dist/standalone/{racket-BhgskJzI.js → racket-BaoaiPkO.js} +0 -0
- /package/dist/standalone/{raku-DsquHgLn.js → raku-BsUkgPqO.js} +0 -0
- /package/dist/standalone/{red-B7RxoP7i.js → red-CCJAPkdg.js} +0 -0
- /package/dist/standalone/{reg-Bax0jtzQ.js → reg-DOi1ALwl.js} +0 -0
- /package/dist/standalone/{regexp-BTh6yLg7.js → regexp-cogjKOiz.js} +0 -0
- /package/dist/standalone/{rel-BJ9pN2G2.js → rel-Y9vyrCmO.js} +0 -0
- /package/dist/standalone/{riscv-C3I2jhjQ.js → riscv-C9NE9rlt.js} +0 -0
- /package/dist/standalone/{ron-B4yZ2p1h.js → ron-uMa_rbSR.js} +0 -0
- /package/dist/standalone/{rose-pine-CesGHTut.js → rose-pine-B6wSIDAC.js} +0 -0
- /package/dist/standalone/{rose-pine-dawn-H7rm9o-e.js → rose-pine-dawn-CalFuemK.js} +0 -0
- /package/dist/standalone/{rose-pine-moon-BLFdnJwM.js → rose-pine-moon-BS44sctL.js} +0 -0
- /package/dist/standalone/{rosmsg-xA4_Syxo.js → rosmsg-ncCRrAah.js} +0 -0
- /package/dist/standalone/{rust-BwguOFUq.js → rust-D__ScB18.js} +0 -0
- /package/dist/standalone/{sass-BZyNoloZ.js → sass-Dcwwxgkc.js} +0 -0
- /package/dist/standalone/{scala-CekfPUXd.js → scala-qMGqTQGj.js} +0 -0
- /package/dist/standalone/{scheme-B2vB2nlX.js → scheme-BUvagZbg.js} +0 -0
- /package/dist/standalone/{sdbl-B-nwTmgB.js → sdbl-CdI9Io2f.js} +0 -0
- /package/dist/standalone/{shellscript-BUzexP2h.js → shellscript-CLNzcEEH.js} +0 -0
- /package/dist/standalone/{slack-dark-DCR6M5dd.js → slack-dark-CZWNFbAj.js} +0 -0
- /package/dist/standalone/{slack-ochin-BxQ3FsyT.js → slack-ochin-CcsRSPGb.js} +0 -0
- /package/dist/standalone/{smalltalk-Cy1j24XO.js → smalltalk-CkHsb-ck.js} +0 -0
- /package/dist/standalone/{snazzy-light-CjEw4xHM.js → snazzy-light-Cm_pY2Ne.js} +0 -0
- /package/dist/standalone/{solarized-dark-XlQ9gXgZ.js → solarized-dark-EVcpLOPz.js} +0 -0
- /package/dist/standalone/{solarized-light-isNaysOv.js → solarized-light-BGmOwKbi.js} +0 -0
- /package/dist/standalone/{solidity-C1mh1SRB.js → solidity-DcmwFsmZ.js} +0 -0
- /package/dist/standalone/{splunk-oM69IznW.js → splunk-BAf42Kh3.js} +0 -0
- /package/dist/standalone/{sql-CqT9Lw7j.js → sql-OpUJ1H7b.js} +0 -0
- /package/dist/standalone/{ssh-config-B0ZrS7Sv.js → ssh-config-DTZY5LJQ.js} +0 -0
- /package/dist/standalone/{stylus-B9JQrvWs.js → stylus-CHp-rBJx.js} +0 -0
- /package/dist/standalone/{swift-CaafmPxt.js → swift-DjfAKDlq.js} +0 -0
- /package/dist/standalone/{synthwave-84-BX-qCxDD.js → synthwave-84-B5y6dw6I.js} +0 -0
- /package/dist/standalone/{system-verilog-J8T_iWHG.js → system-verilog-CstGBDHm.js} +0 -0
- /package/dist/standalone/{systemd-DVL5CBpd.js → systemd-CV0H8W0r.js} +0 -0
- /package/dist/standalone/{talonscript-JJfmMcGp.js → talonscript-BfJo0mzd.js} +0 -0
- /package/dist/standalone/{tasl-B1QiBRw2.js → tasl-CbFmChTU.js} +0 -0
- /package/dist/standalone/{tcl-CqllcB5H.js → tcl-DNn0b4Xi.js} +0 -0
- /package/dist/standalone/{terraform-wW0EQRMO.js → terraform-C-5xJLZK.js} +0 -0
- /package/dist/standalone/{tokyo-night-D6xJgjfK.js → tokyo-night-DwP487HJ.js} +0 -0
- /package/dist/standalone/{toml-BHrgvSPm.js → toml-BUQbhfId.js} +0 -0
- /package/dist/standalone/{tsv-D73M_gRj.js → tsv-DboMNYlp.js} +0 -0
- /package/dist/standalone/{tsx-D6awiul2.js → tsx-D_ZL21a1.js} +0 -0
- /package/dist/standalone/{turtle-C6QRqIYF.js → turtle-ep-yDHHJ.js} +0 -0
- /package/dist/standalone/{typescript-CWgyaUtY.js → typescript-DLmRjE2H.js} +0 -0
- /package/dist/standalone/{typst-63_R-dcN.js → typst-OK3ZsbAS.js} +0 -0
- /package/dist/standalone/{v-DNh9rpzt.js → v-BRzbo0xa.js} +0 -0
- /package/dist/standalone/{vala-yZrEMgbl.js → vala-DajMRXrp.js} +0 -0
- /package/dist/standalone/{vb-CWiXLMNc.js → vb-Cp5p1BHA.js} +0 -0
- /package/dist/standalone/{verilog-D_YgnmVW.js → verilog-Karwuy7m.js} +0 -0
- /package/dist/standalone/{vesper-BoY7BUOC.js → vesper-D8EI4h-P.js} +0 -0
- /package/dist/standalone/{vhdl-CIOMuzRr.js → vhdl-BWVkbJap.js} +0 -0
- /package/dist/standalone/{viml-KvIzNj-z.js → viml-D006eITo.js} +0 -0
- /package/dist/standalone/{vitesse-black-BC5aDvua.js → vitesse-black-CiyuYPYv.js} +0 -0
- /package/dist/standalone/{vitesse-dark-C_RcLVAX.js → vitesse-dark-DF1BoauX.js} +0 -0
- /package/dist/standalone/{vitesse-light-CbYhMxH_.js → vitesse-light-BkWBILrw.js} +0 -0
- /package/dist/standalone/{vyper-DQ6Iue0m.js → vyper-pqGBEKo6.js} +0 -0
- /package/dist/standalone/{wasm-BVujMf4j.js → wasm-BNcVSub7.js} +0 -0
- /package/dist/standalone/{wasm-CttxofWT.js → wasm-BoWtZ2Hg.js} +0 -0
- /package/dist/standalone/{wenyan-sFr85_Wa.js → wenyan-B1aPQ0e8.js} +0 -0
- /package/dist/standalone/{wgsl-C8sJ4ScM.js → wgsl-MFrJo5Av.js} +0 -0
- /package/dist/standalone/{wikitext-BHbI4LrJ.js → wikitext-Bam7iWkE.js} +0 -0
- /package/dist/standalone/{wit-BrulQYCT.js → wit-RYUlqdwx.js} +0 -0
- /package/dist/standalone/{wolfram-CkTHL-YU.js → wolfram-BAx02ysC.js} +0 -0
- /package/dist/standalone/{yaml-C2UdUGt-.js → yaml-BipAacI9.js} +0 -0
- /package/dist/standalone/{zenscript-CvnF8pfB.js → zenscript-BidEsPSr.js} +0 -0
- /package/dist/standalone/{zig-DrTOhqiK.js → zig-DRQ1gulu.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./sql-CWYhyc-w.js";import{t}from"./regexp-Aby82bH7.js";import{t as n}from"./glsl-r9XJn22U.js";const r=Object.freeze(JSON.parse(`{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#template_isolated_definition"},{"include":"#template_definition"},{"include":"source.cpp#template_explicit_instantiation"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"alignas_attribute":{"begin":"alignas\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"alignas_operator":{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"alignof_operator":{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"assembly":{"begin":"\\\\b(__asm__|asm)\\\\b\\\\s+{0,1}((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.cpp"},"2":{"name":"storage.modifier.cpp"}},"end":"(?!\\\\G)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.asm.cpp","patterns":[{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\n|$)"},{"include":"#comments"},{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.cpp"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.cpp"},"2":{"name":"punctuation.definition.string.begin.assembly.cpp"}},"contentName":"meta.embedded.assembly","end":"\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.assembly.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"source.cpp#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.other.asm.label.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\[((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.cpp"},{"include":"#comments"}]}]},"attributes_context":{"patterns":[{"include":"#cpp_attributes"},{"include":"#gcc_attributes"},{"include":"#ms_attributes"},{"include":"#alignas_attribute"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.cpp"}},"name":"meta.block.cpp","patterns":[{"include":"#function_body_context"}]},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.cpp"}},"end":"\\\\*/|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.cpp"}},"name":"comment.block.cpp"},"builtin_storage_type_initilizer":{"begin":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)\\\\s*+(?<!\\\\w)(\\\\()","beginCaptures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{"name":"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"case_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)case(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.case.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.separator.colon.case.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"class_block":{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"^\\\\s+{1,0}(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.cpp"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"comment.line.double-slash.documentation.cpp","patterns":[{"include":"source.cpp#line_continuation_character"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.cpp"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},"3":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.cpp"},{"begin":"\\\\s+{1,0}/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.documentation.cpp"}},"end":"[!*]*\\\\*/|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"name":"comment.block.documentation.cpp","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"include":"source.cpp#emacs_file_banner"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"source.cpp#invalid_comment_end"}]},"constructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#functional_specifiers_pre_parameters"}]},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"storage.type.modifier.calling-convention.cpp"},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\10((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"name":"storage.type.modifier.calling-convention.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.constructor.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"8":{},"9":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.constructor.cpp"},{"match":"(?<=:)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.constructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"cpp_attributes":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"]]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"curly_initializer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"name":"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},"name":"meta.initialization.cpp","patterns":[{"include":"#evaluation_context"},{"include":"source.cpp#comma"}]},"decltype":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"decltype_specifier":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"default_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)default(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.default.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.separator.colon.case.default.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"destructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(~(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#functional_specifiers_pre_parameters"}]},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)~\\\\14((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.destructor.cpp"},{"include":"#template_call_range"}]},"11":{"patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.destructor.cpp"},{"match":"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.member.destructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"include":"source.cpp#inline_comment"}]},"24":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{"name":"comment.block.cpp"},"26":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(error|warning))\\\\b\\\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.diagnostic.$reference(directive).cpp","patterns":[{"include":"#comments"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(?:(\\")|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(?:(')|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},{"begin":"[^\\"']","beginCaptures":{},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"string.unquoted.cpp","patterns":[{"include":"source.cpp#line_continuation_character"},{"include":"#comments"}]}]},"enum_block":{"begin":"((?<!\\\\w)enum(?!\\\\w))(?:\\\\s+(class|struct))?(?:(?:\\\\s+|((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\))))|(?=\\\\{))\\\\s+{0,1}((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(?:\\\\s+{0,1}(:)\\\\s+{0,1}(?:((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))?","beginCaptures":{"0":{"name":"meta.head.enum.cpp"},"1":{"name":"storage.type.enum.cpp"},"2":{"name":"storage.type.enum.enum-key.$2.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"name":"punctuation.separator.colon.type-specifier.cpp"},"6":{"patterns":[{"include":"source.cpp#scope_resolution_inner_generated"}]},"7":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"name":"entity.name.scope-resolution.cpp"},"11":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{"name":"storage.type.integral.$17.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"source.cpp#enumerator_list"},{"include":"#comments"},{"include":"source.cpp#comma"},{"include":"source.cpp#semicolon"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"evaluation_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"source.cpp#number_literal"},{"include":"#method_access"},{"include":"source.cpp#member_access"},{"include":"source.cpp#predefined_macros"},{"include":"#operators"},{"include":"source.cpp#memory_operators"},{"include":"source.cpp#wordlike_operators"},{"include":"source.cpp#type_casting_operators"},{"include":"source.cpp#control_flow_keywords"},{"include":"source.cpp#exception_keywords"},{"include":"source.cpp#the_this_keyword"},{"include":"source.cpp#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"source.cpp#semicolon"},{"include":"source.cpp#comma"}]},"ever_present_context":{"patterns":[{"include":"source.cpp#pragma_mark"},{"include":"#pragma"},{"include":"source.cpp#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"source.cpp#undef"},{"include":"#preprocessor_conditional_range"},{"include":"source.cpp#single_line_macro"},{"include":"#macro"},{"include":"source.cpp#preprocessor_conditional_standalone"},{"include":"source.cpp#macro_argument"},{"include":"#comments"},{"include":"source.cpp#line_continuation_character"}]},"extern_block":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(extern)(?=\\\\s*\\")","beginCaptures":{"0":{"name":"meta.head.extern.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.extern.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"source.cpp#goto_statement"},{"include":"#evaluation_context"},{"include":"source.cpp#label"}]},"function_call":{"begin":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\\\G|(?<=[;}]))|(?<=>|\\\\*/))\\\\s*+(?:((?<!\\\\w)template(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\()","beginCaptures":{"0":{"name":"meta.head.function.definition.cpp"},"1":{"name":"storage.type.template.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"captures":{"1":{"name":"storage.modifier.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"}]},"8":{"name":"storage.modifier.$8.cpp"},"9":{"patterns":[{"include":"source.cpp#inline_comment"}]},"10":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{"name":"comment.block.cpp"},"12":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"24":{"patterns":[{"include":"#template_call_range"}]},"25":{},"26":{"patterns":[{"include":"source.cpp#inline_comment"}]},"27":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{"name":"comment.block.cpp"},"29":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"32":{"patterns":[{"include":"source.cpp#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"patterns":[{"include":"source.cpp#inline_comment"}]},"37":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{"name":"comment.block.cpp"},"39":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{"patterns":[{"include":"source.cpp#inline_comment"}]},"41":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{"name":"comment.block.cpp"},"43":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{"name":"storage.type.modifier.calling-convention.cpp"},"45":{"patterns":[{"include":"source.cpp#inline_comment"}]},"46":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{"name":"comment.block.cpp"},"48":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{"patterns":[{"include":"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{"patterns":[{"include":"#template_call_range"}]},"52":{},"53":{"name":"entity.name.function.definition.cpp"},"54":{"patterns":[{"include":"source.cpp#inline_comment"}]},"55":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{"name":"comment.block.cpp"},"57":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"source.cpp#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"8":{"patterns":[{"include":"source.cpp#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#template_call_range"}]},"18":{},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},"match":"(?<=^|\\\\))\\\\s+{0,1}(->)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"source.cpp#comma"}]},"function_pointer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.other.definition.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.parameter.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"gcc_attributes":{"begin":"__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)\\\\s*\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?<!\\\\w)p(?:rotected|rivate|ublic)(?!\\\\w)","name":"storage.type.modifier.access.$0.cpp"},{"match":"(?<!\\\\w)virtual(?!\\\\w)","name":"storage.type.modifier.virtual.cpp"},{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{}},"match":"(?<=protected|virtual|private|public|[,:])\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?<![]\\"\\\\&)*>\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((?<!\\\\[)\\\\[(?!\\\\[)(?:[^]\\\\[]*+\\\\g<3>?)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"source.cpp#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?<!\\\\w)(?:constexpr|consteval|mutable)(?!\\\\w)","name":"storage.modifier.lambda.$0.cpp"},{"begin":"->","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"line":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}line\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.line.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.line.cpp","patterns":[{"include":"#string_context"},{"include":"#preprocessor_number_literal"},{"include":"source.cpp#line_continuation_character"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"comment.line.double-slash.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},"macro":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}define)\\\\b\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.control.directive.define.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{"name":"entity.name.function.preprocessor.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.macro.cpp","patterns":[{"captures":{"1":{"name":"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{"name":"meta.function.preprocessor.parameters.cpp","patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.cpp"}},"match":"(?<=[(,])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}"},{"match":",","name":"punctuation.separator.parameters.cpp"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{"name":"punctuation.definition.parameters.end.preprocessor.cpp"}},"match":"\\\\G\\\\s+{0,1}(\\\\()([^(]*)(\\\\))"},{"include":"#macro_context"},{"include":"source.cpp#macro_argument"}]},"macro_context":{"patterns":[{"include":"source.cpp.embedded.macro"}]},"method_access":{"begin":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"namespace_block":{"begin":"((?<!\\\\w)namespace(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.namespace.cpp"},"1":{"name":"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<4>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(::)\\\\s+{0,1}(inline))?"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"operator_overload":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\[])?)))|(\\"\\")((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[(<])","beginCaptures":{"0":{"name":"meta.head.function.definition.special.operator-overload.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"16":{"patterns":[{"include":"#template_call_range"}]},"17":{},"18":{"patterns":[{"include":"source.cpp#inline_comment"}]},"19":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{"name":"comment.block.cpp"},"21":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"patterns":[{"include":"source.cpp#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"name":"storage.type.modifier.calling-convention.cpp"},"37":{"patterns":[{"include":"source.cpp#inline_comment"}]},"38":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{"name":"comment.block.cpp"},"40":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{"patterns":[{"include":"source.cpp#inline_comment"}]},"42":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{"name":"comment.block.cpp"},"44":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator.cpp"},{"include":"#template_call_range"}]},"46":{"patterns":[{"include":"#template_call_range"}]},"47":{},"48":{"name":"keyword.other.operator.overload.cpp"},"49":{"patterns":[{"include":"source.cpp#inline_comment"}]},"50":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{"name":"comment.block.cpp"},"52":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator-overload.cpp"},{"include":"#template_call_range"}]},"54":{"patterns":[{"include":"#template_call_range"}]},"55":{},"56":{"name":"entity.name.operator.cpp"},"57":{"name":"entity.name.operator.type.cpp"},"58":{"patterns":[{"match":"\\\\*","name":"entity.name.operator.type.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"entity.name.operator.type.reference.cpp"}]},"59":{"patterns":[{"include":"source.cpp#inline_comment"}]},"60":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{"name":"comment.block.cpp"},"62":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{"patterns":[{"include":"source.cpp#inline_comment"}]},"64":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{"name":"comment.block.cpp"},"66":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{"patterns":[{"include":"source.cpp#inline_comment"}]},"68":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{"name":"comment.block.cpp"},"70":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{"name":"entity.name.operator.type.array.cpp"},"72":{"name":"entity.name.operator.custom-literal.cpp"},"73":{"patterns":[{"include":"source.cpp#inline_comment"}]},"74":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{"name":"comment.block.cpp"},"76":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{"name":"entity.name.operator.custom-literal.cpp"},"78":{"patterns":[{"include":"source.cpp#inline_comment"}]},"79":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{"name":"comment.block.cpp"},"81":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"--","name":"keyword.operator.decrement.cpp"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cpp"},{"match":"(?:[-%*+]|(?<!\\\\()/)=","name":"keyword.operator.assignment.compound.cpp"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"source.cpp#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#function_pointer_parameter"},{"include":"#decltype"},{"include":"source.cpp#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"source.cpp#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"=","name":"keyword.operator.assignment.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),=\\\\[])"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#ever_present_context"}]},"parameter_or_maybe_value":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#function_pointer_parameter"},{"include":"source.cpp#memory_operators"},{"include":"#builtin_storage_type_initilizer"},{"include":"#curly_initializer"},{"include":"#decltype"},{"include":"source.cpp#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=\\\\[]|//|(?:\\\\n|$))"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#evaluation_context"},{"include":"#ever_present_context"}]},"parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.cpp","patterns":[{"include":"source.cpp#over_qualified_types"},{"match":"(?<!:):(?!:)","name":"punctuation.separator.colon.range-based.cpp"},{"include":"#evaluation_context"}]},"pragma":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.pragma.cpp","patterns":[{"include":"#comments"},{"include":"#string_context"},{"match":"[$A-Z_a-z][-$\\\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.cpp"},{"include":"#preprocessor_number_literal"},{"include":"source.cpp#line_continuation_character"}]},"preprocessor_conditional_context":{"patterns":[{"include":"#preprocessor_conditional_defined"},{"include":"#comments"},{"include":"source.cpp#language_constants"},{"include":"#string_context"},{"include":"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{"include":"#operators"},{"include":"source.cpp#predefined_macros"},{"include":"source.cpp#macro_name"},{"include":"source.cpp#line_continuation_character"}]},"preprocessor_conditional_defined":{"begin":"((?<!\\\\w)defined(?!\\\\w))(\\\\()","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.defined.cpp"},"2":{"name":"punctuation.section.parens.control.defined.cpp"}},"end":"(?:\\\\)|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.control.defined.cpp"}},"patterns":[{"include":"source.cpp#macro_name"}]},"preprocessor_conditional_parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.preprocessor.conditional.cpp"},"preprocessor_conditional_range":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(if(?:n?def|))","beginCaptures":{"0":{"name":"keyword.control.directive.conditional.$6.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"},"6":{}},"contentName":"meta.preprocessor.conditional","end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#preprocessor_conditional_context"}]},"preprocessor_context":{"patterns":[{"include":"source.cpp#pragma_mark"},{"include":"#pragma"},{"include":"source.cpp#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"source.cpp#undef"},{"include":"#preprocessor_conditional_range"},{"include":"source.cpp#single_line_macro"},{"include":"#macro"},{"include":"source.cpp#preprocessor_conditional_standalone"},{"include":"source.cpp#macro_argument"}]},"sizeof_operator":{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"sizeof_variadic_operator":{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"square_brackets":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\[)(?!])","beginCaptures":{"1":{"name":"variable.other.object"},"2":{"name":"punctuation.definition.begin.bracket.square"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square"}},"name":"meta.bracket.square.access","patterns":[{"include":"#evaluation_context"}]},"static_assert":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.other.static_assert.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},"patterns":[{"begin":"(,)\\\\s+{0,1}(?=(?:L|u8?|U\\\\s+{0,1}\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"end":"(?=\\\\))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.static_assert.message.cpp","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"storage_types":{"patterns":[{"include":"source.cpp#storage_specifiers"},{"include":"source.cpp#inline_builtin_storage_type"},{"include":"#decltype"},{"include":"source.cpp#typename"}]},"string_context":{"patterns":[{"begin":"((?:u8??|[LU])?)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"match":"\\\\\\\\(?:u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[\\"'?\\\\\\\\abfnrtv]","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.cpp"},{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"source.cpp#string_escapes_context_c"}]},{"begin":"(?<!\\\\h)((?:u8??|[LU])?)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(')(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.character.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"source.cpp#string_escapes_context_c"},{"include":"source.cpp#line_continuation_character"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:(?:_r|re)|regex)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:(?:_r|re)|regex)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.raw.regex.cpp","patterns":[{"include":"source.regexp.python"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:glsl|GLSL)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:glsl|GLSL)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.glsl.cpp","patterns":[{"include":"source.glsl"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.sql.cpp","patterns":[{"include":"source.sql"}]},{"begin":"((?:u8??|[LU])?R)\\"(?:([^\\\\t ()\\\\\\\\]{0,16})|([^\\\\t ()\\\\\\\\]*))\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"end":"(\\\\)\\\\2(\\\\3)\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end"},"2":{"name":"invalid.illegal.delimiter-too-long"},"3":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.raw"}]},"struct_block":{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"switch_conditional_parentheses":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},"name":"meta.conditional.switch.cpp","patterns":[{"include":"#evaluation_context"}]},"switch_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)switch(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.switch.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.switch.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"source.cpp#language_constants"},{"include":"source.cpp#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma_in_template_argument"},{"include":"source.cpp#qualified_type"}]},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?<!\\\\w)(template)\\\\s+{0,1}(<)","beginCaptures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\\\w)\\\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_context":{"patterns":[{"include":"source.cpp#scope_resolution_template_definition_inner_generated"},{"include":"source.cpp#template_definition_argument"},{"include":"source.cpp#template_argument_defaulted"},{"include":"source.cpp#template_call_innards"},{"include":"#evaluation_context"}]},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"source.cpp#number_literal"},{"include":"#method_access"},{"include":"source.cpp#member_access"},{"include":"source.cpp#predefined_macros"},{"include":"#operators"},{"include":"source.cpp#memory_operators"},{"include":"source.cpp#wordlike_operators"},{"include":"source.cpp#type_casting_operators"},{"include":"source.cpp#control_flow_keywords"},{"include":"source.cpp#exception_keywords"},{"include":"source.cpp#the_this_keyword"},{"include":"source.cpp#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"source.cpp#semicolon"},{"include":"source.cpp#comma"}]},"typedef_class":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)class(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_function_pointer":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=.*\\\\(\\\\*\\\\s*(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s*\\\\))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)struct(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_union":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)union(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typeid_operator":{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"union_block":{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"using_namespace":{"begin":"(?<!\\\\w)(using)\\\\s+(namespace)\\\\s+((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<6>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?=[\\\\n;])","beginCaptures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{"patterns":[{"include":"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{"patterns":[{"include":"#template_call_range"}]},"6":{},"7":{"name":"entity.name.namespace.cpp"}},"end":";|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.using-namespace.cpp"}},"scopeName":"source.cpp.embedded.macro","embeddedLangs":["regexp","glsl","sql"]}`));var i=[...t,...n,...e,r];const a=Object.freeze(JSON.parse(`{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#template_isolated_definition"},{"include":"#template_definition"},{"include":"#template_explicit_instantiation"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"access_control_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{"name":"punctuation.separator.colon.access.control.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((p(?:rotected|rivate|ublic))\\\\s+{0,1}(:))"},"alignas_attribute":{"begin":"alignas\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"alignas_operator":{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"alignof_operator":{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"assembly":{"begin":"\\\\b(__asm__|asm)\\\\b\\\\s+{0,1}((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.cpp"},"2":{"name":"storage.modifier.cpp"}},"end":"(?!\\\\G)","endCaptures":{},"name":"meta.asm.cpp","patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\n|$)"},{"include":"#comments"},{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.cpp"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.cpp"},"2":{"name":"punctuation.definition.string.begin.assembly.cpp"}},"contentName":"meta.embedded.assembly","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.assembly.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.other.asm.label.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\[((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.cpp"},{"include":"#comments"}]}]},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.cpp"},"attributes_context":{"patterns":[{"include":"#cpp_attributes"},{"include":"#gcc_attributes"},{"include":"#ms_attributes"},{"include":"#alignas_attribute"}]},"backslash_escapes":{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape"},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.cpp"}},"name":"meta.block.cpp","patterns":[{"include":"#function_body_context"}]},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.cpp"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.cpp"}},"name":"comment.block.cpp"},"builtin_storage_type_initilizer":{"begin":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)\\\\s*+(?<!\\\\w)(\\\\()","beginCaptures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{"name":"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"case_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)case(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.case.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"class_block":{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"class_declare":{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)class(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"comma":{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},"comma_in_template_argument":{"match":",","name":"punctuation.separator.delimiter.comma.template.argument.cpp"},"comments":{"patterns":[{"begin":"^\\\\s+{1,0}(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.cpp"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.documentation.cpp","patterns":[{"include":"#line_continuation_character"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.cpp"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},"3":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.cpp"},{"begin":"\\\\s+{1,0}/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.documentation.cpp"}},"end":"[!*]*\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"name":"comment.block.documentation.cpp","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"include":"#emacs_file_banner"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#invalid_comment_end"}]},"constructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"storage.type.modifier.calling-convention.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\10((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"name":"storage.type.modifier.calling-convention.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.constructor.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"8":{},"9":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.constructor.cpp"},{"match":"(?<=:)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.constructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"control_flow_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?!\\\\w))"},"cpp_attributes":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"curly_initializer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"name":"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},"name":"meta.initialization.cpp","patterns":[{"include":"#evaluation_context"},{"include":"#comma"}]},"d9bc4796b0b_module_import":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.directive.import.cpp"},"5":{"name":"string.quoted.other.lt-gt.include.cpp"},"6":{"name":"punctuation.definition.string.begin.cpp"},"7":{"name":"punctuation.definition.string.end.cpp"},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"name":"string.quoted.double.include.cpp"},"11":{"name":"punctuation.definition.string.begin.cpp"},"12":{"name":"punctuation.definition.string.end.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"15":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"22":{"name":"punctuation.terminator.statement.cpp"}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((import))\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))\\\\s+{0,1}(;?)","name":"meta.preprocessor.import.cpp"},"d9bc4796b0b_preprocessor_number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0[Bb])([01](?:[01]|((?<=\\\\h)'(?=\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0)((?:[0-7]|((?<=\\\\h)'(?=\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"decltype":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"decltype_specifier":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"default_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)default(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.default.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.default.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"destructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(~(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)~\\\\14((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.destructor.cpp"},{"include":"#template_call_range"}]},"11":{"patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.destructor.cpp"},{"match":"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.member.destructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"include":"#inline_comment"}]},"24":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{"name":"comment.block.cpp"},"26":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(error|warning))\\\\b\\\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.diagnostic.$reference(directive).cpp","patterns":[{"include":"#comments"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(\\")|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(')|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\\"']","beginCaptures":{},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"string.unquoted.cpp","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},"emacs_file_banner":{"captures":{"1":{"name":"meta.toc-list.banner.double-slash.cpp"},"2":{"name":"comment.line.double-slash.cpp"},"3":{"name":"punctuation.definition.comment.cpp"},"4":{"name":"meta.banner.character.cpp"},"5":{"name":"meta.toc-list.banner.block.cpp"},"6":{"name":"comment.line.banner.cpp"},"7":{"name":"punctuation.definition.comment.cpp"},"8":{"name":"meta.banner.character.cpp"}},"match":"^(?:(\\\\s+{0,1}((//)\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\s+{0,1}.+\\\\s+{0,1}\\\\4\\\\s+{0,1}(?:\\\\n|$)))|(\\\\s+{0,1}((/\\\\*)\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\s+{0,1}.+\\\\s+{0,1}\\\\8\\\\s+{0,1}\\\\*/)))"},"empty_square_brackets":{"match":"(?<!delete)\\\\[\\\\s+{0,1}]","name":"storage.modifier.array.bracket.square"},"enum_block":{"begin":"((?<!\\\\w)enum(?!\\\\w))(?:\\\\s+(class|struct))?(?:(?:\\\\s+|((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\))))|(?=\\\\{))\\\\s+{0,1}((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(?:\\\\s+{0,1}(:)\\\\s+{0,1}(?:((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))?","beginCaptures":{"0":{"name":"meta.head.enum.cpp"},"1":{"name":"storage.type.enum.cpp"},"2":{"name":"storage.type.enum.enum-key.$2.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"name":"punctuation.separator.colon.type-specifier.cpp"},"6":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"7":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"name":"entity.name.scope-resolution.cpp"},"11":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{"name":"storage.type.integral.$17.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#enumerator_list"},{"include":"#comments"},{"include":"#comma"},{"include":"#semicolon"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"enum_declare":{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)enum(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"enumerator_list":{"captures":{"1":{"name":"variable.other.enummember.cpp"},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"patterns":[{"include":"#evaluation_context"}]},"5":{"patterns":[{"include":"#comma"},{"include":"#semicolon"}]}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?\\\\s+{0,1}(?:(=)\\\\s+{0,1}(.+?)\\\\s+{0,1})?(?:(?:([,;](?!')|\\\\n)|(?=}[^']))|(?=/[*/]))","name":"meta.enum.definition.cpp"},"evaluation_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"ever_present_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"},{"include":"#comments"},{"include":"#line_continuation_character"}]},"exception_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.exception.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:throw|catch|try)(?!\\\\w))"},"extern_block":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(extern)(?=\\\\s*\\")","beginCaptures":{"0":{"name":"meta.head.extern.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.extern.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"begin":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\\\G|(?<=[;}]))|(?<=>|\\\\*/))\\\\s*+(?:((?<!\\\\w)template(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\()","beginCaptures":{"0":{"name":"meta.head.function.definition.cpp"},"1":{"name":"storage.type.template.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"captures":{"1":{"name":"storage.modifier.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"}]},"8":{"name":"storage.modifier.$8.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{"name":"comment.block.cpp"},"12":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"24":{"patterns":[{"include":"#template_call_range"}]},"25":{},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{"name":"comment.block.cpp"},"29":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"patterns":[{"include":"#inline_comment"}]},"37":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{"name":"comment.block.cpp"},"39":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{"patterns":[{"include":"#inline_comment"}]},"41":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{"name":"comment.block.cpp"},"43":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{"name":"storage.type.modifier.calling-convention.cpp"},"45":{"patterns":[{"include":"#inline_comment"}]},"46":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{"name":"comment.block.cpp"},"48":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"50":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{"patterns":[{"include":"#template_call_range"}]},"52":{},"53":{"name":"entity.name.function.definition.cpp"},"54":{"patterns":[{"include":"#inline_comment"}]},"55":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{"name":"comment.block.cpp"},"57":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#template_call_range"}]},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},"match":"(?<=^|\\\\))\\\\s+{0,1}(->)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"#comma"}]},"function_pointer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.other.definition.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.parameter.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?<!\\\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\\\w)","name":"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},"gcc_attributes":{"begin":"__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)\\\\s*\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"goto_statement":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.goto.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"entity.name.label.call.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)goto(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)"},"identifier":{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*"},"include":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.directive.$5.cpp"},"4":{"name":"punctuation.definition.directive.cpp"},"6":{"name":"string.quoted.other.lt-gt.include.cpp"},"7":{"name":"punctuation.definition.string.begin.cpp"},"8":{"name":"punctuation.definition.string.end.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"11":{"name":"string.quoted.double.include.cpp"},"12":{"name":"punctuation.definition.string.begin.cpp"},"13":{"name":"punctuation.definition.string.end.cpp"},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"16":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"21":{"patterns":[{"include":"#inline_comment"}]},"22":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((#)\\\\s+{0,1}(include(?:|_next)))\\\\b\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))","name":"meta.preprocessor.include.cpp"},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?<!\\\\w)p(?:rotected|rivate|ublic)(?!\\\\w)","name":"storage.type.modifier.access.$0.cpp"},{"match":"(?<!\\\\w)virtual(?!\\\\w)","name":"storage.type.modifier.virtual.cpp"},{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{}},"match":"(?<=protected|virtual|private|public|[,:])\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"inline_builtin_storage_type":{"captures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},"match":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)"},"inline_comment":{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))"},"invalid_comment_end":{"match":"\\\\*/","name":"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},"label":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"entity.name.label.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"punctuation.separator.label.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\b(?<!case|default)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)"},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?<![]\\"\\\\&)*>\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((?<!\\\\[)\\\\[(?!\\\\[)(?:[^]\\\\[]*+\\\\g<3>?)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])","endCaptures":{},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?<!\\\\w)(?:constexpr|consteval|mutable)(?!\\\\w)","name":"storage.modifier.lambda.$0.cpp"},{"begin":"->","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"language_constants":{"match":"(?<!\\\\w)(?:nullptr|false|NULL|true)(?!\\\\w)","name":"constant.language.$0.cpp"},"line":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}line\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.line.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.line.cpp","patterns":[{"include":"#string_context"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"comment.line.double-slash.cpp","patterns":[{"include":"#line_continuation_character"}]},"line_continuation_character":{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.line-continuation.cpp"},"macro":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}define)\\\\b\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.control.directive.define.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{"name":"entity.name.function.preprocessor.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.macro.cpp","patterns":[{"captures":{"1":{"name":"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{"name":"meta.function.preprocessor.parameters.cpp","patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.cpp"}},"match":"(?<=[(,])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}"},{"match":",","name":"punctuation.separator.parameters.cpp"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{"name":"punctuation.definition.parameters.end.preprocessor.cpp"}},"match":"\\\\G\\\\s+{0,1}(\\\\()([^(]*)(\\\\))"},{"include":"#macro_context"},{"include":"#macro_argument"}]},"macro_argument":{"match":"##?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.other.macro.argument.cpp"},"macro_context":{"patterns":[{"include":"source.cpp.embedded.macro"}]},"macro_name":{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.function.preprocessor.cpp"},"member_access":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"variable.language.this.cpp"},"4":{"name":"variable.other.object.access.cpp"},"5":{"name":"punctuation.separator.dot-access.cpp"},"6":{"name":"punctuation.separator.pointer-access.cpp"},"7":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"8":{"name":"variable.other.property.cpp"}},"match":"(?:(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}\\\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\\\W)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?!\\\\())"},"memory_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp"},"4":{"name":"keyword.operator.delete.array.cpp"},"5":{"name":"keyword.operator.delete.array.bracket.cpp"},"6":{"name":"keyword.operator.delete.cpp"},"7":{"name":"keyword.operator.new.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:(delete)\\\\s+{0,1}(\\\\[])|(delete))|(new))(?!\\\\w))"},"method_access":{"begin":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"misc_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.other.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:constinit|requires|typedef|concept|export|module)(?!\\\\w))"},"ms_attributes":{"begin":"__declspec\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"namespace_alias":{"captures":{"1":{"name":"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{"name":"entity.name.namespace.alias.cpp"},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"name":"meta.declaration.namespace.alias.value.cpp"},"5":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"6":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"name":"entity.name.namespace.cpp"},"10":{"name":"punctuation.terminator.statement.cpp"}},"match":"(?<!\\\\w)(namespace)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(=)\\\\s+{0,1}(((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(;)|\\\\n))","name":"meta.declaration.namespace.alias.cpp"},"namespace_block":{"begin":"((?<!\\\\w)namespace(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.namespace.cpp"},"1":{"name":"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<4>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(::)\\\\s+{0,1}(inline))?"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?((?:\\\\w(?<![Pp\\\\h])\\\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?((?:\\\\w(?<![0-9Ee])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Bb])([01](?:[01]|((?<=\\\\h)'(?=\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0)((?:[0-7]|((?<=\\\\h)'(?=\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![Pp\\\\h])\\\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9Ee])\\\\w*)?)$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operator_overload":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\[])?)))|(\\"\\")((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[(<])","beginCaptures":{"0":{"name":"meta.head.function.definition.special.operator-overload.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"16":{"patterns":[{"include":"#template_call_range"}]},"17":{},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{"name":"comment.block.cpp"},"21":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"name":"storage.type.modifier.calling-convention.cpp"},"37":{"patterns":[{"include":"#inline_comment"}]},"38":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{"name":"comment.block.cpp"},"40":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{"patterns":[{"include":"#inline_comment"}]},"42":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{"name":"comment.block.cpp"},"44":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator.cpp"},{"include":"#template_call_range"}]},"46":{"patterns":[{"include":"#template_call_range"}]},"47":{},"48":{"name":"keyword.other.operator.overload.cpp"},"49":{"patterns":[{"include":"#inline_comment"}]},"50":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{"name":"comment.block.cpp"},"52":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator-overload.cpp"},{"include":"#template_call_range"}]},"54":{"patterns":[{"include":"#template_call_range"}]},"55":{},"56":{"name":"entity.name.operator.cpp"},"57":{"name":"entity.name.operator.type.cpp"},"58":{"patterns":[{"match":"\\\\*","name":"entity.name.operator.type.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"entity.name.operator.type.reference.cpp"}]},"59":{"patterns":[{"include":"#inline_comment"}]},"60":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{"name":"comment.block.cpp"},"62":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{"patterns":[{"include":"#inline_comment"}]},"64":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{"name":"comment.block.cpp"},"66":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{"patterns":[{"include":"#inline_comment"}]},"68":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{"name":"comment.block.cpp"},"70":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{"name":"entity.name.operator.type.array.cpp"},"72":{"name":"entity.name.operator.custom-literal.cpp"},"73":{"patterns":[{"include":"#inline_comment"}]},"74":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{"name":"comment.block.cpp"},"76":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{"name":"entity.name.operator.custom-literal.cpp"},"78":{"patterns":[{"include":"#inline_comment"}]},"79":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{"name":"comment.block.cpp"},"81":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"--","name":"keyword.operator.decrement.cpp"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cpp"},{"match":"(?:[-%*+]|(?<!\\\\()/)=","name":"keyword.operator.assignment.compound.cpp"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"over_qualified_types":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(struct)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(enum)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(union)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(class)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"}]},"parameter":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#function_pointer_parameter"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"=","name":"keyword.operator.assignment.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),=\\\\[])"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#ever_present_context"}]},"parameter_class":{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(class)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_enum":{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(enum)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_or_maybe_value":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#function_pointer_parameter"},{"include":"#memory_operators"},{"include":"#builtin_storage_type_initilizer"},{"include":"#curly_initializer"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#function_call"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=\\\\[]|//|(?:\\\\n|$))"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#evaluation_context"},{"include":"#ever_present_context"}]},"parameter_struct":{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(struct)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_union":{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(union)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.cpp","patterns":[{"include":"#over_qualified_types"},{"match":"(?<!:):(?!:)","name":"punctuation.separator.colon.range-based.cpp"},{"include":"#evaluation_context"}]},"pragma":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.pragma.cpp","patterns":[{"include":"#comments"},{"include":"#string_context"},{"match":"[$A-Z_a-z][-$\\\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.cpp"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"pragma_mark":{"captures":{"1":{"name":"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"name":"entity.name.tag.pragma-mark.cpp"}},"match":"^((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\s+mark)\\\\s+(.*)","name":"meta.preprocessor.pragma.cpp"},"predefined_macros":{"patterns":[{"captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},"match":"\\\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\\\b"},{"match":"\\\\b__([A-Z_]+)__\\\\b","name":"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},"preprocessor_conditional_context":{"patterns":[{"include":"#preprocessor_conditional_defined"},{"include":"#comments"},{"include":"#language_constants"},{"include":"#string_context"},{"include":"#d9bc4796b0b_preprocessor_number_literal"},{"include":"#operators"},{"include":"#predefined_macros"},{"include":"#macro_name"},{"include":"#line_continuation_character"}]},"preprocessor_conditional_defined":{"begin":"((?<!\\\\w)defined(?!\\\\w))(\\\\()","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.defined.cpp"},"2":{"name":"punctuation.section.parens.control.defined.cpp"}},"end":"\\\\)|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"0":{"name":"punctuation.section.parens.control.defined.cpp"}},"patterns":[{"include":"#macro_name"}]},"preprocessor_conditional_parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.preprocessor.conditional.cpp"},"preprocessor_conditional_range":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(if(?:n?def|))","beginCaptures":{"0":{"name":"keyword.control.directive.conditional.$6.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"},"6":{}},"contentName":"meta.preprocessor.conditional","end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"patterns":[{"include":"#preprocessor_conditional_context"}]},"preprocessor_conditional_standalone":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"punctuation.definition.directive.cpp"}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}((?<!\\\\w)e(?:ndif|lse|lif)(?!\\\\w))","name":"keyword.control.directive.$4.cpp"},"preprocessor_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"}]},"qualified_type":{"captures":{"0":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"1":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified_type.cpp"},"qualifiers_and_specifiers_post_parameters":{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\w))"}]}},"match":"((?:(?:(?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\w))+)(?=\\\\s*[\\\\n\\\\r;={])"},"scope_resolution":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition_operator_overload":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_operator_overload_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_alias":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_alias_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_block":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_block_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_using":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_using_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_parameter":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_parameter_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_type":{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{},"13":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"single_line_macro":{"captures":{"0":{"patterns":[{"include":"#macro"},{"include":"#comments"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)#define.*(?<!\\\\\\\\)(?:\\\\n|$)"},"sizeof_operator":{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"sizeof_variadic_operator":{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"square_brackets":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\[)(?!])","beginCaptures":{"1":{"name":"variable.other.object"},"2":{"name":"punctuation.definition.begin.bracket.square"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square"}},"name":"meta.bracket.square.access","patterns":[{"include":"#evaluation_context"}]},"standard_declares":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)struct(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)union(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)enum(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)class(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"}]},"static_assert":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.other.static_assert.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},"patterns":[{"begin":"(,)\\\\s+{0,1}(?=(?:L|u8?|U\\\\s+{0,1}\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"end":"(?=\\\\))","endCaptures":{},"name":"meta.static_assert.message.cpp","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"std_space":{"captures":{"0":{"patterns":[{"include":"#inline_comment"}]},"1":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z"},"storage_specifiers":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.modifier.specifier.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\w))"},"storage_types":{"patterns":[{"include":"#storage_specifiers"},{"include":"#inline_builtin_storage_type"},{"include":"#decltype"},{"include":"#typename"}]},"string_context":{"patterns":[{"begin":"((?:u8??|[LU])?)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"match":"\\\\\\\\(?:u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[\\"'?\\\\\\\\abfnrtv]","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.cpp"},{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"#string_escapes_context_c"}]},{"begin":"(?<!\\\\h)((?:u8??|[LU])?)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(')(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.character.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"#string_escapes_context_c"},{"include":"#line_continuation_character"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:(?:_r|re)|regex)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:(?:_r|re)|regex)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.raw.regex.cpp","patterns":[{"include":"source.regexp.python"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:glsl|GLSL)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:glsl|GLSL)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.glsl.cpp","patterns":[{"include":"source.glsl"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.sql.cpp","patterns":[{"include":"source.sql"}]},{"begin":"((?:u8??|[LU])?R)\\"(?:([^\\\\t ()\\\\\\\\]{0,16})|([^\\\\t ()\\\\\\\\]*))\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"end":"(\\\\)\\\\2(\\\\3)\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end"},"2":{"name":"invalid.illegal.delimiter-too-long"},"3":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.raw"}]},"string_escapes_context_c":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape"},{"match":"(?!%')(?!%\\")%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder"}]},"struct_block":{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"struct_declare":{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)struct(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"switch_conditional_parentheses":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},"name":"meta.conditional.switch.cpp","patterns":[{"include":"#evaluation_context"}]},"switch_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)switch(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.switch.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.switch.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_argument_defaulted":{"captures":{"1":{"name":"storage.type.template.argument.$1.cpp"},"2":{"name":"entity.name.type.template.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"(?<=[,<])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(=)"},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"#language_constants"},{"include":"#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma_in_template_argument"},{"include":"#qualified_type"}]},"template_call_innards":{"captures":{"0":{"patterns":[{"include":"#template_call_range"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<1>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+","name":"meta.template.call.cpp"},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?<!\\\\w)(template)\\\\s+{0,1}(<)","beginCaptures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\\\w)\\\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_argument":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.type.template.argument.$3.cpp"},"4":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"storage.type.template.argument.$0.cpp"}]},"5":{"name":"entity.name.type.template.cpp"},"6":{"name":"storage.type.template.argument.$6.cpp"},"7":{"name":"punctuation.vararg-ellipses.template.definition.cpp"},"8":{"name":"entity.name.type.template.cpp"},"9":{"name":"storage.type.template.cpp"},"10":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{"name":"storage.type.template.argument.$11.cpp"},"12":{"name":"entity.name.type.template.cpp"},"13":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{"name":"storage.type.template.argument.$14.cpp"},"15":{"name":"entity.name.type.template.cpp"},"16":{"name":"keyword.operator.assignment.cpp"},"17":{"name":"punctuation.separator.delimiter.comma.template.argument.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+)+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\.\\\\.\\\\.)\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|(?<!\\\\w)(template)\\\\s+{0,1}(<)\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(>)\\\\s+{0,1}(class|typename)(?:\\\\s+((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?)\\\\s+{0,1}(?:(=)\\\\s+{0,1}(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?(?:(,)|(?=>|$))"},"template_definition_context":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"},{"include":"#template_definition_argument"},{"include":"#template_argument_defaulted"},{"include":"#template_call_innards"},{"include":"#evaluation_context"}]},"template_explicit_instantiation":{"captures":{"1":{"name":"storage.modifier.specifier.extern.cpp"},"2":{"name":"storage.type.template.cpp"}},"match":"(?<!\\\\w)(?:(extern)\\\\s+)?(template)\\\\s+","name":"meta.template.explicit-instantiation.cpp"},"template_isolated_definition":{"captures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{"name":"meta.template.definition.cpp","patterns":[{"include":"#template_definition_context"}]},"4":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"match":"(?<!\\\\w)(template)\\\\s+{0,1}(<)(.*)(>)\\\\s+{0,1}$"},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"the_this_keyword":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"variable.language.this.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))"},"type_alias":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.type.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"keyword.operator.assignment.cpp"},"5":{"name":"keyword.other.typename.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"9":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"15":{"patterns":[{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"20":{"name":"meta.declaration.type.alias.value.unknown.cpp","patterns":[{"include":"#evaluation_context"}]},"21":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"22":{"patterns":[{"include":"#inline_comment"}]},"23":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"28":{"name":"punctuation.definition.begin.bracket.square.cpp"},"29":{"patterns":[{"include":"#evaluation_context"}]},"30":{"name":"punctuation.definition.end.bracket.square.cpp"},"31":{"name":"punctuation.terminator.statement.cpp"}},"match":"(using)\\\\s+(?!namespace)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?\\\\s+{0,1}(=)\\\\s+{0,1}((?:typename)?)\\\\s+{0,1}((?:(?:((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\w)\\\\s+)+)?(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<19>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<19>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?<!;)))(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})?\\\\s+{0,1}(?:(;)|\\\\n)","name":"meta.declaration.type.alias.cpp"},"type_casting_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:reinterpret|dynamic|static|const)_cast(?!\\\\w))"},"typedef_class":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)class(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_function_pointer":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=.*\\\\(\\\\*\\\\s*(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s*\\\\))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)struct(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_union":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)union(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typeid_operator":{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"typename":{"captures":{"1":{"name":"storage.modifier.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"13":{"patterns":[{"include":"#template_call_range"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{}},"match":"((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)typename(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<17>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<17>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},"undef":{"captures":{"1":{"name":"keyword.control.directive.undef.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"name":"entity.name.function.preprocessor.cpp"}},"match":"^((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}undef)\\\\b(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","name":"meta.preprocessor.undef.cpp"},"union_block":{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"union_declare":{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)union(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"using_name":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"}},"match":"(using)\\\\s+(?!namespace\\\\b)"},"using_namespace":{"begin":"(?<!\\\\w)(using)\\\\s+(namespace)\\\\s+((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<6>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?=[\\\\n;])","beginCaptures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"4":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{"patterns":[{"include":"#template_call_range"}]},"6":{},"7":{"name":"entity.name.namespace.cpp"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.using-namespace.cpp"},"vararg_ellipses":{"match":"(?<!\\\\.)\\\\.\\\\.\\\\.(?!\\\\.)","name":"punctuation.vararg-ellipses.cpp"},"wordlike_operators":{"patterns":[{"match":"(?<!\\\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\\\w)","name":"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},"scopeName":"source.cpp","embeddedLangs":["cpp-macro","regexp","glsl","sql"],"aliases":["c++"]}`));var o=[...i,...t,...n,...e,a];export{o as t};
|
|
1
|
+
import{t as e}from"./sql-BBjVgCWI.js";import{t}from"./regexp-D7f8yhPZ.js";import{t as n}from"./glsl-DEYttXt8.js";const r=Object.freeze(JSON.parse(`{"displayName":"C++","name":"cpp-macro","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#template_isolated_definition"},{"include":"#template_definition"},{"include":"source.cpp#template_explicit_instantiation"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"alignas_attribute":{"begin":"alignas\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"alignas_operator":{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"alignof_operator":{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"assembly":{"begin":"\\\\b(__asm__|asm)\\\\b\\\\s+{0,1}((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.cpp"},"2":{"name":"storage.modifier.cpp"}},"end":"(?!\\\\G)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.asm.cpp","patterns":[{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\n|$)"},{"include":"#comments"},{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.cpp"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.cpp"},"2":{"name":"punctuation.definition.string.begin.assembly.cpp"}},"contentName":"meta.embedded.assembly","end":"\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.assembly.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"source.cpp#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.other.asm.label.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\[((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.cpp"},{"include":"#comments"}]}]},"attributes_context":{"patterns":[{"include":"#cpp_attributes"},{"include":"#gcc_attributes"},{"include":"#ms_attributes"},{"include":"#alignas_attribute"}]},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.cpp"}},"name":"meta.block.cpp","patterns":[{"include":"#function_body_context"}]},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.cpp"}},"end":"\\\\*/|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.cpp"}},"name":"comment.block.cpp"},"builtin_storage_type_initilizer":{"begin":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)\\\\s*+(?<!\\\\w)(\\\\()","beginCaptures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{"name":"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"case_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)case(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.case.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.separator.colon.case.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"class_block":{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"comments":{"patterns":[{"begin":"^\\\\s+{1,0}(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.cpp"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"comment.line.double-slash.documentation.cpp","patterns":[{"include":"source.cpp#line_continuation_character"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.cpp"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},"3":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.cpp"},{"begin":"\\\\s+{1,0}/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.documentation.cpp"}},"end":"[!*]*\\\\*/|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"name":"comment.block.documentation.cpp","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"include":"source.cpp#emacs_file_banner"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"source.cpp#invalid_comment_end"}]},"constructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#functional_specifiers_pre_parameters"}]},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"storage.type.modifier.calling-convention.cpp"},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\10((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"name":"storage.type.modifier.calling-convention.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.constructor.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"8":{},"9":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.constructor.cpp"},{"match":"(?<=:)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.constructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"cpp_attributes":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"]]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"curly_initializer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"name":"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},"name":"meta.initialization.cpp","patterns":[{"include":"#evaluation_context"},{"include":"source.cpp#comma"}]},"decltype":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"decltype_specifier":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"default_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)default(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.default.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.separator.colon.case.default.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"destructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(~(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#functional_specifiers_pre_parameters"}]},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)~\\\\14((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.destructor.cpp"},{"include":"#template_call_range"}]},"11":{"patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.destructor.cpp"},{"match":"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.member.destructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"include":"source.cpp#inline_comment"}]},"24":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{"name":"comment.block.cpp"},"26":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(error|warning))\\\\b\\\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.diagnostic.$reference(directive).cpp","patterns":[{"include":"#comments"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(?:(\\")|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(?:(')|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},{"begin":"[^\\"']","beginCaptures":{},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"string.unquoted.cpp","patterns":[{"include":"source.cpp#line_continuation_character"},{"include":"#comments"}]}]},"enum_block":{"begin":"((?<!\\\\w)enum(?!\\\\w))(?:\\\\s+(class|struct))?(?:(?:\\\\s+|((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\))))|(?=\\\\{))\\\\s+{0,1}((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(?:\\\\s+{0,1}(:)\\\\s+{0,1}(?:((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))?","beginCaptures":{"0":{"name":"meta.head.enum.cpp"},"1":{"name":"storage.type.enum.cpp"},"2":{"name":"storage.type.enum.enum-key.$2.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"name":"punctuation.separator.colon.type-specifier.cpp"},"6":{"patterns":[{"include":"source.cpp#scope_resolution_inner_generated"}]},"7":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"name":"entity.name.scope-resolution.cpp"},"11":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{"name":"storage.type.integral.$17.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"source.cpp#enumerator_list"},{"include":"#comments"},{"include":"source.cpp#comma"},{"include":"source.cpp#semicolon"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"evaluation_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"source.cpp#number_literal"},{"include":"#method_access"},{"include":"source.cpp#member_access"},{"include":"source.cpp#predefined_macros"},{"include":"#operators"},{"include":"source.cpp#memory_operators"},{"include":"source.cpp#wordlike_operators"},{"include":"source.cpp#type_casting_operators"},{"include":"source.cpp#control_flow_keywords"},{"include":"source.cpp#exception_keywords"},{"include":"source.cpp#the_this_keyword"},{"include":"source.cpp#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"source.cpp#semicolon"},{"include":"source.cpp#comma"}]},"ever_present_context":{"patterns":[{"include":"source.cpp#pragma_mark"},{"include":"#pragma"},{"include":"source.cpp#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"source.cpp#undef"},{"include":"#preprocessor_conditional_range"},{"include":"source.cpp#single_line_macro"},{"include":"#macro"},{"include":"source.cpp#preprocessor_conditional_standalone"},{"include":"source.cpp#macro_argument"},{"include":"#comments"},{"include":"source.cpp#line_continuation_character"}]},"extern_block":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(extern)(?=\\\\s*\\")","beginCaptures":{"0":{"name":"meta.head.extern.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.extern.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"source.cpp#goto_statement"},{"include":"#evaluation_context"},{"include":"source.cpp#label"}]},"function_call":{"begin":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\\\G|(?<=[;}]))|(?<=>|\\\\*/))\\\\s*+(?:((?<!\\\\w)template(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\()","beginCaptures":{"0":{"name":"meta.head.function.definition.cpp"},"1":{"name":"storage.type.template.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"captures":{"1":{"name":"storage.modifier.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"}]},"8":{"name":"storage.modifier.$8.cpp"},"9":{"patterns":[{"include":"source.cpp#inline_comment"}]},"10":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{"name":"comment.block.cpp"},"12":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"15":{"patterns":[{"include":"source.cpp#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"24":{"patterns":[{"include":"#template_call_range"}]},"25":{},"26":{"patterns":[{"include":"source.cpp#inline_comment"}]},"27":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{"name":"comment.block.cpp"},"29":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"32":{"patterns":[{"include":"source.cpp#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"patterns":[{"include":"source.cpp#inline_comment"}]},"37":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{"name":"comment.block.cpp"},"39":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{"patterns":[{"include":"source.cpp#inline_comment"}]},"41":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{"name":"comment.block.cpp"},"43":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{"name":"storage.type.modifier.calling-convention.cpp"},"45":{"patterns":[{"include":"source.cpp#inline_comment"}]},"46":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{"name":"comment.block.cpp"},"48":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{"patterns":[{"include":"source.cpp#scope_resolution_function_definition_inner_generated"}]},"50":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{"patterns":[{"include":"#template_call_range"}]},"52":{},"53":{"name":"entity.name.function.definition.cpp"},"54":{"patterns":[{"include":"source.cpp#inline_comment"}]},"55":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{"name":"comment.block.cpp"},"57":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"source.cpp#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"8":{"patterns":[{"include":"source.cpp#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#template_call_range"}]},"18":{},"19":{"patterns":[{"include":"source.cpp#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},"match":"(?<=^|\\\\))\\\\s+{0,1}(->)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"source.cpp#comma"}]},"function_pointer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.other.definition.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.parameter.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"gcc_attributes":{"begin":"__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)\\\\s*\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?<!\\\\w)p(?:rotected|rivate|ublic)(?!\\\\w)","name":"storage.type.modifier.access.$0.cpp"},{"match":"(?<!\\\\w)virtual(?!\\\\w)","name":"storage.type.modifier.virtual.cpp"},{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{}},"match":"(?<=protected|virtual|private|public|[,:])\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?<![]\\"\\\\&)*>\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((?<!\\\\[)\\\\[(?!\\\\[)(?:[^]\\\\[]*+\\\\g<3>?)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"source.cpp#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?<!\\\\w)(?:constexpr|consteval|mutable)(?!\\\\w)","name":"storage.modifier.lambda.$0.cpp"},{"begin":"->","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"line":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}line\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.line.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.line.cpp","patterns":[{"include":"#string_context"},{"include":"#preprocessor_number_literal"},{"include":"source.cpp#line_continuation_character"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"comment.line.double-slash.cpp","patterns":[{"include":"source.cpp#line_continuation_character"}]},"macro":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}define)\\\\b\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.control.directive.define.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{"name":"entity.name.function.preprocessor.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.macro.cpp","patterns":[{"captures":{"1":{"name":"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{"name":"meta.function.preprocessor.parameters.cpp","patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.cpp"}},"match":"(?<=[(,])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}"},{"match":",","name":"punctuation.separator.parameters.cpp"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{"name":"punctuation.definition.parameters.end.preprocessor.cpp"}},"match":"\\\\G\\\\s+{0,1}(\\\\()([^(]*)(\\\\))"},{"include":"#macro_context"},{"include":"source.cpp#macro_argument"}]},"macro_context":{"patterns":[{"include":"source.cpp.embedded.macro"}]},"method_access":{"begin":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"source.cpp#number_literal"},{"include":"#ever_present_context"}]},"namespace_block":{"begin":"((?<!\\\\w)namespace(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.namespace.cpp"},"1":{"name":"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"source.cpp#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<4>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(::)\\\\s+{0,1}(inline))?"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"operator_overload":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\[])?)))|(\\"\\")((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[(<])","beginCaptures":{"0":{"name":"meta.head.function.definition.special.operator-overload.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"source.cpp#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"16":{"patterns":[{"include":"#template_call_range"}]},"17":{},"18":{"patterns":[{"include":"source.cpp#inline_comment"}]},"19":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{"name":"comment.block.cpp"},"21":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"patterns":[{"include":"source.cpp#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"name":"storage.type.modifier.calling-convention.cpp"},"37":{"patterns":[{"include":"source.cpp#inline_comment"}]},"38":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{"name":"comment.block.cpp"},"40":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{"patterns":[{"include":"source.cpp#inline_comment"}]},"42":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{"name":"comment.block.cpp"},"44":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator.cpp"},{"include":"#template_call_range"}]},"46":{"patterns":[{"include":"#template_call_range"}]},"47":{},"48":{"name":"keyword.other.operator.overload.cpp"},"49":{"patterns":[{"include":"source.cpp#inline_comment"}]},"50":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{"name":"comment.block.cpp"},"52":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator-overload.cpp"},{"include":"#template_call_range"}]},"54":{"patterns":[{"include":"#template_call_range"}]},"55":{},"56":{"name":"entity.name.operator.cpp"},"57":{"name":"entity.name.operator.type.cpp"},"58":{"patterns":[{"match":"\\\\*","name":"entity.name.operator.type.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"entity.name.operator.type.reference.cpp"}]},"59":{"patterns":[{"include":"source.cpp#inline_comment"}]},"60":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{"name":"comment.block.cpp"},"62":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{"patterns":[{"include":"source.cpp#inline_comment"}]},"64":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{"name":"comment.block.cpp"},"66":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{"patterns":[{"include":"source.cpp#inline_comment"}]},"68":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{"name":"comment.block.cpp"},"70":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{"name":"entity.name.operator.type.array.cpp"},"72":{"name":"entity.name.operator.custom-literal.cpp"},"73":{"patterns":[{"include":"source.cpp#inline_comment"}]},"74":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{"name":"comment.block.cpp"},"76":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{"name":"entity.name.operator.custom-literal.cpp"},"78":{"patterns":[{"include":"source.cpp#inline_comment"}]},"79":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{"name":"comment.block.cpp"},"81":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"--","name":"keyword.operator.decrement.cpp"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cpp"},{"match":"(?:[-%*+]|(?<!\\\\()/)=","name":"keyword.operator.assignment.compound.cpp"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"source.cpp#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#function_pointer_parameter"},{"include":"#decltype"},{"include":"source.cpp#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"source.cpp#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"=","name":"keyword.operator.assignment.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),=\\\\[])"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#ever_present_context"}]},"parameter_or_maybe_value":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#function_pointer_parameter"},{"include":"source.cpp#memory_operators"},{"include":"#builtin_storage_type_initilizer"},{"include":"#curly_initializer"},{"include":"#decltype"},{"include":"source.cpp#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?:(?=\\\\))|(,))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=\\\\[]|//|(?:\\\\n|$))"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"source.cpp#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#evaluation_context"},{"include":"#ever_present_context"}]},"parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.cpp","patterns":[{"include":"source.cpp#over_qualified_types"},{"match":"(?<!:):(?!:)","name":"punctuation.separator.colon.range-based.cpp"},{"include":"#evaluation_context"}]},"pragma":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.preprocessor.pragma.cpp","patterns":[{"include":"#comments"},{"include":"#string_context"},{"match":"[$A-Z_a-z][-$\\\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.cpp"},{"include":"#preprocessor_number_literal"},{"include":"source.cpp#line_continuation_character"}]},"preprocessor_conditional_context":{"patterns":[{"include":"#preprocessor_conditional_defined"},{"include":"#comments"},{"include":"source.cpp#language_constants"},{"include":"#string_context"},{"include":"source.cpp#d9bc4796b0b_preprocessor_number_literal"},{"include":"#operators"},{"include":"source.cpp#predefined_macros"},{"include":"source.cpp#macro_name"},{"include":"source.cpp#line_continuation_character"}]},"preprocessor_conditional_defined":{"begin":"((?<!\\\\w)defined(?!\\\\w))(\\\\()","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.defined.cpp"},"2":{"name":"punctuation.section.parens.control.defined.cpp"}},"end":"(?:\\\\)|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$)))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.control.defined.cpp"}},"patterns":[{"include":"source.cpp#macro_name"}]},"preprocessor_conditional_parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.preprocessor.conditional.cpp"},"preprocessor_conditional_range":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(if(?:n?def|))","beginCaptures":{"0":{"name":"keyword.control.directive.conditional.$6.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"},"6":{}},"contentName":"meta.preprocessor.conditional","end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"include":"#preprocessor_conditional_context"}]},"preprocessor_context":{"patterns":[{"include":"source.cpp#pragma_mark"},{"include":"#pragma"},{"include":"source.cpp#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"source.cpp#undef"},{"include":"#preprocessor_conditional_range"},{"include":"source.cpp#single_line_macro"},{"include":"#macro"},{"include":"source.cpp#preprocessor_conditional_standalone"},{"include":"source.cpp#macro_argument"}]},"sizeof_operator":{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"sizeof_variadic_operator":{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"square_brackets":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\[)(?!])","beginCaptures":{"1":{"name":"variable.other.object"},"2":{"name":"punctuation.definition.begin.bracket.square"}},"end":"]|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square"}},"name":"meta.bracket.square.access","patterns":[{"include":"#evaluation_context"}]},"static_assert":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.other.static_assert.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},"patterns":[{"begin":"(,)\\\\s+{0,1}(?=(?:L|u8?|U\\\\s+{0,1}\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"end":"(?=\\\\))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.static_assert.message.cpp","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"storage_types":{"patterns":[{"include":"source.cpp#storage_specifiers"},{"include":"source.cpp#inline_builtin_storage_type"},{"include":"#decltype"},{"include":"source.cpp#typename"}]},"string_context":{"patterns":[{"begin":"((?:u8??|[LU])?)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"match":"\\\\\\\\(?:u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[\\"'?\\\\\\\\abfnrtv]","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.cpp"},{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"source.cpp#string_escapes_context_c"}]},{"begin":"(?<!\\\\h)((?:u8??|[LU])?)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(')(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.character.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"source.cpp#string_escapes_context_c"},{"include":"source.cpp#line_continuation_character"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:(?:_r|re)|regex)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:(?:_r|re)|regex)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.raw.regex.cpp","patterns":[{"include":"source.regexp.python"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:glsl|GLSL)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:glsl|GLSL)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.glsl.cpp","patterns":[{"include":"source.glsl"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\"|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.sql.cpp","patterns":[{"include":"source.sql"}]},{"begin":"((?:u8??|[LU])?R)\\"(?:([^\\\\t ()\\\\\\\\]{0,16})|([^\\\\t ()\\\\\\\\]*))\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"end":"(\\\\)\\\\2(\\\\3)\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end"},"2":{"name":"invalid.illegal.delimiter-too-long"},"3":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.raw"}]},"struct_block":{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"switch_conditional_parentheses":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},"end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},"name":"meta.conditional.switch.cpp","patterns":[{"include":"#evaluation_context"}]},"switch_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)switch(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.switch.cpp"},"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.switch.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"source.cpp#language_constants"},{"include":"source.cpp#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma_in_template_argument"},{"include":"source.cpp#qualified_type"}]},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?<!\\\\w)(template)\\\\s+{0,1}(<)","beginCaptures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\\\w)\\\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_context":{"patterns":[{"include":"source.cpp#scope_resolution_template_definition_inner_generated"},{"include":"source.cpp#template_definition_argument"},{"include":"source.cpp#template_argument_defaulted"},{"include":"source.cpp#template_call_innards"},{"include":"#evaluation_context"}]},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"source.cpp#number_literal"},{"include":"#method_access"},{"include":"source.cpp#member_access"},{"include":"source.cpp#predefined_macros"},{"include":"#operators"},{"include":"source.cpp#memory_operators"},{"include":"source.cpp#wordlike_operators"},{"include":"source.cpp#type_casting_operators"},{"include":"source.cpp#control_flow_keywords"},{"include":"source.cpp#exception_keywords"},{"include":"source.cpp#the_this_keyword"},{"include":"source.cpp#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"source.cpp#qualifiers_and_specifiers_post_parameters"},{"include":"source.cpp#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"source.cpp#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"source.cpp#semicolon"},{"include":"source.cpp#comma"}]},"typedef_class":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)class(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_function_pointer":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=.*\\\\(\\\\*\\\\s*(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s*\\\\))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"source.cpp#number_literal"},{"include":"#string_context"},{"include":"source.cpp#comma"},{"include":"source.cpp#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"3":{"patterns":[{"include":"source.cpp#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"source.cpp#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"source.cpp#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"source.cpp#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"source.cpp#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)struct(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_union":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)union(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"source.cpp#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typeid_operator":{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"union_block":{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"source.cpp#number_literal"}]},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"source.cpp#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"source.cpp#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"source.cpp#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[]))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"(?:\\\\{|<%|\\\\?\\\\?<|(?=;))|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"using_namespace":{"begin":"(?<!\\\\w)(using)\\\\s+(namespace)\\\\s+((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<6>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?=[\\\\n;])","beginCaptures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{"patterns":[{"include":"source.cpp#scope_resolution_namespace_using_inner_generated"}]},"4":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{"patterns":[{"include":"#template_call_range"}]},"6":{},"7":{"name":"entity.name.namespace.cpp"}},"end":";|(?=(?<!\\\\\\\\)\\\\n)","endCaptures":{"0":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.using-namespace.cpp"}},"scopeName":"source.cpp.embedded.macro","embeddedLangs":["regexp","glsl","sql"]}`));var i=[...t,...n,...e,r];const a=Object.freeze(JSON.parse(`{"displayName":"C++","name":"cpp","patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#template_isolated_definition"},{"include":"#template_definition"},{"include":"#template_explicit_instantiation"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"access_control_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.type.modifier.access.control.$4.cpp"},"4":{},"5":{"name":"punctuation.separator.colon.access.control.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((p(?:rotected|rivate|ublic))\\\\s+{0,1}(:))"},"alignas_attribute":{"begin":"alignas\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"alignas_operator":{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"alignof_operator":{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"assembly":{"begin":"\\\\b(__asm__|asm)\\\\b\\\\s+{0,1}((?:volatile)?)","beginCaptures":{"1":{"name":"storage.type.asm.cpp"},"2":{"name":"storage.modifier.cpp"}},"end":"(?!\\\\G)","endCaptures":{},"name":"meta.asm.cpp","patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\n|$)"},{"include":"#comments"},{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.cpp"}},"patterns":[{"begin":"(R?)(\\")","beginCaptures":{"1":{"name":"meta.encoding.cpp"},"2":{"name":"punctuation.definition.string.begin.assembly.cpp"}},"contentName":"meta.embedded.assembly","end":"\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.assembly.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"source.asm"},{"include":"source.x86"},{"include":"source.x86_64"},{"include":"source.arm"},{"include":"#backslash_escapes"},{"include":"#string_escaped_char"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.assembly.inner.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.other.asm.label.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\[((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)]"},{"match":":","name":"punctuation.separator.delimiter.colon.assembly.cpp"},{"include":"#comments"}]}]},"assignment_operator":{"match":"=","name":"keyword.operator.assignment.cpp"},"attributes_context":{"patterns":[{"include":"#cpp_attributes"},{"include":"#gcc_attributes"},{"include":"#ms_attributes"},{"include":"#alignas_attribute"}]},"backslash_escapes":{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape"},"block":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.cpp"}},"name":"meta.block.cpp","patterns":[{"include":"#function_body_context"}]},"block_comment":{"begin":"\\\\s*+(/\\\\*)","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.cpp"}},"end":"\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.cpp"}},"name":"comment.block.cpp"},"builtin_storage_type_initilizer":{"begin":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)\\\\s*+(?<!\\\\w)(\\\\()","beginCaptures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"5":{"name":"punctuation.section.arguments.begin.bracket.round.initializer.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"case_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)case(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.case.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"class_block":{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"include":"$self"}]}]},"class_declare":{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)class(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"comma":{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},"comma_in_template_argument":{"match":",","name":"punctuation.separator.delimiter.comma.template.argument.cpp"},"comments":{"patterns":[{"begin":"^\\\\s+{1,0}(//[!/]+)","beginCaptures":{"1":{"name":"punctuation.definition.comment.documentation.cpp"}},"end":"(?<=\\\\n)(?<!\\\\\\\\\\\\n)","endCaptures":{},"name":"comment.line.double-slash.documentation.cpp","patterns":[{"include":"#line_continuation_character"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"captures":{"1":{"name":"punctuation.definition.comment.begin.documentation.cpp"},"2":{"patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},"3":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"match":"(/\\\\*[!*]+(?=\\\\s))(.+)([!*]*\\\\*/)","name":"comment.block.documentation.cpp"},{"begin":"\\\\s+{1,0}/\\\\*[!*]+(?:(?:\\\\n|$)|(?=\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.documentation.cpp"}},"end":"[!*]*\\\\*/","endCaptures":{"0":{"name":"punctuation.definition.comment.end.documentation.cpp"}},"name":"comment.block.documentation.cpp","patterns":[{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\$|f\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\"-%.<=>]|::|\\\\||---??)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\](?:a|em?))\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]b)\\\\s+(\\\\S+)"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\][cp])\\\\s+(\\\\S+)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"patterns":[{"match":"in|out","name":"keyword.other.parameter.direction.$0.cpp"}]},"3":{"patterns":[{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.parameter.cpp"},{"match":",","name":"punctuation.cpp"}]},"4":{"name":"variable.parameter.cpp"},"5":{"name":"punctuation.cpp"},"6":{"name":"variable.parameter.cpp"}},"match":"((?<=[!*/\\\\s])[@\\\\\\\\]param)(?:\\\\s*\\\\[((?:,?\\\\s+{0,1}(?:in|out)\\\\s+{0,1})+)])?(\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?:(,)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))*)"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[!*/\\\\s])[@\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\b(?:\\\\{[^}]*})?","name":"storage.type.class.doxygen.cpp"},{"match":"\\\\b[A-Z]+:|@[_a-z]+:","name":"storage.type.class.gtkdoc.cpp"}]},{"include":"#emacs_file_banner"},{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#invalid_comment_end"}]},"constructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"storage.type.modifier.calling-convention.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"constructor_root":{"begin":"\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\10((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.constructor.cpp"},"1":{"name":"storage.type.modifier.calling-convention.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.constructor.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"8":{},"9":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.constructor.cpp"},{"match":"(?<=:)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.constructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"}]},"10":{},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.constructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.head.function.definition.special.constructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"#functional_specifiers_pre_parameters"},{"begin":":","beginCaptures":{"0":{"name":"punctuation.separator.initializers.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"3":{},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(\\\\{)","beginCaptures":{"1":{"name":"entity.name.function.call.initializer.cpp"},"2":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"}},"contentName":"meta.parameter.initialization","end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":",","name":"punctuation.separator.delimiter.comma.cpp"},{"include":"#comments"}]},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"}},"contentName":"meta.function.definition.parameters.special.constructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.constructor.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"}},"name":"meta.body.function.definition.special.constructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.constructor.cpp","patterns":[{"include":"$self"}]}]},"control_flow_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?!\\\\w))"},"cpp_attributes":{"begin":"\\\\[\\\\[","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"]]","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"curly_initializer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\{)","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"name":"punctuation.section.arguments.begin.bracket.curly.initializer.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.curly.initializer.cpp"}},"name":"meta.initialization.cpp","patterns":[{"include":"#evaluation_context"},{"include":"#comma"}]},"d9bc4796b0b_module_import":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.directive.import.cpp"},"5":{"name":"string.quoted.other.lt-gt.include.cpp"},"6":{"name":"punctuation.definition.string.begin.cpp"},"7":{"name":"punctuation.definition.string.end.cpp"},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"name":"string.quoted.double.include.cpp"},"11":{"name":"punctuation.definition.string.begin.cpp"},"12":{"name":"punctuation.definition.string.end.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"15":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"22":{"name":"punctuation.terminator.statement.cpp"}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((import))\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))\\\\s+{0,1}(;?)","name":"meta.preprocessor.import.cpp"},"d9bc4796b0b_preprocessor_number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0[Bb])([01](?:[01]|((?<=\\\\h)'(?=\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0)((?:[0-7]|((?<=\\\\h)'(?=\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"decltype":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"decltype_specifier":{"begin":"((?<!\\\\w)decltype(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.decltype.cpp"}},"contentName":"meta.arguments.decltype","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.decltype.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"default_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)default(?!\\\\w))","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.default.cpp"}},"end":":","endCaptures":{"0":{"name":"punctuation.separator.colon.case.default.cpp"}},"name":"meta.conditional.case.cpp","patterns":[{"include":"#evaluation_context"}]},"destructor_inline":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(~(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#functional_specifiers_pre_parameters"}]},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"destructor_root":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?>(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)::((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)~\\\\14((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\())","beginCaptures":{"0":{"name":"meta.head.function.definition.special.member.destructor.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.modifier.calling-convention.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.destructor.cpp"},{"include":"#template_call_range"}]},"11":{"patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?=:)","name":"entity.name.type.destructor.cpp"},{"match":"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.function.definition.special.member.destructor.cpp"},{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"include":"#inline_comment"}]},"24":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"25":{"name":"comment.block.cpp"},"26":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.member.destructor.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.head.function.definition.special.member.destructor.cpp","patterns":[{"include":"#ever_present_context"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"},"7":{"name":"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"}},"contentName":"meta.function.definition.parameters.special.member.destructor","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"}},"patterns":[]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"}},"name":"meta.body.function.definition.special.member.destructor.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.member.destructor.cpp","patterns":[{"include":"$self"}]}]},"diagnostic":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(error|warning))\\\\b\\\\s+{0,1}","beginCaptures":{"1":{"name":"keyword.control.directive.diagnostic.$7.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.diagnostic.$reference(directive).cpp","patterns":[{"include":"#comments"},{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(\\")|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"}},"end":"(')|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"include":"#line_continuation_character"}]},{"begin":"[^\\"']","beginCaptures":{},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"string.unquoted.cpp","patterns":[{"include":"#line_continuation_character"},{"include":"#comments"}]}]},"emacs_file_banner":{"captures":{"1":{"name":"meta.toc-list.banner.double-slash.cpp"},"2":{"name":"comment.line.double-slash.cpp"},"3":{"name":"punctuation.definition.comment.cpp"},"4":{"name":"meta.banner.character.cpp"},"5":{"name":"meta.toc-list.banner.block.cpp"},"6":{"name":"comment.line.banner.cpp"},"7":{"name":"punctuation.definition.comment.cpp"},"8":{"name":"meta.banner.character.cpp"}},"match":"^(?:(\\\\s+{0,1}((//)\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\s+{0,1}.+\\\\s+{0,1}\\\\4\\\\s+{0,1}(?:\\\\n|$)))|(\\\\s+{0,1}((/\\\\*)\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\s+{0,1}.+\\\\s+{0,1}\\\\8\\\\s+{0,1}\\\\*/)))"},"empty_square_brackets":{"match":"(?<!delete)\\\\[\\\\s+{0,1}]","name":"storage.modifier.array.bracket.square"},"enum_block":{"begin":"((?<!\\\\w)enum(?!\\\\w))(?:\\\\s+(class|struct))?(?:(?:\\\\s+|((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\))))|(?=\\\\{))\\\\s+{0,1}((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(?:\\\\s+{0,1}(:)\\\\s+{0,1}(?:((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::))?\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))?","beginCaptures":{"0":{"name":"meta.head.enum.cpp"},"1":{"name":"storage.type.enum.cpp"},"2":{"name":"storage.type.enum.enum-key.$2.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"name":"punctuation.separator.colon.type-specifier.cpp"},"6":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"7":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"name":"entity.name.scope-resolution.cpp"},"11":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"12":{},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"17":{"name":"storage.type.integral.$17.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.enum.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.enum.cpp"}},"name":"meta.head.enum.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.enum.cpp"}},"name":"meta.body.enum.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#enumerator_list"},{"include":"#comments"},{"include":"#comma"},{"include":"#semicolon"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.enum.cpp","patterns":[{"include":"$self"}]}]},"enum_declare":{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)enum(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"enumerator_list":{"captures":{"1":{"name":"variable.other.enummember.cpp"},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"patterns":[{"include":"#evaluation_context"}]},"5":{"patterns":[{"include":"#comma"},{"include":"#semicolon"}]}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?\\\\s+{0,1}(?:(=)\\\\s+{0,1}(.+?)\\\\s+{0,1})?(?:(?:([,;](?!')|\\\\n)|(?=}[^']))|(?=/[*/]))","name":"meta.enum.definition.cpp"},"evaluation_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"ever_present_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"},{"include":"#comments"},{"include":"#line_continuation_character"}]},"exception_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.exception.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:throw|catch|try)(?!\\\\w))"},"extern_block":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(extern)(?=\\\\s*\\")","beginCaptures":{"0":{"name":"meta.head.extern.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.type.extern.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.extern.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.extern.cpp"}},"name":"meta.head.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.extern.cpp"}},"name":"meta.body.extern.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.extern.cpp","patterns":[{"include":"$self"}]},{"include":"$self"}]},"function_body_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#using_namespace"},{"include":"#type_alias"},{"include":"#using_name"},{"include":"#namespace_alias"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"#misc_keywords"},{"include":"#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#switch_statement"},{"include":"#goto_statement"},{"include":"#evaluation_context"},{"include":"#label"}]},"function_call":{"begin":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.function.call.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"11":{},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.call.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.call.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"function_definition":{"begin":"(?:(?:^|\\\\G|(?<=[;}]))|(?<=>|\\\\*/))\\\\s*+(?:((?<!\\\\w)template(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<52>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\b(?<!(?:\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\()","beginCaptures":{"0":{"name":"meta.head.function.definition.cpp"},"1":{"name":"storage.type.template.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"captures":{"1":{"name":"storage.modifier.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"}]},"8":{"name":"storage.modifier.$8.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"11":{"name":"comment.block.cpp"},"12":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"13":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"14":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"17":{"name":"comment.block.cpp"},"18":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"24":{"patterns":[{"include":"#template_call_range"}]},"25":{},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"28":{"name":"comment.block.cpp"},"29":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"30":{},"31":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"patterns":[{"include":"#inline_comment"}]},"37":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"38":{"name":"comment.block.cpp"},"39":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"40":{"patterns":[{"include":"#inline_comment"}]},"41":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"42":{"name":"comment.block.cpp"},"43":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"44":{"name":"storage.type.modifier.calling-convention.cpp"},"45":{"patterns":[{"include":"#inline_comment"}]},"46":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"47":{"name":"comment.block.cpp"},"48":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"49":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"50":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"51":{"patterns":[{"include":"#template_call_range"}]},"52":{},"53":{"name":"entity.name.function.definition.cpp"},"54":{"patterns":[{"include":"#inline_comment"}]},"55":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"56":{"name":"comment.block.cpp"},"57":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.cpp"}},"name":"meta.head.function.definition.cpp","patterns":[{"include":"#ever_present_context"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.cpp"}},"contentName":"meta.function.definition.parameters","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#parameter_or_maybe_value"},{"include":"#comma"},{"include":"#evaluation_context"}]},{"captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"10":{"name":"comment.block.cpp"},"11":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#template_call_range"}]},"18":{},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"21":{"name":"comment.block.cpp"},"22":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"23":{}},"match":"(?<=^|\\\\))\\\\s+{0,1}(->)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<23>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.cpp"}},"name":"meta.body.function.definition.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.cpp","patterns":[{"include":"$self"}]}]},"function_parameter_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#parameter"},{"include":"#comma"}]},"function_pointer":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.other.definition.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"function_pointer_parameter":{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"variable.parameter.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]},"functional_specifiers_pre_parameters":{"match":"(?<!\\\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\\\w)","name":"storage.modifier.specifier.functional.pre-parameters.$0.cpp"},"gcc_attributes":{"begin":"__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)\\\\s*\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"goto_statement":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.goto.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"entity.name.label.call.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)goto(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)"},"identifier":{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*"},"include":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.control.directive.$5.cpp"},"4":{"name":"punctuation.definition.directive.cpp"},"6":{"name":"string.quoted.other.lt-gt.include.cpp"},"7":{"name":"punctuation.definition.string.begin.cpp"},"8":{"name":"punctuation.definition.string.end.cpp"},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"11":{"name":"string.quoted.double.include.cpp"},"12":{"name":"punctuation.definition.string.begin.cpp"},"13":{"name":"punctuation.definition.string.end.cpp"},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"16":{"name":"entity.name.other.preprocessor.macro.include.cpp"},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"21":{"patterns":[{"include":"#inline_comment"}]},"22":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((#)\\\\s+{0,1}(include(?:|_next)))\\\\b\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//)))|((\\")[^\\"]*(\\"?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//))))|((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?:\\\\.(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)*(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;))))|(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:\\\\n|$)|(?=//|;)))","name":"meta.preprocessor.include.cpp"},"inheritance_context":{"patterns":[{"include":"#ever_present_context"},{"match":",","name":"punctuation.separator.delimiter.comma.inheritance.cpp"},{"match":"(?<!\\\\w)p(?:rotected|rivate|ublic)(?!\\\\w)","name":"storage.type.modifier.access.$0.cpp"},{"match":"(?<!\\\\w)virtual(?!\\\\w)","name":"storage.type.modifier.virtual.cpp"},{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{}},"match":"(?<=protected|virtual|private|public|[,:])\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"}]},"inline_builtin_storage_type":{"captures":{"1":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"2":{"name":"storage.type.cpp storage.type.built-in.cpp"},"3":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"4":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"}},"match":"\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)"},"inline_comment":{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))"},"invalid_comment_end":{"match":"\\\\*/","name":"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"},"label":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"entity.name.label.cpp"},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"punctuation.separator.label.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\b(?<!case|default)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:)"},"lambdas":{"begin":"(?:(?<=\\\\S|^)(?<![]\\"\\\\&)*>\\\\[\\\\w])|(?<=(?:\\\\W|^)return))\\\\s+{0,1}(\\\\[(?!\\\\[| *+\\"| *+\\\\d))((?:[^]\\\\[]|((?<!\\\\[)\\\\[(?!\\\\[)(?:[^]\\\\[]*+\\\\g<3>?)++]))*+)(](?!((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)[];=\\\\[]))","beginCaptures":{"1":{"name":"punctuation.definition.capture.begin.lambda.cpp"},"2":{"name":"meta.lambda.capture.cpp","patterns":[{"include":"#the_this_keyword"},{"captures":{"1":{"name":"variable.parameter.capture.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.separator.delimiter.comma.cpp"},"7":{"name":"keyword.operator.assignment.cpp"}},"match":"((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?=]|\\\\z|$)|(,))|(=))"},{"include":"#evaluation_context"}]},"3":{},"4":{"name":"punctuation.definition.capture.end.lambda.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=[;}])","endCaptures":{},"patterns":[{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.lambda.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.lambda.cpp"}},"name":"meta.function.definition.parameters.lambda.cpp","patterns":[{"include":"#function_parameter_context"}]},{"match":"(?<!\\\\w)(?:constexpr|consteval|mutable)(?!\\\\w)","name":"storage.modifier.lambda.$0.cpp"},{"begin":"->","beginCaptures":{"0":{"name":"punctuation.definition.lambda.return-type.cpp"}},"end":"(?=\\\\{)","endCaptures":{},"patterns":[{"include":"#comments"},{"match":"\\\\S+","name":"storage.type.return-type.lambda.cpp"}]},{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.lambda.cpp"}},"end":"}","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.lambda.cpp"}},"name":"meta.function.definition.body.lambda.cpp","patterns":[{"include":"$self"}]}]},"language_constants":{"match":"(?<!\\\\w)(?:nullptr|false|NULL|true)(?!\\\\w)","name":"constant.language.$0.cpp"},"line":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}line\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.line.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.line.cpp","patterns":[{"include":"#string_context"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"line_comment":{"begin":"\\\\s*+(//)","beginCaptures":{"1":{"name":"punctuation.definition.comment.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"comment.line.double-slash.cpp","patterns":[{"include":"#line_continuation_character"}]},"line_continuation_character":{"match":"\\\\\\\\\\\\n","name":"constant.character.escape.line-continuation.cpp"},"macro":{"begin":"^(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}define)\\\\b\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.control.directive.define.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.definition.directive.cpp"},"7":{"name":"entity.name.function.preprocessor.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.macro.cpp","patterns":[{"captures":{"1":{"name":"punctuation.definition.parameters.begin.preprocessor.cpp"},"2":{"name":"meta.function.preprocessor.parameters.cpp","patterns":[{"captures":{"1":{"name":"variable.parameter.preprocessor.cpp"}},"match":"(?<=[(,])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}"},{"match":",","name":"punctuation.separator.parameters.cpp"},{"match":"\\\\.\\\\.\\\\.","name":"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"}]},"3":{"name":"punctuation.definition.parameters.end.preprocessor.cpp"}},"match":"\\\\G\\\\s+{0,1}(\\\\()([^(]*)(\\\\))"},{"include":"#macro_context"},{"include":"#macro_argument"}]},"macro_argument":{"match":"##?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"variable.other.macro.argument.cpp"},"macro_context":{"patterns":[{"include":"source.cpp.embedded.macro"}]},"macro_name":{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.function.preprocessor.cpp"},"member_access":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"variable.language.this.cpp"},"4":{"name":"variable.other.object.access.cpp"},"5":{"name":"punctuation.separator.dot-access.cpp"},"6":{"name":"punctuation.separator.pointer-access.cpp"},"7":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"8":{"name":"variable.other.property.cpp"}},"match":"(?:(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}\\\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\\\W)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?!\\\\())"},"memory_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp"},"4":{"name":"keyword.operator.delete.array.cpp"},"5":{"name":"keyword.operator.delete.array.bracket.cpp"},"6":{"name":"keyword.operator.delete.cpp"},"7":{"name":"keyword.operator.new.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:(?:(delete)\\\\s+{0,1}(\\\\[])|(delete))|(new))(?!\\\\w))"},"method_access":{"begin":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+{0,1}(?:\\\\.\\\\*?|->\\\\*?)\\\\s+{0,1})*)\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"},"9":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?<=\\\\.\\\\*?|->\\\\*??)\\\\s+{0,1}(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}},"match":"(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*|(?<=[])]))\\\\s+{0,1}))(?:(\\\\.\\\\*?)|(->\\\\*?))"},{"include":"#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"misc_keywords":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.other.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:constinit|requires|typedef|concept|export|module)(?!\\\\w))"},"ms_attributes":{"begin":"__declspec\\\\(","beginCaptures":{"0":{"name":"punctuation.section.attribute.begin.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.attribute.end.cpp"}},"name":"support.other.attribute.cpp","patterns":[{"include":"#attributes_context"},{"begin":"\\\\(","beginCaptures":{},"end":"\\\\)","endCaptures":{},"patterns":[{"include":"#attributes_context"},{"include":"#string_context"},{"include":"#ever_present_context"}]},{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.namespace.cpp"}},"match":"(using)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":",","name":"punctuation.separator.attribute.cpp"},{"match":":","name":"punctuation.accessor.attribute.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(?=::)","name":"entity.name.namespace.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.other.attribute.$0.cpp"},{"include":"#number_literal"},{"include":"#ever_present_context"}]},"namespace_alias":{"captures":{"1":{"name":"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"},"2":{"name":"entity.name.namespace.alias.cpp"},"3":{"name":"keyword.operator.assignment.cpp"},"4":{"name":"meta.declaration.namespace.alias.value.cpp"},"5":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"6":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"name":"entity.name.namespace.cpp"},"10":{"name":"punctuation.terminator.statement.cpp"}},"match":"(?<!\\\\w)(namespace)\\\\s+((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(=)\\\\s+{0,1}(((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<8>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(;)|\\\\n))","name":"meta.declaration.namespace.alias.cpp"},"namespace_block":{"begin":"((?<!\\\\w)namespace(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.namespace.cpp"},"1":{"name":"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.namespace.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.namespace.cpp"}},"name":"meta.head.namespace.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#attributes_context"},{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.namespace.cpp"},"6":{"name":"punctuation.separator.scope-resolution.namespace.block.cpp"},"7":{"name":"storage.modifier.inline.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<4>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)\\\\s+{0,1}((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s+{0,1}(?:(::)\\\\s+{0,1}(inline))?"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.namespace.cpp"}},"name":"meta.body.namespace.cpp","patterns":[{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.namespace.cpp","patterns":[{"include":"$self"}]}]},"noexcept_operator":{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"number_literal":{"captures":{"0":{"patterns":[{"begin":"(?=.)","beginCaptures":{},"end":"$","endCaptures":{},"patterns":[{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"constant.numeric.hexadecimal.cpp"},"5":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"6":{"name":"punctuation.separator.constant.numeric.cpp"},"7":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"8":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"9":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"10":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"11":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"12":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?((?<=\\\\h)\\\\.|\\\\.(?=\\\\h))(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?((?:\\\\w(?<![Pp\\\\h])\\\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"constant.numeric.decimal.point.cpp"},"4":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"5":{"name":"punctuation.separator.constant.numeric.cpp"},"6":{"name":"keyword.other.unit.exponent.decimal.cpp"},"7":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"8":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"9":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"10":{"name":"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"},"11":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?((?<=[0-9])\\\\.|\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)?(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?([FLfl](?!\\\\w))?((?:\\\\w(?<![0-9Ee])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.binary.cpp"},"2":{"name":"constant.numeric.binary.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Bb])([01](?:[01]|((?<=\\\\h)'(?=\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.octal.cpp"},"2":{"name":"constant.numeric.octal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"5":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0)((?:[0-7]|((?<=\\\\h)'(?=\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9])\\\\w*)?)$"},{"captures":{"1":{"name":"keyword.other.unit.hexadecimal.cpp"},"2":{"name":"constant.numeric.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"3":{"name":"punctuation.separator.constant.numeric.cpp"},"4":{"name":"keyword.other.unit.exponent.hexadecimal.cpp"},"5":{"name":"keyword.operator.plus.exponent.hexadecimal.cpp"},"6":{"name":"keyword.operator.minus.exponent.hexadecimal.cpp"},"7":{"name":"constant.numeric.exponent.hexadecimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"8":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"9":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(0[Xx])(\\\\h(?:\\\\h|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Pp])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![Pp\\\\h])\\\\w*)?)$"},{"captures":{"1":{"name":"constant.numeric.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"2":{"name":"punctuation.separator.constant.numeric.cpp"},"3":{"name":"keyword.other.unit.exponent.decimal.cpp"},"4":{"name":"keyword.operator.plus.exponent.decimal.cpp"},"5":{"name":"keyword.operator.minus.exponent.decimal.cpp"},"6":{"name":"constant.numeric.exponent.decimal.cpp","patterns":[{"match":"(?<=\\\\h)'(?=\\\\h)","name":"punctuation.separator.constant.numeric.cpp"}]},"7":{"name":"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"},"8":{"name":"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"}},"match":"\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\h)'(?=\\\\h)))*)(?:(?<!')([Ee])(\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\h)'(?=\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\w))?((?:\\\\w(?<![0-9Ee])\\\\w*)?)$"},{"match":"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+","name":"invalid.illegal.constant.numeric.cpp"}]}]}},"match":"(?<!\\\\w)\\\\.?\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"},"operator_overload":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(operator)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<55>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(?:(?:(delete\\\\[]|delete|new\\\\[]|<=>|<<=|new|>>=|->\\\\*|/=|%=|&=|>=|\\\\|=|\\\\+\\\\+|--|\\\\(\\\\)|\\\\[]|->|\\\\+\\\\+|<<|>>|--|<=|\\\\^=|==|!=|&&|\\\\|\\\\||\\\\+=|-=|\\\\*=|[!%\\\\&*-\\\\-/<=>^|~])|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:\\\\[])?)))|(\\"\\")((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[(<])","beginCaptures":{"0":{"name":"meta.head.function.definition.special.operator-overload.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"include":"#inline_comment"}]},"12":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"13":{"name":"comment.block.cpp"},"14":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"15":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"16":{"patterns":[{"include":"#template_call_range"}]},"17":{},"18":{"patterns":[{"include":"#inline_comment"}]},"19":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"20":{"name":"comment.block.cpp"},"21":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"22":{},"23":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"patterns":[{"include":"#inline_comment"}]},"33":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"34":{"name":"comment.block.cpp"},"35":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"36":{"name":"storage.type.modifier.calling-convention.cpp"},"37":{"patterns":[{"include":"#inline_comment"}]},"38":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"39":{"name":"comment.block.cpp"},"40":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"41":{"patterns":[{"include":"#inline_comment"}]},"42":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"43":{"name":"comment.block.cpp"},"44":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"45":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator.cpp"},{"include":"#template_call_range"}]},"46":{"patterns":[{"include":"#template_call_range"}]},"47":{},"48":{"name":"keyword.other.operator.overload.cpp"},"49":{"patterns":[{"include":"#inline_comment"}]},"50":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"51":{"name":"comment.block.cpp"},"52":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"53":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.operator-overload.cpp"},{"include":"#template_call_range"}]},"54":{"patterns":[{"include":"#template_call_range"}]},"55":{},"56":{"name":"entity.name.operator.cpp"},"57":{"name":"entity.name.operator.type.cpp"},"58":{"patterns":[{"match":"\\\\*","name":"entity.name.operator.type.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"entity.name.operator.type.reference.cpp"}]},"59":{"patterns":[{"include":"#inline_comment"}]},"60":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"61":{"name":"comment.block.cpp"},"62":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"63":{"patterns":[{"include":"#inline_comment"}]},"64":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"65":{"name":"comment.block.cpp"},"66":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"67":{"patterns":[{"include":"#inline_comment"}]},"68":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"69":{"name":"comment.block.cpp"},"70":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"71":{"name":"entity.name.operator.type.array.cpp"},"72":{"name":"entity.name.operator.custom-literal.cpp"},"73":{"patterns":[{"include":"#inline_comment"}]},"74":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"75":{"name":"comment.block.cpp"},"76":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"77":{"name":"entity.name.operator.custom-literal.cpp"},"78":{"patterns":[{"include":"#inline_comment"}]},"79":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"80":{"name":"comment.block.cpp"},"81":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.function.definition.special.operator-overload.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.head.function.definition.special.operator-overload.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"}},"contentName":"meta.function.definition.parameters.special.operator-overload","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"}},"patterns":[{"include":"#function_parameter_context"},{"include":"#evaluation_context"}]},{"include":"#qualifiers_and_specifiers_post_parameters"},{"captures":{"1":{"name":"keyword.operator.assignment.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"keyword.other.default.function.cpp"},"7":{"name":"keyword.other.delete.function.cpp"}},"match":"(=)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(default)|(delete))"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"}},"name":"meta.body.function.definition.special.operator-overload.cpp","patterns":[{"include":"#function_body_context"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.function.definition.special.operator-overload.cpp","patterns":[{"include":"$self"}]}]},"operators":{"patterns":[{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"}},"contentName":"meta.arguments.operator.alignof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)alignas(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"}},"contentName":"meta.arguments.operator.alignas","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"((?<!\\\\w)noexcept(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"}},"contentName":"meta.arguments.operator.noexcept","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"--","name":"keyword.operator.decrement.cpp"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.cpp"},{"match":"(?:[-%*+]|(?<!\\\\()/)=","name":"keyword.operator.assignment.compound.cpp"},{"match":"(?:[\\\\&^]|<<|>>|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|[<>]","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\\\|\\\\|","name":"keyword.operator.logical.cpp"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.cpp"},{"include":"#assignment_operator"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"over_qualified_types":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(struct)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(enum)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(union)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(class)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"}]},"parameter":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#function_pointer_parameter"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"match":"=","name":"keyword.operator.assignment.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),=\\\\[])"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#ever_present_context"}]},"parameter_class":{"captures":{"1":{"name":"storage.type.class.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(class)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_enum":{"captures":{"1":{"name":"storage.type.enum.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(enum)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_or_maybe_value":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\w)","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"name":"meta.parameter.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#function_pointer_parameter"},{"include":"#memory_operators"},{"include":"#builtin_storage_type_initilizer"},{"include":"#curly_initializer"},{"include":"#decltype"},{"include":"#vararg_ellipses"},{"captures":{"1":{"patterns":[{"include":"#storage_types"}]},"2":{"name":"storage.modifier.specifier.parameter.cpp"},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"storage.type.primitive.cpp storage.type.built-in.primitive.cpp"},"12":{"name":"storage.type.cpp storage.type.built-in.cpp"},"13":{"name":"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"},"14":{"name":"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"},"15":{"name":"entity.name.type.parameter.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\s*+(?<!\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\w*_t))(?!\\\\w)|((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\b\\\\b(?<!(?:\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=])"},{"include":"#storage_types"},{"include":"#function_call"},{"include":"#scope_resolution_parameter_inner_generated"},{"match":"struct|class|union|enum","name":"storage.type.$0.cpp"},{"begin":"(?<==)","beginCaptures":{},"end":"(?=\\\\))|(,)","endCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"patterns":[{"include":"#evaluation_context"}]},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.parameter.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?<![(,:\\\\s])((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[),=\\\\[]|//|(?:\\\\n|$))"},{"include":"#attributes_context"},{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.begin.bracket.square.array.type.cpp"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.array.type.cpp"}},"name":"meta.bracket.square.array.cpp","patterns":[{"include":"#evaluation_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b(?<!(?:\\\\W|^)(?:struct|class|union|enum))","name":"entity.name.type.parameter.cpp"},{"include":"#template_call_range"},{"captures":{"0":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"7":{"name":"comment.block.cpp"},"8":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*]"},{"include":"#evaluation_context"},{"include":"#ever_present_context"}]},"parameter_struct":{"captures":{"1":{"name":"storage.type.struct.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(struct)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parameter_union":{"captures":{"1":{"name":"storage.type.union.parameter.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.parameter.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"name":"variable.other.object.declare.cpp"},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"19":{"patterns":[{"include":"#inline_comment"}]},"20":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\b(union)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))?)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:\\\\[(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[\\\\n),])"},"parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.cpp","patterns":[{"include":"#over_qualified_types"},{"match":"(?<!:):(?!:)","name":"punctuation.separator.colon.range-based.cpp"},{"include":"#evaluation_context"}]},"pragma":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\b","beginCaptures":{"0":{"name":"keyword.control.directive.pragma.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"}},"end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"name":"meta.preprocessor.pragma.cpp","patterns":[{"include":"#comments"},{"include":"#string_context"},{"match":"[$A-Z_a-z][-$\\\\w]*","name":"entity.other.attribute-name.pragma.preprocessor.cpp"},{"include":"#preprocessor_number_literal"},{"include":"#line_continuation_character"}]},"pragma_mark":{"captures":{"1":{"name":"keyword.control.directive.pragma.pragma-mark.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"name":"entity.name.tag.pragma-mark.cpp"}},"match":"^((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}pragma\\\\s+mark)\\\\s+(.*)","name":"meta.preprocessor.pragma.cpp"},"predefined_macros":{"patterns":[{"captures":{"1":{"name":"entity.name.other.preprocessor.macro.predefined.$1.cpp"}},"match":"\\\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\\\b"},{"match":"\\\\b__([A-Z_]+)__\\\\b","name":"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"}]},"preprocessor_conditional_context":{"patterns":[{"include":"#preprocessor_conditional_defined"},{"include":"#comments"},{"include":"#language_constants"},{"include":"#string_context"},{"include":"#d9bc4796b0b_preprocessor_number_literal"},{"include":"#operators"},{"include":"#predefined_macros"},{"include":"#macro_name"},{"include":"#line_continuation_character"}]},"preprocessor_conditional_defined":{"begin":"((?<!\\\\w)defined(?!\\\\w))(\\\\()","beginCaptures":{"1":{"name":"keyword.control.directive.conditional.defined.cpp"},"2":{"name":"punctuation.section.parens.control.defined.cpp"}},"end":"\\\\)|(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{"0":{"name":"punctuation.section.parens.control.defined.cpp"}},"patterns":[{"include":"#macro_name"}]},"preprocessor_conditional_parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.cpp"}},"name":"meta.parens.preprocessor.conditional.cpp"},"preprocessor_conditional_range":{"begin":"^((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}(if(?:n?def|))","beginCaptures":{"0":{"name":"keyword.control.directive.conditional.$6.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.definition.directive.cpp"},"6":{}},"contentName":"meta.preprocessor.conditional","end":"(?<!\\\\\\\\)(?:(?=\\\\n)|(?<=(?:^|[^\\\\\\\\])\\\\n)(?=$))","endCaptures":{},"patterns":[{"include":"#preprocessor_conditional_context"}]},"preprocessor_conditional_standalone":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"punctuation.definition.directive.cpp"}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}((?<!\\\\w)e(?:ndif|lse|lif)(?!\\\\w))","name":"keyword.control.directive.$4.cpp"},"preprocessor_context":{"patterns":[{"include":"#pragma_mark"},{"include":"#pragma"},{"include":"#include"},{"include":"#line"},{"include":"#diagnostic"},{"include":"#undef"},{"include":"#preprocessor_conditional_range"},{"include":"#single_line_macro"},{"include":"#macro"},{"include":"#preprocessor_conditional_standalone"},{"include":"#macro_argument"}]},"qualified_type":{"captures":{"0":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"1":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"7":{"patterns":[{"include":"#template_call_range"}]},"9":{"patterns":[{"include":"#inline_comment"}]},"10":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<11>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w])","name":"meta.qualified_type.cpp"},"qualifiers_and_specifiers_post_parameters":{"captures":{"1":{"patterns":[{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"storage.modifier.specifier.functional.post-parameters.$5.cpp"}},"match":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\w))"}]}},"match":"((?:(?:(?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\w))+)(?=\\\\s*[\\\\n\\\\r;={])"},"scope_resolution":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_function_definition_operator_overload":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_function_definition_operator_overload_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_function_definition_operator_overload_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.function.definition.operator-overload.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_alias":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_alias_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_alias_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.alias.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_block":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_block_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_block_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.block.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_namespace_using":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_namespace_using_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.namespace.using.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_parameter":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_parameter_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_parameter_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.parameter.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_call":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_call_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_call_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.call.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"scope_resolution_template_definition":{"captures":{"0":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"1":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"2":{"patterns":[{"include":"#template_call_range"}]}},"match":"(::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<3>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+"},"scope_resolution_template_definition_inner_generated":{"captures":{"1":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"}]},"2":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"},"3":{"patterns":[{"include":"#template_call_range"}]},"4":{},"5":{"name":"entity.name.scope-resolution.template.definition.cpp"},"6":{"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_range"}]},"7":{},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"}},"match":"((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)((?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))\\\\s*+(((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<7>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?(::)"},"semicolon":{"match":";","name":"punctuation.terminator.statement.cpp"},"simple_type":{"captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"8":{"patterns":[{"include":"#template_call_range"}]},"9":{},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{},"13":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<12>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?"},"single_line_macro":{"captures":{"0":{"patterns":[{"include":"#macro"},{"include":"#comments"}]},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"^(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)#define.*(?<!\\\\\\\\)(?:\\\\n|$)"},"sizeof_operator":{"begin":"((?<!\\\\w)sizeof(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"}},"contentName":"meta.arguments.operator.sizeof","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"sizeof_variadic_operator":{"begin":"\\\\b(sizeof\\\\.\\\\.\\\\.)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"}},"contentName":"meta.arguments.operator.sizeof.variadic","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"square_brackets":{"begin":"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\[)(?!])","beginCaptures":{"1":{"name":"variable.other.object"},"2":{"name":"punctuation.definition.begin.bracket.square"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square"}},"name":"meta.bracket.square.access","patterns":[{"include":"#evaluation_context"}]},"standard_declares":{"patterns":[{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)struct(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)union(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.enum.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.enum.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)enum(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},{"captures":{"1":{"name":"storage.type.class.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.class.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)class(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"}]},"static_assert":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)static_assert|_Static_assert(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.other.static_assert.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"punctuation.section.arguments.begin.bracket.round.static_assert.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.static_assert.cpp"}},"patterns":[{"begin":"(,)\\\\s+{0,1}(?=(?:L|u8?|U\\\\s+{0,1}\\")?)","beginCaptures":{"1":{"name":"punctuation.separator.delimiter.comma.cpp"}},"end":"(?=\\\\))","endCaptures":{},"name":"meta.static_assert.message.cpp","patterns":[{"include":"#string_context"}]},{"include":"#evaluation_context"}]},"std_space":{"captures":{"0":{"patterns":[{"include":"#inline_comment"}]},"1":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z"},"storage_specifiers":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.modifier.specifier.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\w))"},"storage_types":{"patterns":[{"include":"#storage_specifiers"},{"include":"#inline_builtin_storage_type"},{"include":"#decltype"},{"include":"#typename"}]},"string_context":{"patterns":[{"begin":"((?:u8??|[LU])?)\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.cpp","patterns":[{"match":"\\\\\\\\(?:u\\\\h{4}|U\\\\h{8})","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[\\"'?\\\\\\\\abfnrtv]","name":"constant.character.escape.cpp"},{"match":"\\\\\\\\[0-7]{1,3}","name":"constant.character.escape.cpp"},{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"#string_escapes_context_c"}]},{"begin":"(?<!\\\\h)((?:u8??|[LU])?)'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"(')(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end.cpp"},"2":{"name":"keyword.other.suffix.literal.user-defined.reserved.character.cpp"},"3":{"name":"keyword.other.suffix.literal.user-defined.character.cpp"}},"name":"string.quoted.single.cpp","patterns":[{"captures":{"1":{"name":"constant.character.escape.cpp"},"2":{"name":"invalid.illegal.unknown-escape.cpp"}},"match":"(\\\\\\\\x0*\\\\h{2}(?!\\\\h))|(\\\\\\\\x\\\\h*)"},{"include":"#string_escapes_context_c"},{"include":"#line_continuation_character"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:(?:_r|re)|regex)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:(?:_r|re)|regex)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"string.quoted.double.raw.regex.cpp","patterns":[{"include":"source.regexp.python"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:glsl|GLSL)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:glsl|GLSL)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.glsl.cpp","patterns":[{"include":"source.glsl"}]},{"begin":"((?:[LUu]8?)?R)\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cpp"},"1":{"name":"meta.encoding.cpp"}},"end":"\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\"","endCaptures":{"0":{"name":"punctuation.definition.string.end.cpp"}},"name":"meta.string.quoted.double.raw.sql.cpp","patterns":[{"include":"source.sql"}]},{"begin":"((?:u8??|[LU])?R)\\"(?:([^\\\\t ()\\\\\\\\]{0,16})|([^\\\\t ()\\\\\\\\]*))\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.string.begin"},"1":{"name":"meta.encoding"},"3":{"name":"invalid.illegal.delimiter-too-long"}},"end":"(\\\\)\\\\2(\\\\3)\\")(?:((?:[A-Za-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?","endCaptures":{"1":{"name":"punctuation.definition.string.end"},"2":{"name":"invalid.illegal.delimiter-too-long"},"3":{"name":"keyword.other.suffix.literal.user-defined.reserved.string.cpp"},"4":{"name":"keyword.other.suffix.literal.user-defined.string.cpp"}},"name":"string.quoted.double.raw"}]},"string_escapes_context_c":{"patterns":[{"match":"\\\\\\\\([\\"'?\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\d?|x\\\\h{0,2}|u\\\\h{0,4}|U\\\\h{0,8})","name":"constant.character.escape"},{"match":"\\\\\\\\.","name":"invalid.illegal.unknown-escape"},{"match":"(?!%')(?!%\\")%(\\\\d+\\\\$)?[- #'+0]*[,:;_]?((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?(\\\\.((-?\\\\d+)|\\\\*(-?\\\\d+\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]","name":"constant.other.placeholder"}]},"struct_block":{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"include":"$self"}]}]},"struct_declare":{"captures":{"1":{"name":"storage.type.struct.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.struct.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)struct(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"switch_conditional_parentheses":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.conditional.switch.cpp"}},"name":"meta.conditional.switch.cpp","patterns":[{"include":"#evaluation_context"}]},"switch_statement":{"begin":"((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)switch(?!\\\\w))","beginCaptures":{"0":{"name":"meta.head.switch.cpp"},"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"keyword.control.switch.cpp"}},"end":"(?<=}|%>|\\\\?\\\\?>)|(?=[];=>\\\\[])","endCaptures":{},"name":"meta.block.switch.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.switch.cpp"}},"name":"meta.head.switch.cpp","patterns":[{"include":"#switch_conditional_parentheses"},{"include":"$self"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.switch.cpp"}},"name":"meta.body.switch.cpp","patterns":[{"include":"#default_statement"},{"include":"#case_statement"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.switch.cpp","patterns":[{"include":"$self"}]}]},"template_argument_defaulted":{"captures":{"1":{"name":"storage.type.template.argument.$1.cpp"},"2":{"name":"entity.name.type.template.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}},"match":"(?<=[,<])\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(=)"},"template_call_context":{"patterns":[{"include":"#ever_present_context"},{"include":"#template_call_range"},{"include":"#storage_types"},{"include":"#language_constants"},{"include":"#scope_resolution_template_call_inner_generated"},{"include":"#operators"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma_in_template_argument"},{"include":"#qualified_type"}]},"template_call_innards":{"captures":{"0":{"patterns":[{"include":"#template_call_range"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!<)<(?!<)(?:(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<1>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+","name":"meta.template.call.cpp"},"template_call_range":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},"template_definition":{"begin":"(?<!\\\\w)(template)\\\\s+{0,1}(<)","beginCaptures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"name":"meta.template.definition.cpp","patterns":[{"begin":"(?<=\\\\w)\\\\s+{0,1}<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"patterns":[{"include":"#template_call_context"}]},{"include":"#template_definition_context"}]},"template_definition_argument":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"storage.type.template.argument.$3.cpp"},"4":{"patterns":[{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"storage.type.template.argument.$0.cpp"}]},"5":{"name":"entity.name.type.template.cpp"},"6":{"name":"storage.type.template.argument.$6.cpp"},"7":{"name":"punctuation.vararg-ellipses.template.definition.cpp"},"8":{"name":"entity.name.type.template.cpp"},"9":{"name":"storage.type.template.cpp"},"10":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"11":{"name":"storage.type.template.argument.$11.cpp"},"12":{"name":"entity.name.type.template.cpp"},"13":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"},"14":{"name":"storage.type.template.argument.$14.cpp"},"15":{"name":"entity.name.type.template.cpp"},"16":{"name":"keyword.operator.assignment.cpp"},"17":{"name":"punctuation.separator.delimiter.comma.template.argument.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s+)+)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}(\\\\.\\\\.\\\\.)\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))|(?<!\\\\w)(template)\\\\s+{0,1}(<)\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(>)\\\\s+{0,1}(class|typename)(?:\\\\s+((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*))?)\\\\s+{0,1}(?:(=)\\\\s+{0,1}(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?(?:(,)|(?=>|$))"},"template_definition_context":{"patterns":[{"include":"#scope_resolution_template_definition_inner_generated"},{"include":"#template_definition_argument"},{"include":"#template_argument_defaulted"},{"include":"#template_call_innards"},{"include":"#evaluation_context"}]},"template_explicit_instantiation":{"captures":{"1":{"name":"storage.modifier.specifier.extern.cpp"},"2":{"name":"storage.type.template.cpp"}},"match":"(?<!\\\\w)(?:(extern)\\\\s+)?(template)\\\\s+","name":"meta.template.explicit-instantiation.cpp"},"template_isolated_definition":{"captures":{"1":{"name":"storage.type.template.cpp"},"2":{"name":"punctuation.section.angle-brackets.begin.template.definition.cpp"},"3":{"name":"meta.template.definition.cpp","patterns":[{"include":"#template_definition_context"}]},"4":{"name":"punctuation.section.angle-brackets.end.template.definition.cpp"}},"match":"(?<!\\\\w)(template)\\\\s+{0,1}(<)(.*)(>)\\\\s+{0,1}$"},"ternary_operator":{"applyEndPatternLast":1,"begin":"\\\\?","beginCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"end":":","endCaptures":{"0":{"name":"keyword.operator.ternary.cpp"}},"patterns":[{"include":"#ever_present_context"},{"include":"#string_context"},{"include":"#number_literal"},{"include":"#method_access"},{"include":"#member_access"},{"include":"#predefined_macros"},{"include":"#operators"},{"include":"#memory_operators"},{"include":"#wordlike_operators"},{"include":"#type_casting_operators"},{"include":"#control_flow_keywords"},{"include":"#exception_keywords"},{"include":"#the_this_keyword"},{"include":"#language_constants"},{"include":"#builtin_storage_type_initilizer"},{"include":"#qualifiers_and_specifiers_post_parameters"},{"include":"#functional_specifiers_pre_parameters"},{"include":"#storage_types"},{"include":"#lambdas"},{"include":"#attributes_context"},{"include":"#parentheses"},{"include":"#function_call"},{"include":"#scope_resolution_inner_generated"},{"include":"#square_brackets"},{"include":"#semicolon"},{"include":"#comma"}]},"the_this_keyword":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"variable.language.this.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)this(?!\\\\w))"},"type_alias":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"entity.name.type.cpp"},"3":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"4":{"name":"keyword.operator.assignment.cpp"},"5":{"name":"keyword.other.typename.cpp"},"6":{"patterns":[{"include":"#storage_specifiers"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"9":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"14":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"15":{"patterns":[{"include":"#template_call_range"}]},"17":{"patterns":[{"include":"#inline_comment"}]},"18":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"20":{"name":"meta.declaration.type.alias.value.unknown.cpp","patterns":[{"include":"#evaluation_context"}]},"21":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"22":{"patterns":[{"include":"#inline_comment"}]},"23":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"26":{"patterns":[{"include":"#inline_comment"}]},"27":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"28":{"name":"punctuation.definition.begin.bracket.square.cpp"},"29":{"patterns":[{"include":"#evaluation_context"}]},"30":{"name":"punctuation.definition.end.bracket.square.cpp"},"31":{"name":"punctuation.terminator.statement.cpp"}},"match":"(using)\\\\s+(?!namespace)((?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)\\\\s+{0,1}((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?\\\\s+{0,1}(=)\\\\s+{0,1}((?:typename)?)\\\\s+{0,1}((?:(?:((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\w)\\\\s+)+)?(?:(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<19>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<19>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))|(.*(?<!;)))(?:((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})?\\\\s+{0,1}(?:(;)|\\\\n)","name":"meta.declaration.type.alias.cpp"},"type_casting_operators":{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"3":{"name":"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"}},"match":"(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:reinterpret|dynamic|static|const)_cast(?!\\\\w))"},"typedef_class":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)class(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)class(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.class.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.class.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.class.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.class.cpp"}},"name":"meta.head.class.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.class.cpp"}},"name":"meta.body.class.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.class.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_function_pointer":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=.*\\\\(\\\\*\\\\s*(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\s*\\\\))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<18>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()(\\\\*)\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*)?)\\\\s+{0,1}(?:(\\\\[)(\\\\w*)(])\\\\s+{0,1})*(\\\\))\\\\s+{0,1}(\\\\()","beginCaptures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"2":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"3":{"patterns":[{"include":"#inline_comment"}]},"4":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"5":{"name":"comment.block.cpp"},"6":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"12":{"patterns":[{"include":"#template_call_range"}]},"13":{},"14":{"patterns":[{"include":"#inline_comment"}]},"15":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"16":{"name":"comment.block.cpp"},"17":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"18":{},"19":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"20":{"patterns":[{"include":"#inline_comment"}]},"21":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"22":{"name":"comment.block.cpp"},"23":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"24":{"patterns":[{"include":"#inline_comment"}]},"25":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"26":{"name":"comment.block.cpp"},"27":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"28":{"patterns":[{"include":"#inline_comment"}]},"29":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"30":{"name":"comment.block.cpp"},"31":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"32":{"name":"punctuation.section.parens.begin.bracket.round.function.pointer.cpp"},"33":{"name":"punctuation.definition.function.pointer.dereference.cpp"},"34":{"name":"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"},"35":{"name":"punctuation.definition.begin.bracket.square.cpp"},"36":{"patterns":[{"include":"#evaluation_context"}]},"37":{"name":"punctuation.definition.end.bracket.square.cpp"},"38":{"name":"punctuation.section.parens.end.bracket.round.function.pointer.cpp"},"39":{"name":"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"}},"end":"(\\\\))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=[\\\\n),;=>{])(?!\\\\()","endCaptures":{"1":{"name":"punctuation.section.parameters.end.bracket.round.function.pointer.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"patterns":[{"include":"#function_parameter_context"}]}]},"typedef_struct":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)struct(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)struct(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.struct.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.struct.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.struct.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.struct.cpp"}},"name":"meta.head.struct.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.struct.cpp"}},"name":"meta.body.struct.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.struct.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typedef_union":{"begin":"((?<!\\\\w)typedef(?!\\\\w))\\\\s+{0,1}(?=(?<!\\\\w)union(?!\\\\w))","beginCaptures":{"1":{"name":"keyword.other.typedef.cpp"}},"end":"(?<=;)","endCaptures":{},"patterns":[{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"captures":{"1":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"12":{"name":"comment.block.cpp"},"13":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"14":{"name":"entity.name.type.alias.cpp"}},"match":"(((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*]((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))"},{"match":","}]}]}]},"typeid_operator":{"begin":"((?<!\\\\w)typeid(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\()","beginCaptures":{"1":{"name":"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"}},"contentName":"meta.arguments.operator.typeid","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"typename":{"captures":{"1":{"name":"storage.modifier.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"patterns":[{"include":"#inline_comment"}]},"5":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?<!\\\\w)(?:struct|class|union|enum)(?!\\\\w)","name":"storage.type.$0.cpp"},{"include":"#attributes_context"},{"include":"#storage_types"},{"include":"#number_literal"},{"include":"#string_context"},{"include":"#comma"},{"include":"#scope_resolution_inner_generated"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.section.angle-brackets.begin.template.call.cpp"}},"end":">","endCaptures":{"0":{"name":"punctuation.section.angle-brackets.end.template.call.cpp"}},"name":"meta.template.call.cpp","patterns":[{"include":"#template_call_context"}]},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.type.cpp"}]},"7":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"},{"match":"(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)","name":"entity.name.scope-resolution.type.cpp"},{"include":"#template_call_range"}]},"13":{"patterns":[{"include":"#template_call_range"}]},"14":{},"15":{"patterns":[{"include":"#inline_comment"}]},"16":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"17":{}},"match":"((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?<!\\\\w)typename(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(\\\\s*+((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*(?:((?:::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<17>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*+)(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\b)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*\\\\b((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<17>|(?:[^\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\w]))"},"undef":{"captures":{"1":{"name":"keyword.control.directive.undef.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"punctuation.definition.directive.cpp"},"5":{"patterns":[{"include":"#inline_comment"}]},"6":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"7":{"name":"entity.name.function.preprocessor.cpp"}},"match":"^((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(#)\\\\s+{0,1}undef)\\\\b(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))","name":"meta.preprocessor.undef.cpp"},"union_block":{"begin":"((?<!\\\\w)union(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:(?=\\\\{)|(?:((?:(?:(?:\\\\[\\\\[.*?]]|__attribute(?:__)?\\\\s*\\\\(\\\\s*\\\\(.*?\\\\)\\\\s*\\\\))|__declspec\\\\(.*?\\\\))|alignas\\\\(.*?\\\\))(?!\\\\)))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?((?:(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*+)?(?:((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(:(?!:)))?)","beginCaptures":{"0":{"name":"meta.head.union.cpp"},"1":{"name":"storage.type.$1.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"#attributes_context"},{"include":"#number_literal"}]},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"11":{"patterns":[{"captures":{"1":{"name":"storage.type.modifier.final.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)"},{"captures":{"1":{"name":"entity.name.type.union.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"storage.type.modifier.final.cpp"},"7":{"patterns":[{"include":"#inline_comment"}]},"8":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"9":{"name":"comment.block.cpp"},"10":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?:((?<!\\\\w)final(?!\\\\w))((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))?(?=[:{]|$)"},{"match":"DLLEXPORT","name":"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"},{"match":"(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*","name":"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"}]},"12":{"patterns":[{"include":"#inline_comment"}]},"13":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"14":{"name":"comment.block.cpp"},"15":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"16":{"patterns":[{"include":"#inline_comment"}]},"17":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"18":{"name":"comment.block.cpp"},"19":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"20":{"name":"punctuation.separator.colon.inheritance.cpp"}},"end":"(?:(?<=}|%>|\\\\?\\\\?>)\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\[])","endCaptures":{"1":{"name":"punctuation.terminator.statement.cpp"},"2":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.block.union.cpp","patterns":[{"begin":"\\\\G ?","beginCaptures":{},"end":"\\\\{|<%|\\\\?\\\\?<|(?=;)","endCaptures":{"0":{"name":"punctuation.section.block.begin.bracket.curly.union.cpp"}},"name":"meta.head.union.cpp","patterns":[{"include":"#ever_present_context"},{"include":"#inheritance_context"},{"include":"#template_call_range"}]},{"begin":"(?<=\\\\{|<%|\\\\?\\\\?<)","beginCaptures":{},"end":"}|%>|\\\\?\\\\?>","endCaptures":{"0":{"name":"punctuation.section.block.end.bracket.curly.union.cpp"}},"name":"meta.body.union.cpp","patterns":[{"include":"#function_pointer"},{"include":"#static_assert"},{"include":"#constructor_inline"},{"include":"#destructor_inline"},{"include":"$self"}]},{"begin":"(?<=}|%>|\\\\?\\\\?>)\\\\s*","beginCaptures":{},"end":"\\\\s*(?=;)","endCaptures":{},"name":"meta.tail.union.cpp","patterns":[{"include":"$self"}]}]},"union_declare":{"captures":{"1":{"name":"storage.type.union.declare.cpp"},"2":{"patterns":[{"include":"#inline_comment"}]},"3":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"4":{"name":"entity.name.type.union.cpp"},"5":{"patterns":[{"match":"\\\\*","name":"storage.modifier.pointer.cpp"},{"captures":{"1":{"patterns":[{"include":"#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"(?:&((?:\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+)+|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)){2,}&","name":"invalid.illegal.reference-type.cpp"},{"match":"&","name":"storage.modifier.reference.cpp"}]},"6":{"patterns":[{"include":"#inline_comment"}]},"7":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"8":{"patterns":[{"include":"#inline_comment"}]},"9":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"10":{"patterns":[{"include":"#inline_comment"}]},"11":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]},"12":{"name":"variable.other.object.declare.cpp"},"13":{"patterns":[{"include":"#inline_comment"}]},"14":{"patterns":[{"captures":{"1":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"2":{"name":"comment.block.cpp"},"3":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"}},"match":"\\\\s*+(/\\\\*)((?:[^*]++|\\\\*+(?!/))*+(\\\\*/))\\\\s*+"}]}},"match":"((?<!\\\\w)union(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))((((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)?(?:[\\\\&*](((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z))*[\\\\&*])?(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)\\\\b(?!override\\\\W|override\\\\$|final\\\\W|final\\\\$)((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(((?:\\\\s*+/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/\\\\s*+)+)|\\\\s++|(?<=\\\\W)|(?=\\\\W)|^|\\\\n?$|\\\\A|\\\\Z)(?=\\\\S)(?![:A-Za-{])"},"using_name":{"captures":{"1":{"name":"keyword.other.using.directive.cpp"}},"match":"(using)\\\\s+(?!namespace\\\\b)"},"using_namespace":{"begin":"(?<!\\\\w)(using)\\\\s+(namespace)\\\\s+((::)?(?:(?!\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\b)(?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w)\\\\s*+(((?<!<)<(?!<)(?:/\\\\*(?:[^*]++|\\\\*+(?!/))*+\\\\*/|\\"(?:[^\\"]*|\\\\\\\\\\")\\"|'(?:[^']*|\\\\\\\\')'|\\\\g<6>|(?:[^\\"'/<>]|/[^*])++)*>)\\\\s*+)?::)*\\\\s*+)?((?<!\\\\w)(?:[A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\(?:u\\\\h{4}|U\\\\h{8}))*(?!\\\\w))(?=[\\\\n;])","beginCaptures":{"1":{"name":"keyword.other.using.directive.cpp"},"2":{"name":"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"},"3":{"patterns":[{"include":"#scope_resolution_namespace_using_inner_generated"}]},"4":{"name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"},"5":{"patterns":[{"include":"#template_call_range"}]},"6":{},"7":{"name":"entity.name.namespace.cpp"}},"end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.cpp"}},"name":"meta.using-namespace.cpp"},"vararg_ellipses":{"match":"(?<!\\\\.)\\\\.\\\\.\\\\.(?!\\\\.)","name":"punctuation.vararg-ellipses.cpp"},"wordlike_operators":{"patterns":[{"match":"(?<!\\\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\\\w)","name":"keyword.operator.wordlike.cpp keyword.operator.$0.cpp"}]}},"scopeName":"source.cpp","embeddedLangs":["cpp-macro","regexp","glsl","sql"],"aliases":["c++"]}`));var o=[...i,...t,...n,...e,a];export{o as t};
|