c++-font-lock-keywords-3

c++-font-lock-keywords-3 is a variable defined in `cc-fonts.el'.
Its value is shown below.
  • This variable may be risky if used as a file-local variable.

Documentation:
Accurate normal font locking for C++ mode.
Like the variable `c++-font-lock-keywords-2' but detects declarations in a more
accurate way that works in most cases for arbitrary types without the
need for `c++-font-lock-extra-types'.

Value:

(("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:error\\|warning\\)@\\)\\)\\s +\\(.*\\)$" 4 font-lock-string-face t) ("\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(?:include\\)\\(\\s \\|[\n ]\\)*\\(\\(//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)\\(\\s \\|[\n ]\\)*\\)*\\(<[^>\n ]*>?\\)" (8 font-lock-string-face) (#[(limit) "\304\224\304\225Sf\305=\203' \306\n\211T\307\310$\210)\306\n\211T\307\311$\210)\2021 \312 \211T\313#\210)*\314\207" [end beg -pos- pos 8 62 put-text-property category c-<-as-paren-syntax c->-as-paren-syntax remove-text-properties (category nil) nil] 5])) (#[(limit) "\304\300!\305\306 \307#\203m\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\224\203`\214\315\316\224\316\225\317\320$\210\314\225b\210e }\210\321 \210\322 !\203\\\315\310\224\310\225\317\323$\210\310\225b\210\321 \210\324f\325=\203\\\324u\210\2026)\202i\315\316\224\316\225\317\323$\210*\202)\324\207" [parse-sexp-lookup-properties limit save-match-data-internal c-symbol-key boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *define\\(\\(\\s \\|[\n ]\\)\\|//[^\n ]*[\n ]\\|/\\*[^*\n ]*\\(\\*+[^*\n /][^*\n ]*\\)*\\*+/\\|\\\\[\n ]\\|\\s!\\S!*\\s!\\)+\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\((\\)\\|\\([^(]\\|$\\)\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 8 put-text-property 6 face font-lock-function-name-face c-forward-sws looking-at font-lock-variable-name-face nil 44] 5]) (#[(limit) "\305\300! \306=\203:\212\307 \210`)\310\311\n\312#\2039\313\224b\210\314\n!\204\313\225b\210\315 \316\216\317\320\224\320\225\321\f$\210*\202)\310\322\n\312#\203t\313\224b\210\314\n!\204:\313\225b\210\323\225b\210\315 \324\216\313\225\310\311\n\325#\203p\317\320\224\320\225\321\f$\210\202\\+\202:)\326\207" [parse-sexp-lookup-properties c-font-lock-context limit save-match-data-internal c-preprocessor-face-name boundp in-cpp-expr c-end-of-macro re-search-forward "\\(\\(?:defined\\)\\)\\([^[:alnum:]_$]\\|$\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 1 face "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *\\(\\(?:\\(?:el\\)?if\\)\\)\\([^[:alnum:]_$]\\|$\\)\\(\\\\\\(.\\|[\n ]\\)\\|[^\n ]\\)*" 3 #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] move nil] 5]) (#[(limit) "\304\300!\305\306 \307#\203,\310\224b\210\311 !\204\310\225b\210\312 \313\216\314\315\224\315\225\316 $\210*\202)\317\207" [parse-sexp-lookup-properties limit save-match-data-internal c-preprocessor-face-name boundp re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\(\\s *#\\s *[[:alnum:]_$]+\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property 3 face nil] 5]) (eval list #[(limit) "\302\303\304 \305#\211\203\306\224b\210\307 !\204\306\225b\210)\207" [res limit nil re-search-forward "\\(\\=\\|\\(\\=\\|[^\\]\\)[\n ]\\)\\s *#\\s *if\\(n\\)def\\>" t 0 c-skip-comments-and-strings] 4] 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) #[(limit) "\303\300!\304\305 \306#\203&\307\224b\210\310 !\204\307\225b\210\311 \312\216\313 \210*\202)\314\207" [parse-sexp-lookup-properties limit save-match-data-internal boundp re-search-forward ".\\(\\s\"\\|\\s|\\)" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-invalid-string nil] 4] (eval list "\\<\\(\\(?:nullptr\\)\\)\\>" 1 c-constant-face-name) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspec\\)\\|a\\(?:lignof\\|nd\\(?:_eq\\)?\\|sm\\|uto\\)\\|b\\(?:it\\(?:and\\|or\\)\\|reak\\)\\|c\\(?:a\\(?:se\\|tch\\)\\|lass\\|o\\(?:mpl\\|n\\(?:st\\(?:_cast\\|expr\\)?\\|tinue\\)\\)\\)\\|d\\(?:e\\(?:cltype\\|fault\\|lete\\)\\|o\\|ynamic_cast\\)\\|e\\(?:lse\\|num\\|x\\(?:plicit\\|tern\\)\\)\\|f\\(?:inal\\|or\\|riend\\)\\|goto\\|i\\(?:f\\|nline\\)\\|mutable\\|n\\(?:amespace\\|ew\\|o\\(?:except\\|t\\(?:_eq\\)?\\)\\)\\|o\\(?:perator\\|r\\(?:_eq\\)?\\|verride\\)\\|p\\(?:r\\(?:ivate\\|otected\\)\\|ublic\\)\\|re\\(?:gister\\|interpret_cast\\|turn\\)\\|s\\(?:izeof\\|t\\(?:atic\\(?:_cast\\)?\\|ruct\\)\\|witch\\)\\|t\\(?:emplate\\|h\\(?:is\\|r\\(?:ead_local\\|ow\\)\\)\\|ry\\|ype\\(?:def\\|id\\|name\\|of\\)\\)\\|u\\(?:nion\\|sing\\)\\|v\\(?:irtual\\|olatile\\)\\|while\\|xor\\(?:_eq\\)?\\)\\)\\([^[:alnum:]_$]\\|$\\)" 1 font-lock-keyword-face) (#[(limit) "\302\303\304#\205*\305\224b\210\306!\204\307\310\224\311\"\204#\312\310\224\310\225\311 $\210\313\225b\210\202\207" [limit c-reference-face-name re-search-forward "\\(\\<\\([[:alpha:]_][[:alnum:]_$]*\\)\\(\\s \\|[\n ]\\)*\\(\\(?:::\\)\\)\\(\\s \\|[\n ]\\)*\\)\\([[:alpha:]_]\\|\\([*~]\\)\\)" t 0 c-skip-comments-and-strings get-text-property 2 face put-text-property 1] 5]) (eval list "\\(!\\)[^=]" 1 c-negation-char-face-name) c-font-lock-complex-decl-prepare c-font-lock-declarations c-font-lock-enclosing-decls c-font-lock-<>-arglists ("\\<\\(\\(?:bool\\|char\\(?:\\(?:16\\|32\\)_t\\)?\\|double\\|float\\|int\\|long\\|s\\(?:hort\\|igned\\)\\|unsigned\\|void\\|wchar_t\\)\\)\\>" 1 'font-lock-type-face) (#[(limit) "\306\307\306\310\300!\214`\f}\210\311\312\f\306#\205O\313\f!\204\314 \210\315 !\2043\316=\2037\315\317!\2037\320\321!\210\322 \203\307f\323=\203\307u\210\314 \210\322 \210\202)\324 \210,\207" [parse-sexp-lookup-properties c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers limit c-prefix-spec-kwds-re t nil boundp re-search-forward "\\<\\(\\(?:class\\|enum\\|struct\\|typename\\|union\\)\\)\\>" c-skip-comments-and-strings c-forward-sws looking-at java-mode "@[A-Za-z0-9]+" c-forward-keyword-clause 1 c-forward-type 61 c-fontify-recorded-types-and-refs c-buffer-is-cc-mode] 5]) ("\\" (c-font-lock-c++-new)) c-font-lock-enum-tail (#[(limit) "\304\300!\305\306 \307#\203F\310\224b\210\311 !\204\310\225b\210\312 \313\216\310\225b\210`S\314 \211T\315\316$\210)\317 \210*\312 \320\216\321 \307\322#\210*\310\225b\210\202)\322\207" [parse-sexp-lookup-properties limit save-match-data-internal -pos- boundp re-search-forward "\\<\\(\\(?:enum\\)\\)\\>[^][{}();/#=]*{" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] put-text-property c-type c-decl-id-start c-forward-sws #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] c-font-lock-declarators nil] 5]) (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum:]_$]*\\)" (list 2 c-label-face-name nil t)) (#[(limit) "\306\301!\307\310!`\311!@\312=\203`\202\n)b\210\313\314 \315#\203R\316\224b\210\317 !\204\316\225b\210\320 \321\216\315\322\315\323\324!\210` V\203K b\210\325 \210-\202*\322\207" [BOD-limit parse-sexp-lookup-properties here limit save-match-data-internal c-promote-possible-types boundp c-determine-limit 1000 c-beginning-of-decl-1 same re-search-forward "\\<\\(\\(?:class\\|namespace\\|operator\\|struct\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs c-record-ref-identifiers c-record-type-identifiers] 4]) (#[(limit) "\306\300!\307\310 \311#\2039\312\224b\210\313 !\204\312\225b\210\314 \315\216\311\316\311\317\320!\210` V\2032 b\210\321 \210-\202)\316\207" [parse-sexp-lookup-properties limit save-match-data-internal c-promote-possible-types c-record-ref-identifiers c-record-type-identifiers boundp re-search-forward "\\<\\(\\(?:throw\\)\\)\\>" t 0 c-skip-comments-and-strings match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] nil c-forward-keyword-clause 1 c-fontify-recorded-types-and-refs] 4]))