├── .gitignore ├── LICENSE ├── README.md ├── after └── syntax │ ├── c.vim │ └── cpp.vim └── test ├── color.cpp └── color2.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Jon Häggblad 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | vim.cpp - additional vim c++ syntax highlighting 2 | ------------------------------------------------ 3 | 4 | This file contains additional syntax highlighting that I use for C++11/14/17 5 | development in Vim. Compared to the standard syntax highlighting for C++ it 6 | adds highlighting of (user defined) functions and the containers and types in 7 | the standard library / boost. 8 | 9 | Development is done at: http://github.com/octol/vim-cpp-enhanced-highlight 10 | 11 | ![Screenshot](http://www.haeggblad.com/vim/screenshot.png) 12 | 13 | Optional features 14 | ----------------- 15 | 16 | Highlighting of class scope is disabled by default. To enable set 17 | ```vim 18 | let g:cpp_class_scope_highlight = 1 19 | ``` 20 | 21 | Highlighting of member variables is disabled by default. To enable set 22 | ```vim 23 | let g:cpp_member_variable_highlight = 1 24 | ``` 25 | 26 | Highlighting of class names in declarations is disabled by default. To enable set 27 | ```vim 28 | let g:cpp_class_decl_highlight = 1 29 | ``` 30 | 31 | Highlighting of POSIX functions is disabled by default. To enable set 32 | ```vim 33 | let g:cpp_posix_standard = 1 34 | ``` 35 | 36 | There are two ways to highlight template functions. Either 37 | ```vim 38 | let g:cpp_experimental_simple_template_highlight = 1 39 | ``` 40 | which works in most cases, but can be a little slow on large files. 41 | Alternatively set 42 | ```vim 43 | let g:cpp_experimental_template_highlight = 1 44 | ``` 45 | which is a faster implementation but has some corner cases where it doesn't 46 | work. 47 | 48 | _Note: C++ template syntax is notoriously difficult to parse, so don't expect 49 | this feature to be perfect._ 50 | 51 | Highlighting of library concepts is enabled by 52 | ```vim 53 | let g:cpp_concepts_highlight = 1 54 | ``` 55 | This will highlight the keywords `concept` and `requires` as well as all named 56 | requirements (like `DefaultConstructible`) in the standard library. 57 | 58 | Highlighting of user defined functions can be disabled by 59 | ```vim 60 | let g:cpp_no_function_highlight = 1 61 | ``` 62 | 63 | Installation instructions 64 | ------------------------- 65 | Follow one of the sets of directions below and reload vim afterwards. 66 | 67 | #### Vundle 68 | Install using [vundle](https://github.com/gmarik/Vundle.vim) by adding 69 | ```vim 70 | Plugin 'octol/vim-cpp-enhanced-highlight' 71 | ``` 72 | to .vimrc and run `:PluginInstall`. 73 | 74 | 75 | #### Git submodule + Pathogen 76 | If you have [pathogen](https://github.com/tpope/vim-pathogen) installed, 77 | and you prefer to use git submodules, run 78 | ```sh 79 | cd ~/.vim 80 | git submodule add https://github.com/octol/vim-cpp-enhanced-highlight.git bundle/syntax/ 81 | ``` 82 | 83 | #### Manual installation 84 | If you don't have either Vundle or Pathogen installed, copy the cpp.vim file 85 | (optionally also c.vim) to .vim/after/syntax. 86 | ```sh 87 | git clone https://github.com/octol/vim-cpp-enhanced-highlight.git /tmp/vim-cpp-enhanced-highlight 88 | mkdir -p ~/.vim/after/syntax/ 89 | mv /tmp/vim-cpp-enhanced-highlight/after/syntax/cpp.vim ~/.vim/after/syntax/cpp.vim 90 | rm -rf /tmp/vim-cpp-enhanced-highlight 91 | ``` 92 | 93 | Issues 94 | ------ 95 | 96 | Vim tend to a have issues with flagging braces as errors, see for example 97 | https://github.com/vim-jp/vim-cpp/issues/16. A workaround is to set 98 | ```vim 99 | let c_no_curly_error=1 100 | ``` 101 | 102 | Background information 103 | ---------------------- 104 | 105 | - http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim 106 | - http://www.vim.org/scripts/script.php?script_id=4293 107 | - http://www.vim.org/scripts/script.php?script_id=2224 108 | - http://www.vim.org/scripts/script.php?script_id=1640 109 | - http://www.vim.org/scripts/script.php?script_id=3064 110 | 111 | Jon Haggblad 112 | 113 | Last update: 19 October 2016 114 | -------------------------------------------------------------------------------- /after/syntax/c.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: C Additions 3 | " Maintainer: Jon Haggblad 4 | " Contributor: Mikhail Wolfson 5 | " URL: http://www.haeggblad.com 6 | " Last Change: 6 Sep 2014 7 | " Version: 0.3 8 | " Changelog: 9 | " 0.3 - integration of aftersyntaxc.vim 10 | " 0.2 - Cleanup 11 | " 0.1 - initial version. 12 | " 13 | " Syntax highlighting for functions in C. 14 | " 15 | " Based on: 16 | " http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim 17 | 18 | " ----------------------------------------------------------------------------- 19 | " Highlight function names. 20 | " ----------------------------------------------------------------------------- 21 | if !exists('g:cpp_no_function_highlight') 22 | syn match cCustomParen transparent "(" contains=cParen contains=cCppParen 23 | syn match cCustomFunc "\w\+\s*(\@=" contains=cCustomParen 24 | hi def link cCustomFunc Function 25 | endif 26 | 27 | " ----------------------------------------------------------------------------- 28 | " Highlight member variable names. 29 | " ----------------------------------------------------------------------------- 30 | if exists('g:cpp_member_variable_highlight') && g:cpp_member_variable_highlight 31 | syn match cCustomDot "\." contained 32 | syn match cCustomPtr "->" contained 33 | syn match cCustomMemVar "\(\.\|->\)\h\w*" contains=cCustomDot,cCustomPtr 34 | hi def link cCustomMemVar Function 35 | endif 36 | 37 | " ----------------------------------------------------------------------------- 38 | " Highlight POSIX functions. 39 | " ----------------------------------------------------------------------------- 40 | if exists('g:cpp_posix_standard') && g:cpp_posix_standard 41 | syn keyword cPOSIXFunction socket accept bind connect getsockname 42 | syn keyword cPOSIXFunction listen recv recvfrom recvmsg 43 | syn keyword cPOSIXFunction send sendto sendmsg setsockopt socketpair 44 | syn keyword cPOSIXFunction htonl htons ntohl ntohs 45 | syn keyword cPOSIXFunction inet_ntop inet_pton getaddrinfo 46 | syn keyword cPOSIXFunction poll select pselect 47 | hi def link cPOSIXFunction Function 48 | endif 49 | 50 | " ----------------------------------------------------------------------------- 51 | " Source: aftersyntaxc.vim 52 | " ----------------------------------------------------------------------------- 53 | 54 | " Common ANSI-standard functions 55 | syn keyword cAnsiFunction MULU_ DIVU_ MODU_ MUL_ DIV_ MOD_ 56 | syn keyword cAnsiFunction main typeof 57 | syn keyword cAnsiFunction open close read write lseek dup dup2 58 | syn keyword cAnsiFunction fcntl ioctl 59 | syn keyword cAnsiFunction wctrans towctrans towupper 60 | syn keyword cAnsiFunction towlower wctype iswctype 61 | syn keyword cAnsiFunction iswxdigit iswupper iswspace 62 | syn keyword cAnsiFunction iswpunct iswprint iswlower 63 | syn keyword cAnsiFunction iswgraph iswdigit iswcntrl 64 | syn keyword cAnsiFunction iswalpha iswalnum wcsrtombs 65 | syn keyword cAnsiFunction mbsrtowcs wcrtomb mbrtowc 66 | syn keyword cAnsiFunction mbrlen mbsinit wctob 67 | syn keyword cAnsiFunction btowc wcsfxtime wcsftime 68 | syn keyword cAnsiFunction wmemset wmemmove wmemcpy 69 | syn keyword cAnsiFunction wmemcmp wmemchr wcstok 70 | syn keyword cAnsiFunction wcsstr wcsspn wcsrchr 71 | syn keyword cAnsiFunction wcspbrk wcslen wcscspn 72 | syn keyword cAnsiFunction wcschr wcsxfrm wcsncmp 73 | syn keyword cAnsiFunction wcscoll wcscmp wcsncat 74 | syn keyword cAnsiFunction wcscat wcsncpy wcscpy 75 | syn keyword cAnsiFunction wcstoull wcstoul wcstoll 76 | syn keyword cAnsiFunction wcstol wcstold wcstof 77 | syn keyword cAnsiFunction wcstod ungetwc putwchar 78 | syn keyword cAnsiFunction putwc getwchar getwc 79 | syn keyword cAnsiFunction fwide fputws fputwc 80 | syn keyword cAnsiFunction fgetws fgetwc wscanf 81 | syn keyword cAnsiFunction wprintf vwscanf vwprintf 82 | syn keyword cAnsiFunction vswscanf vswprintf vfwscanf 83 | syn keyword cAnsiFunction vfwprintf swscanf swprintf 84 | syn keyword cAnsiFunction fwscanf fwprintf zonetime 85 | syn keyword cAnsiFunction strfxtime strftime localtime 86 | syn keyword cAnsiFunction gmtime ctime asctime 87 | syn keyword cAnsiFunction time mkxtime mktime 88 | syn keyword cAnsiFunction difftime clock strlen 89 | syn keyword cAnsiFunction strerror memset strtok 90 | syn keyword cAnsiFunction strstr strspn strrchr 91 | syn keyword cAnsiFunction strpbrk strcspn strchr 92 | syn keyword cAnsiFunction memchr strxfrm strncmp 93 | syn keyword cAnsiFunction strcoll strcmp memcmp 94 | syn keyword cAnsiFunction strncat strcat strncpy 95 | syn keyword cAnsiFunction strcpy memmove memcpy 96 | syn keyword cAnsiFunction wcstombs mbstowcs wctomb 97 | syn keyword cAnsiFunction mbtowc mblen lldiv 98 | syn keyword cAnsiFunction ldiv div llabs 99 | syn keyword cAnsiFunction labs abs qsort 100 | "syn keyword cAnsiFunction bsearch system getenv 101 | syn keyword cAnsiFunction bsearch getenv 102 | syn keyword cAnsiFunction exit atexit abort 103 | syn keyword cAnsiFunction realloc malloc free 104 | syn keyword cAnsiFunction calloc srand rand 105 | syn keyword cAnsiFunction strtoull strtoul strtoll 106 | syn keyword cAnsiFunction strtol strtold strtof 107 | syn keyword cAnsiFunction strtod atoll atol 108 | syn keyword cAnsiFunction atoi atof perror 109 | syn keyword cAnsiFunction ferror feof clearerr 110 | syn keyword cAnsiFunction rewind ftell fsetpos 111 | syn keyword cAnsiFunction fseek fgetpos fwrite 112 | syn keyword cAnsiFunction fread ungetc puts 113 | syn keyword cAnsiFunction putchar putc gets 114 | syn keyword cAnsiFunction getchar getc fputs 115 | syn keyword cAnsiFunction fputc fgets fgetc 116 | syn keyword cAnsiFunction vsscanf vsprintf vsnprintf 117 | syn keyword cAnsiFunction vscanf vprintf vfscanf 118 | syn keyword cAnsiFunction vfprintf sscanf sprintf 119 | syn keyword cAnsiFunction snprintf scanf printf 120 | syn keyword cAnsiFunction fscanf fprintf setvbuf 121 | syn keyword cAnsiFunction setbuf freopen fopen 122 | syn keyword cAnsiFunction fflush fclose tmpnam 123 | syn keyword cAnsiFunction tmpfile rename remove 124 | syn keyword cAnsiFunction offsetof va_start va_end 125 | syn keyword cAnsiFunction va_copy va_arg raise signal 126 | syn keyword cAnsiFunction longjmp setjmp isunordered 127 | syn keyword cAnsiFunction islessgreater islessequal isless 128 | syn keyword cAnsiFunction isgreaterequal isgreater fmal 129 | syn keyword cAnsiFunction fmaf fma fminl 130 | syn keyword cAnsiFunction fminf fmin fmaxl 131 | syn keyword cAnsiFunction fmaxf fmax fdiml 132 | syn keyword cAnsiFunction fdimf fdim nextafterxl 133 | syn keyword cAnsiFunction nextafterxf nextafterx nextafterl 134 | syn keyword cAnsiFunction nextafterf nextafter nanl 135 | syn keyword cAnsiFunction nanf nan copysignl 136 | syn keyword cAnsiFunction copysignf copysign remquol 137 | syn keyword cAnsiFunction remquof remquo remainderl 138 | syn keyword cAnsiFunction remainderf remainder fmodl 139 | syn keyword cAnsiFunction fmodf fmod truncl 140 | syn keyword cAnsiFunction truncf trunc llroundl 141 | syn keyword cAnsiFunction llroundf llround lroundl 142 | syn keyword cAnsiFunction lroundf lround roundl 143 | syn keyword cAnsiFunction roundf round llrintl 144 | syn keyword cAnsiFunction llrintf llrint lrintl 145 | syn keyword cAnsiFunction lrintf lrint rintl 146 | syn keyword cAnsiFunction rintf rint nearbyintl 147 | syn keyword cAnsiFunction nearbyintf nearbyint floorl 148 | syn keyword cAnsiFunction floorf floor ceill 149 | syn keyword cAnsiFunction ceilf ceil tgammal 150 | syn keyword cAnsiFunction tgammaf tgamma lgammal 151 | syn keyword cAnsiFunction lgammaf lgamma erfcl 152 | syn keyword cAnsiFunction erfcf erfc erfl 153 | syn keyword cAnsiFunction erff erf sqrtl 154 | syn keyword cAnsiFunction sqrtf sqrt powl 155 | syn keyword cAnsiFunction powf pow hypotl 156 | syn keyword cAnsiFunction hypotf hypot fabsl 157 | syn keyword cAnsiFunction fabsf fabs cbrtl 158 | syn keyword cAnsiFunction cbrtf cbrt scalblnl 159 | syn keyword cAnsiFunction scalblnf scalbln scalbnl 160 | syn keyword cAnsiFunction scalbnf scalbn modfl 161 | syn keyword cAnsiFunction modff modf logbl 162 | syn keyword cAnsiFunction logbf logb log2l 163 | syn keyword cAnsiFunction log2f log2 log1pl 164 | syn keyword cAnsiFunction log1pf log1p log10l 165 | syn keyword cAnsiFunction log10f log10 logl 166 | syn keyword cAnsiFunction logf log ldexpl 167 | syn keyword cAnsiFunction ldexpf ldexp ilogbl 168 | syn keyword cAnsiFunction ilogbf ilogb frexpl 169 | syn keyword cAnsiFunction frexpf frexp expm1l 170 | syn keyword cAnsiFunction expm1f expm1 exp2l 171 | syn keyword cAnsiFunction exp2f exp2 expl 172 | syn keyword cAnsiFunction expf exp tanhl 173 | syn keyword cAnsiFunction tanhf tanh sinhl 174 | syn keyword cAnsiFunction sinhf sinh coshl 175 | syn keyword cAnsiFunction coshf cosh atanhl 176 | syn keyword cAnsiFunction atanhf atanh asinhl 177 | syn keyword cAnsiFunction asinhf asinh acoshl 178 | syn keyword cAnsiFunction acoshf acosh tanl 179 | syn keyword cAnsiFunction tanf tan sinl 180 | syn keyword cAnsiFunction sinf sin cosl 181 | syn keyword cAnsiFunction cosf cos atan2l 182 | syn keyword cAnsiFunction atan2f atan2 atanl 183 | syn keyword cAnsiFunction atanf atan asinl 184 | syn keyword cAnsiFunction asinf asin acosl 185 | syn keyword cAnsiFunction acosf acos signbit 186 | syn keyword cAnsiFunction isnormal isnan isinf 187 | syn keyword cAnsiFunction isfinite fpclassify localeconv 188 | syn keyword cAnsiFunction setlocale wcstoumax wcstoimax 189 | syn keyword cAnsiFunction strtoumax strtoimax feupdateenv 190 | syn keyword cAnsiFunction fesetenv feholdexcept fegetenv 191 | syn keyword cAnsiFunction fesetround fegetround fetestexcept 192 | syn keyword cAnsiFunction fesetexceptflag feraiseexcept fegetexceptflag 193 | syn keyword cAnsiFunction feclearexcept toupper tolower 194 | syn keyword cAnsiFunction isxdigit isupper isspace 195 | syn keyword cAnsiFunction ispunct isprint islower 196 | syn keyword cAnsiFunction isgraph isdigit iscntrl 197 | syn keyword cAnsiFunction isalpha isalnum creall 198 | syn keyword cAnsiFunction crealf creal cprojl 199 | syn keyword cAnsiFunction cprojf cproj conjl 200 | syn keyword cAnsiFunction conjf conj cimagl 201 | syn keyword cAnsiFunction cimagf cimag cargl 202 | syn keyword cAnsiFunction cargf carg csqrtl 203 | syn keyword cAnsiFunction csqrtf csqrt cpowl 204 | syn keyword cAnsiFunction cpowf cpow cabsl 205 | syn keyword cAnsiFunction cabsf cabs clogl 206 | syn keyword cAnsiFunction clogf clog cexpl 207 | syn keyword cAnsiFunction cexpf cexp ctanhl 208 | syn keyword cAnsiFunction ctanhf ctanh csinhl 209 | syn keyword cAnsiFunction csinhf csinh ccoshl 210 | syn keyword cAnsiFunction ccoshf ccosh catanhl 211 | syn keyword cAnsiFunction catanhf catanh casinhl 212 | syn keyword cAnsiFunction casinhf casinh cacoshl 213 | syn keyword cAnsiFunction cacoshf cacosh ctanl 214 | syn keyword cAnsiFunction ctanf ctan csinl 215 | syn keyword cAnsiFunction csinf csin ccosl 216 | syn keyword cAnsiFunction ccosf ccos catanl 217 | syn keyword cAnsiFunction catanf catan casinl 218 | syn keyword cAnsiFunction casinf casin cacosl 219 | syn keyword cAnsiFunction cacosf cacos assert 220 | syn keyword cAnsiFunction UINTMAX_C INTMAX_C UINT64_C 221 | syn keyword cAnsiFunction UINT32_C UINT16_C UINT8_C 222 | syn keyword cAnsiFunction INT64_C INT32_C INT16_C INT8_C 223 | 224 | " Common ANSI-standard Names 225 | syn keyword cAnsiName PRId8 PRIi16 PRIo32 PRIu64 226 | syn keyword cAnsiName PRId16 PRIi32 PRIo64 PRIuLEAST8 227 | syn keyword cAnsiName PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16 228 | syn keyword cAnsiName PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32 229 | syn keyword cAnsiName PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64 230 | syn keyword cAnsiName PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8 231 | syn keyword cAnsiName PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16 232 | syn keyword cAnsiName PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32 233 | syn keyword cAnsiName PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64 234 | syn keyword cAnsiName PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX 235 | syn keyword cAnsiName PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR 236 | syn keyword cAnsiName PRIdFAST64 PRIiMAX PRIoPTR PRIx8 237 | syn keyword cAnsiName PRIdMAX PRIiPTR PRIu8 PRIx16 238 | syn keyword cAnsiName PRIdPTR PRIo8 PRIu16 PRIx32 239 | syn keyword cAnsiName PRIi8 PRIo16 PRIu32 PRIx64 240 | 241 | syn keyword cAnsiName PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32 242 | syn keyword cAnsiName PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64 243 | syn keyword cAnsiName PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8 244 | syn keyword cAnsiName PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16 245 | syn keyword cAnsiName PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32 246 | syn keyword cAnsiName PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64 247 | syn keyword cAnsiName PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX 248 | syn keyword cAnsiName PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR 249 | syn keyword cAnsiName PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8 250 | syn keyword cAnsiName PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16 251 | syn keyword cAnsiName PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32 252 | syn keyword cAnsiName PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64 253 | syn keyword cAnsiName PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8 254 | syn keyword cAnsiName PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16 255 | syn keyword cAnsiName PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32 256 | syn keyword cAnsiName PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64 257 | syn keyword cAnsiName PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8 258 | syn keyword cAnsiName PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16 259 | syn keyword cAnsiName PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32 260 | syn keyword cAnsiName PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64 261 | syn keyword cAnsiName PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX 262 | syn keyword cAnsiName PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR 263 | syn keyword cAnsiName PRIXMAX SCNiFAST8 SCNuLEAST8 264 | syn keyword cAnsiName PRIXPTR SCNiFAST16 SCNuLEAST16 265 | 266 | syn keyword cAnsiName errno environ 267 | 268 | syn keyword cAnsiName STDC CX_LIMITED_RANGE 269 | syn keyword cAnsiName STDC FENV_ACCESS 270 | syn keyword cAnsiName STDC FP_CONTRACT 271 | 272 | syn keyword cAnsiName and bitor not_eq xor 273 | syn keyword cAnsiName and_eq compl or xor_eq 274 | syn keyword cAnsiName bitand not or_eq 275 | 276 | hi def link cAnsiFunction cFunction 277 | hi def link cAnsiName cIdentifier 278 | hi def link cFunction Function 279 | hi def link cIdentifier Identifier 280 | 281 | " Booleans 282 | syn keyword cBoolean true false TRUE FALSE 283 | hi def link cBoolean Boolean 284 | 285 | " ----------------------------------------------------------------------------- 286 | " Additional optional highlighting 287 | " ----------------------------------------------------------------------------- 288 | 289 | " Operators 290 | "syn match cOperator "\(<<\|>>\|[-+*/%&^|<>!=]\)=" 291 | "syn match cOperator "<<\|>>\|&&\|||\|++\|--\|->" 292 | "syn match cOperator "[.!~*&%<>^|=,+-]" 293 | "syn match cOperator "/[^/*=]"me=e-1 294 | "syn match cOperator "/$" 295 | "syn match cOperator "&&\|||" 296 | "syn match cOperator "[][]" 297 | " 298 | "" Preprocs 299 | "syn keyword cDefined defined contained containedin=cDefine 300 | "hi def link cDefined cDefine 301 | 302 | "" Functions 303 | "syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine 304 | "syn match cUserFunctionPointer "(\s*\*\s*\h\w*\s*)\(\s\|\n\)*(" contains=cDelimiter,cOperator 305 | " 306 | "hi def link cUserFunction cFunction 307 | "hi def link cUserFunctionPointer cFunction 308 | " 309 | "" Delimiters 310 | "syn match cDelimiter "[();\\]" 311 | "" foldmethod=syntax fix, courtesy of Ivan Freitas 312 | "syn match cBraces display "[{}]" 313 | 314 | " Links 315 | "hi def link cDelimiter Delimiter 316 | " foldmethod=syntax fix, courtesy of Ivan Freitas 317 | "hi def link cBraces Delimiter 318 | -------------------------------------------------------------------------------- /after/syntax/cpp.vim: -------------------------------------------------------------------------------- 1 | " Vim syntax file 2 | " Language: C++ Additions 3 | " Maintainer: Jon Haggblad 4 | " URL: http://www.haeggblad.com 5 | " Last Change: 29 Jun 2019 6 | " Version: 0.6 7 | " Changelog: 8 | " 0.1 - initial version. 9 | " 0.2 - C++14 10 | " 0.3 - Incorporate lastest changes from Mizuchi/STL-Syntax 11 | " 0.4 - Add template function highlight 12 | " 0.5 - Redo template function highlight to be more robust. Add options. 13 | " 0.6 - more C++14, C++17, library concepts 14 | " 15 | " Additional Vim syntax highlighting for C++ (including C++11/14/17) 16 | " 17 | " This file contains additional syntax highlighting that I use for C++11/14 18 | " development in Vim. Compared to the standard syntax highlighting for C++ it 19 | " adds highlighting of (user defined) functions and the containers and types 20 | " in the standard library / boost. 21 | " 22 | " Based on: 23 | " http://stackoverflow.com/q/736701 24 | " http://www.vim.org/scripts/script.php?script_id=4293 25 | " http://www.vim.org/scripts/script.php?script_id=2224 26 | " http://www.vim.org/scripts/script.php?script_id=1640 27 | " http://www.vim.org/scripts/script.php?script_id=3064 28 | 29 | 30 | " ----------------------------------------------------------------------------- 31 | " Highlight Class and Function names. 32 | " 33 | " Based on the discussion in: http://stackoverflow.com/q/736701 34 | " ----------------------------------------------------------------------------- 35 | 36 | " Functions 37 | if !exists('g:cpp_no_function_highlight') 38 | syn match cCustomParen transparent "(" contains=cParen contains=cCppParen 39 | syn match cCustomFunc "\w\+\s*(\@=" 40 | hi def link cCustomFunc Function 41 | endif 42 | 43 | " Class and namespace scope 44 | if exists('g:cpp_class_scope_highlight') && g:cpp_class_scope_highlight 45 | syn match cCustomScope "::" 46 | syn match cCustomClass "\w\+\s*::" 47 | \ contains=cCustomScope 48 | hi def link cCustomClass Function 49 | endif 50 | 51 | " Clear cppStructure and replace "class" and/or "template" with matches 52 | " based on user configuration 53 | let s:needs_cppstructure_match = 0 54 | if exists('g:cpp_class_decl_highlight') && g:cpp_class_decl_highlight 55 | let s:needs_cppstructure_match += 1 56 | endif 57 | if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight 58 | let s:needs_cppstructure_match += 2 59 | endif 60 | 61 | syn clear cppStructure 62 | if s:needs_cppstructure_match == 0 63 | syn keyword cppStructure typename namespace template class 64 | elseif s:needs_cppstructure_match == 1 65 | syn keyword cppStructure typename namespace template 66 | elseif s:needs_cppstructure_match == 2 67 | syn keyword cppStructure typename namespace class 68 | elseif s:needs_cppstructure_match == 3 69 | syn keyword cppStructure typename namespace 70 | endif 71 | unlet s:needs_cppstructure_match 72 | 73 | 74 | " Class name declaration 75 | if exists('g:cpp_class_decl_highlight') && g:cpp_class_decl_highlight 76 | syn match cCustomClassKey "\" 77 | hi def link cCustomClassKey cppStructure 78 | 79 | " Clear cppAccess entirely and redefine as matches 80 | syn clear cppAccess 81 | syn match cCustomAccessKey "\" 82 | syn match cCustomAccessKey "\" 83 | syn match cCustomAccessKey "\" 84 | hi def link cCustomAccessKey cppAccess 85 | 86 | " Match the parts of a class declaration 87 | syn match cCustomClassName "\" 88 | \ contains=cCustomClassKey 89 | syn match cCustomClassName "\" 90 | \ contains=cCustomAccessKey 91 | syn match cCustomClassName "\" 92 | \ contains=cCustomAccessKey 93 | syn match cCustomClassName "\" 94 | \ contains=cCustomAccessKey 95 | hi def link cCustomClassName Function 96 | endif 97 | " Template functions. 98 | " Naive implementation that sorta works in most cases. Should correctly 99 | " highlight everything in test/color2.cpp 100 | if exists('g:cpp_experimental_simple_template_highlight') && g:cpp_experimental_simple_template_highlight 101 | syn region cCustomAngleBrackets matchgroup=AngleBracketContents start="\v%(" contains=cCustomAngleBrackets 103 | syn match cCustomTemplateFunc "\w\+\s*<.*>(\@=" contains=cCustomBrack,cCustomAngleBrackets 104 | hi def link cCustomTemplateFunc Function 105 | 106 | " Template functions (alternative faster parsing). 107 | " More sophisticated implementation that should be faster but doesn't always 108 | " correctly highlight inside template arguments. Should correctly 109 | " highlight everything in test/color.cpp 110 | elseif exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight 111 | 112 | syn match cCustomAngleBracketStart "<\_[^;()]\{-}>" contained 113 | \ contains=cCustomAngleBracketStart,cCustomAngleBracketEnd 114 | hi def link cCustomAngleBracketStart cCustomAngleBracketContent 115 | 116 | syn match cCustomAngleBracketEnd ">\_[^<>;()]\{-}>" contained 117 | \ contains=cCustomAngleBracketEnd 118 | hi def link cCustomAngleBracketEnd cCustomAngleBracketContent 119 | 120 | syn match cCustomTemplateFunc "\<\l\w*\s*<\_[^;()]\{-}>(\@="hs=s,he=e-1 121 | \ contains=cCustomAngleBracketStart 122 | hi def link cCustomTemplateFunc cCustomFunc 123 | 124 | syn match cCustomTemplateClass "\<\w\+\s*<\_[^;()]\{-}>" 125 | \ contains=cCustomAngleBracketStart,cCustomTemplateFunc 126 | hi def link cCustomTemplateClass cCustomClass 127 | 128 | syn match cCustomTemplate "\" 129 | hi def link cCustomTemplate cppStructure 130 | syn match cTemplateDeclare "\" 131 | \ contains=cppStructure,cCustomTemplate,cCustomClassKey,cCustomAngleBracketStart 132 | 133 | " Remove 'operator' from cppOperator and use a custom match 134 | syn clear cppOperator 135 | syn keyword cppOperator typeid 136 | syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq 137 | 138 | syn match cCustomOperator "\" 139 | hi def link cCustomOperator cppStructure 140 | syn match cTemplateOperatorDeclare "\[<>]=\?" 141 | \ contains=cppOperator,cCustomOperator,cCustomAngleBracketStart 142 | endif 143 | 144 | " Alternative syntax that is used in: 145 | " http://www.vim.org/scripts/script.php?script_id=3064 146 | "syn match cUserFunction "\<\h\w*\>\(\s\|\n\)*("me=e-1 contains=cType,cDelimiter,cDefine 147 | "hi def link cCustomFunc Function 148 | 149 | " Cluster for all the stdlib functions defined below 150 | syn cluster cppSTLgroup contains=cppSTLfunction,cppSTLfunctional,cppSTLconstant,cppSTLnamespace,cppSTLtype,cppSTLexception,cppSTLiterator,cppSTLiterator_tag,cppSTLenum,cppSTLios,cppSTLcast 151 | 152 | 153 | " ----------------------------------------------------------------------------- 154 | " Standard library types and functions. 155 | " 156 | " Mainly based on the excellent STL Syntax vim script by 157 | " Mizuchi 158 | " http://www.vim.org/scripts/script.php?script_id=4293 159 | " which in turn is based on the scripts 160 | " http://www.vim.org/scripts/script.php?script_id=2224 161 | " http://www.vim.org/scripts/script.php?script_id=1640 162 | " ----------------------------------------------------------------------------- 163 | 164 | syntax keyword cppSTLconstant badbit 165 | syntax keyword cppSTLconstant cerr 166 | syntax keyword cppSTLconstant cin 167 | syntax keyword cppSTLconstant clog 168 | syntax keyword cppSTLconstant cout 169 | syntax keyword cppSTLconstant digits 170 | syntax keyword cppSTLconstant digits10 171 | syntax keyword cppSTLconstant eofbit 172 | syntax keyword cppSTLconstant failbit 173 | syntax keyword cppSTLconstant goodbit 174 | syntax keyword cppSTLconstant has_denorm 175 | syntax keyword cppSTLconstant has_denorm_loss 176 | syntax keyword cppSTLconstant has_infinity 177 | syntax keyword cppSTLconstant has_quiet_NaN 178 | syntax keyword cppSTLconstant has_signaling_NaN 179 | syntax keyword cppSTLconstant is_bounded 180 | syntax keyword cppSTLconstant is_exact 181 | syntax keyword cppSTLconstant is_iec559 182 | syntax keyword cppSTLconstant is_integer 183 | syntax keyword cppSTLconstant is_modulo 184 | syntax keyword cppSTLconstant is_signed 185 | syntax keyword cppSTLconstant is_specialized 186 | syntax keyword cppSTLconstant max_digits10 187 | syntax keyword cppSTLconstant max_exponent 188 | syntax keyword cppSTLconstant max_exponent10 189 | syntax keyword cppSTLconstant min_exponent 190 | syntax keyword cppSTLconstant min_exponent10 191 | syntax keyword cppSTLconstant nothrow 192 | syntax keyword cppSTLconstant npos 193 | syntax keyword cppSTLconstant radix 194 | syntax keyword cppSTLconstant round_style 195 | syntax keyword cppSTLconstant tinyness_before 196 | syntax keyword cppSTLconstant traps 197 | syntax keyword cppSTLconstant wcerr 198 | syntax keyword cppSTLconstant wcin 199 | syntax keyword cppSTLconstant wclog 200 | syntax keyword cppSTLconstant wcout 201 | syntax keyword cppSTLexception bad_alloc 202 | syntax keyword cppSTLexception bad_array_new_length 203 | syntax keyword cppSTLexception bad_exception 204 | syntax keyword cppSTLexception bad_typeid bad_cast 205 | syntax keyword cppSTLexception domain_error 206 | syntax keyword cppSTLexception exception 207 | syntax keyword cppSTLexception invalid_argument 208 | syntax keyword cppSTLexception length_error 209 | syntax keyword cppSTLexception logic_error 210 | syntax keyword cppSTLexception out_of_range 211 | syntax keyword cppSTLexception overflow_error 212 | syntax keyword cppSTLexception range_error 213 | syntax keyword cppSTLexception runtime_error 214 | syntax keyword cppSTLexception underflow_error 215 | syntax keyword cppSTLfunction abort 216 | syntax keyword cppSTLfunction abs 217 | syntax keyword cppSTLfunction accumulate 218 | syntax keyword cppSTLfunction acos 219 | syntax keyword cppSTLfunction adjacent_difference 220 | syntax keyword cppSTLfunction adjacent_find 221 | syntax keyword cppSTLfunction adjacent_find_if 222 | syntax keyword cppSTLfunction advance 223 | syntax keyword cppSTLfunctional binary_function 224 | syntax keyword cppSTLfunctional binary_negate 225 | syntax keyword cppSTLfunctional bit_and 226 | syntax keyword cppSTLfunctional bit_not 227 | syntax keyword cppSTLfunctional bit_or 228 | syntax keyword cppSTLfunctional bit_xor 229 | syntax keyword cppSTLfunctional divides 230 | syntax keyword cppSTLfunctional equal_to 231 | syntax keyword cppSTLfunctional greater 232 | syntax keyword cppSTLfunctional greater_equal 233 | syntax keyword cppSTLfunctional less 234 | syntax keyword cppSTLfunctional less_equal 235 | syntax keyword cppSTLfunctional logical_and 236 | syntax keyword cppSTLfunctional logical_not 237 | syntax keyword cppSTLfunctional logical_or 238 | syntax keyword cppSTLfunctional minus 239 | syntax keyword cppSTLfunctional modulus 240 | syntax keyword cppSTLfunctional multiplies 241 | syntax keyword cppSTLfunctional negate 242 | syntax keyword cppSTLfunctional not_equal_to 243 | syntax keyword cppSTLfunctional plus 244 | syntax keyword cppSTLfunctional unary_function 245 | syntax keyword cppSTLfunctional unary_negate 246 | "syntax keyword cppSTLfunction any 247 | syntax keyword cppSTLfunction append 248 | syntax keyword cppSTLfunction arg 249 | syntax keyword cppSTLfunction asctime 250 | syntax keyword cppSTLfunction asin 251 | syntax keyword cppSTLfunction assert 252 | syntax keyword cppSTLfunction assign 253 | syntax keyword cppSTLfunction at 254 | syntax keyword cppSTLfunction atan 255 | syntax keyword cppSTLfunction atan2 256 | syntax keyword cppSTLfunction atexit 257 | syntax keyword cppSTLfunction atof 258 | syntax keyword cppSTLfunction atoi 259 | syntax keyword cppSTLfunction atol 260 | syntax keyword cppSTLfunction atoll 261 | syntax keyword cppSTLfunction back 262 | syntax keyword cppSTLfunction back_inserter 263 | syntax keyword cppSTLfunction bad 264 | syntax keyword cppSTLfunction beg 265 | "syntax keyword cppSTLfunction begin 266 | syntax keyword cppSTLfunction binary_compose 267 | syntax keyword cppSTLfunction binary_negate 268 | syntax keyword cppSTLfunction binary_search 269 | syntax keyword cppSTLfunction bind1st 270 | syntax keyword cppSTLfunction bind2nd 271 | syntax keyword cppSTLfunction binder1st 272 | syntax keyword cppSTLfunction binder2nd 273 | syntax keyword cppSTLfunction bsearch 274 | syntax keyword cppSTLfunction calloc 275 | syntax keyword cppSTLfunction capacity 276 | syntax keyword cppSTLfunction ceil 277 | syntax keyword cppSTLfunction clear 278 | syntax keyword cppSTLfunction clearerr 279 | syntax keyword cppSTLfunction clock 280 | syntax keyword cppSTLfunction close 281 | syntax keyword cppSTLfunction compare 282 | syntax keyword cppSTLfunction conj 283 | syntax keyword cppSTLfunction construct 284 | syntax keyword cppSTLfunction copy 285 | syntax keyword cppSTLfunction copy_backward 286 | syntax keyword cppSTLfunction cos 287 | syntax keyword cppSTLfunction cosh 288 | syntax keyword cppSTLfunction count 289 | syntax keyword cppSTLfunction count_if 290 | syntax keyword cppSTLfunction c_str 291 | syntax keyword cppSTLfunction ctime 292 | "syntax keyword cppSTLfunction data 293 | syntax keyword cppSTLfunction denorm_min 294 | syntax keyword cppSTLfunction destroy 295 | syntax keyword cppSTLfunction difftime 296 | syntax keyword cppSTLfunction distance 297 | syntax keyword cppSTLfunction div 298 | syntax keyword cppSTLfunction empty 299 | "syntax keyword cppSTLfunction end 300 | syntax keyword cppSTLfunction eof 301 | syntax keyword cppSTLfunction epsilon 302 | syntax keyword cppSTLfunction equal 303 | syntax keyword cppSTLfunction equal_range 304 | syntax keyword cppSTLfunction erase 305 | syntax keyword cppSTLfunction exit 306 | syntax keyword cppSTLfunction exp 307 | syntax keyword cppSTLfunction fabs 308 | syntax keyword cppSTLfunction fail 309 | syntax keyword cppSTLfunction failure 310 | syntax keyword cppSTLfunction fclose 311 | syntax keyword cppSTLfunction feof 312 | syntax keyword cppSTLfunction ferror 313 | syntax keyword cppSTLfunction fflush 314 | syntax keyword cppSTLfunction fgetc 315 | syntax keyword cppSTLfunction fgetpos 316 | syntax keyword cppSTLfunction fgets 317 | syntax keyword cppSTLfunction fill 318 | syntax keyword cppSTLfunction fill_n 319 | syntax keyword cppSTLfunction find 320 | syntax keyword cppSTLfunction find_end 321 | syntax keyword cppSTLfunction find_first_not_of 322 | syntax keyword cppSTLfunction find_first_of 323 | syntax keyword cppSTLfunction find_if 324 | syntax keyword cppSTLfunction find_last_not_of 325 | syntax keyword cppSTLfunction find_last_of 326 | syntax keyword cppSTLfunction first 327 | syntax keyword cppSTLfunction flags 328 | syntax keyword cppSTLfunction flip 329 | syntax keyword cppSTLfunction floor 330 | syntax keyword cppSTLfunction flush 331 | syntax keyword cppSTLfunction fmod 332 | syntax keyword cppSTLfunction fopen 333 | syntax keyword cppSTLfunction for_each 334 | syntax keyword cppSTLfunction fprintf 335 | syntax keyword cppSTLfunction fputc 336 | syntax keyword cppSTLfunction fputs 337 | syntax keyword cppSTLfunction fread 338 | syntax keyword cppSTLfunction free 339 | syntax keyword cppSTLfunction freopen 340 | syntax keyword cppSTLfunction frexp 341 | syntax keyword cppSTLfunction front 342 | syntax keyword cppSTLfunction fscanf 343 | syntax keyword cppSTLfunction fseek 344 | syntax keyword cppSTLfunction fsetpos 345 | syntax keyword cppSTLfunction ftell 346 | syntax keyword cppSTLfunction fwide 347 | syntax keyword cppSTLfunction fwprintf 348 | syntax keyword cppSTLfunction fwrite 349 | syntax keyword cppSTLfunction fwscanf 350 | syntax keyword cppSTLfunction gcount 351 | syntax keyword cppSTLfunction generate 352 | syntax keyword cppSTLfunction generate_n 353 | syntax keyword cppSTLfunction get 354 | syntax keyword cppSTLfunction get_allocator 355 | syntax keyword cppSTLfunction getc 356 | syntax keyword cppSTLfunction getchar 357 | syntax keyword cppSTLfunction getenv 358 | syntax keyword cppSTLfunction getline 359 | syntax keyword cppSTLfunction gets 360 | syntax keyword cppSTLfunction get_temporary_buffer 361 | syntax keyword cppSTLfunction gmtime 362 | syntax keyword cppSTLfunction good 363 | syntax keyword cppSTLfunction ignore 364 | syntax keyword cppSTLfunction imag 365 | syntax keyword cppSTLfunction in 366 | syntax keyword cppSTLfunction includes 367 | syntax keyword cppSTLfunction infinity 368 | syntax keyword cppSTLfunction inner_product 369 | syntax keyword cppSTLfunction inplace_merge 370 | syntax keyword cppSTLfunction insert 371 | syntax keyword cppSTLfunction inserter 372 | syntax keyword cppSTLfunction ios 373 | syntax keyword cppSTLfunction ios_base 374 | syntax keyword cppSTLfunction iostate 375 | syntax keyword cppSTLfunction iota 376 | syntax keyword cppSTLfunction isalnum 377 | syntax keyword cppSTLfunction isalpha 378 | syntax keyword cppSTLfunction iscntrl 379 | syntax keyword cppSTLfunction isdigit 380 | syntax keyword cppSTLfunction isgraph 381 | syntax keyword cppSTLfunction is_heap 382 | syntax keyword cppSTLfunction islower 383 | syntax keyword cppSTLfunction is_open 384 | syntax keyword cppSTLfunction isprint 385 | syntax keyword cppSTLfunction ispunct 386 | syntax keyword cppSTLfunction isspace 387 | syntax keyword cppSTLfunction isupper 388 | syntax keyword cppSTLfunction isxdigit 389 | syntax keyword cppSTLfunction iterator_category 390 | syntax keyword cppSTLfunction iter_swap 391 | syntax keyword cppSTLfunction jmp_buf 392 | syntax keyword cppSTLfunction key_comp 393 | syntax keyword cppSTLfunction labs 394 | syntax keyword cppSTLfunction ldexp 395 | syntax keyword cppSTLfunction ldiv 396 | syntax keyword cppSTLfunction length 397 | syntax keyword cppSTLfunction lexicographical_compare 398 | syntax keyword cppSTLfunction lexicographical_compare_3way 399 | syntax keyword cppSTLfunction llabs 400 | syntax keyword cppSTLfunction lldiv 401 | syntax keyword cppSTLfunction localtime 402 | syntax keyword cppSTLfunction log 403 | syntax keyword cppSTLfunction log10 404 | syntax keyword cppSTLfunction longjmp 405 | syntax keyword cppSTLfunction lower_bound 406 | syntax keyword cppSTLfunction make_heap 407 | syntax keyword cppSTLfunction make_pair 408 | syntax keyword cppSTLfunction malloc 409 | syntax keyword cppSTLfunction max 410 | syntax keyword cppSTLfunction max_element 411 | syntax keyword cppSTLfunction max_size 412 | syntax keyword cppSTLfunction memchr 413 | syntax keyword cppSTLfunction memcpy 414 | syntax keyword cppSTLfunction mem_fun 415 | syntax keyword cppSTLfunction mem_fun_ref 416 | syntax keyword cppSTLfunction memmove 417 | syntax keyword cppSTLfunction memset 418 | syntax keyword cppSTLfunction merge 419 | syntax keyword cppSTLfunction min 420 | syntax keyword cppSTLfunction min_element 421 | syntax keyword cppSTLfunction mismatch 422 | syntax keyword cppSTLfunction mktime 423 | syntax keyword cppSTLfunction modf 424 | syntax keyword cppSTLfunction next_permutation 425 | syntax keyword cppSTLfunction none 426 | syntax keyword cppSTLfunction norm 427 | syntax keyword cppSTLfunction not1 428 | syntax keyword cppSTLfunction not2 429 | syntax keyword cppSTLfunction nth_element 430 | syntax keyword cppSTLtype numeric_limits 431 | syntax keyword cppSTLfunction open 432 | syntax keyword cppSTLfunction partial_sort 433 | syntax keyword cppSTLfunction partial_sort_copy 434 | syntax keyword cppSTLfunction partial_sum 435 | syntax keyword cppSTLfunction partition 436 | syntax keyword cppSTLfunction peek 437 | syntax keyword cppSTLfunction perror 438 | syntax keyword cppSTLfunction polar 439 | syntax keyword cppSTLfunction pop 440 | syntax keyword cppSTLfunction pop_back 441 | syntax keyword cppSTLfunction pop_front 442 | syntax keyword cppSTLfunction pop_heap 443 | syntax keyword cppSTLfunction pow 444 | syntax keyword cppSTLfunction power 445 | syntax keyword cppSTLfunction precision 446 | syntax keyword cppSTLfunction prev_permutation 447 | syntax keyword cppSTLfunction printf 448 | syntax keyword cppSTLfunction ptr_fun 449 | syntax keyword cppSTLfunction push 450 | syntax keyword cppSTLfunction push_back 451 | syntax keyword cppSTLfunction push_front 452 | syntax keyword cppSTLfunction push_heap 453 | syntax keyword cppSTLfunction put 454 | syntax keyword cppSTLfunction putback 455 | syntax keyword cppSTLfunction putc 456 | syntax keyword cppSTLfunction putchar 457 | syntax keyword cppSTLfunction puts 458 | syntax keyword cppSTLfunction qsort 459 | syntax keyword cppSTLfunction quiet_NaN 460 | syntax keyword cppSTLfunction raise 461 | syntax keyword cppSTLfunction rand 462 | syntax keyword cppSTLfunction random_sample 463 | syntax keyword cppSTLfunction random_sample_n 464 | syntax keyword cppSTLfunction random_shuffle 465 | syntax keyword cppSTLfunction rbegin 466 | syntax keyword cppSTLfunction rdbuf 467 | syntax keyword cppSTLfunction rdstate 468 | syntax keyword cppSTLfunction read 469 | syntax keyword cppSTLfunction real 470 | syntax keyword cppSTLfunction realloc 471 | syntax keyword cppSTLfunction remove 472 | syntax keyword cppSTLfunction remove_copy 473 | syntax keyword cppSTLfunction remove_copy_if 474 | syntax keyword cppSTLfunction remove_if 475 | syntax keyword cppSTLfunction rename 476 | syntax keyword cppSTLfunction rend 477 | syntax keyword cppSTLfunction replace 478 | syntax keyword cppSTLfunction replace_copy 479 | syntax keyword cppSTLfunction replace_copy_if 480 | syntax keyword cppSTLfunction replace_if 481 | syntax keyword cppSTLfunction reserve 482 | syntax keyword cppSTLfunction reset 483 | syntax keyword cppSTLfunction resize 484 | syntax keyword cppSTLfunction return_temporary_buffer 485 | syntax keyword cppSTLfunction reverse 486 | syntax keyword cppSTLfunction reverse_copy 487 | syntax keyword cppSTLfunction rewind 488 | syntax keyword cppSTLfunction rfind 489 | syntax keyword cppSTLfunction rotate 490 | syntax keyword cppSTLfunction rotate_copy 491 | syntax keyword cppSTLfunction round_error 492 | syntax keyword cppSTLfunction scanf 493 | syntax keyword cppSTLfunction search 494 | syntax keyword cppSTLfunction search_n 495 | syntax keyword cppSTLfunction second 496 | syntax keyword cppSTLfunction seekg 497 | syntax keyword cppSTLfunction seekp 498 | syntax keyword cppSTLfunction setbuf 499 | syntax keyword cppSTLfunction set_difference 500 | syntax keyword cppSTLfunction setf 501 | syntax keyword cppSTLfunction set_intersection 502 | syntax keyword cppSTLfunction setjmp 503 | syntax keyword cppSTLfunction setlocale 504 | syntax keyword cppSTLfunction set_new_handler 505 | syntax keyword cppSTLfunction set_symmetric_difference 506 | syntax keyword cppSTLfunction set_union 507 | syntax keyword cppSTLfunction setvbuf 508 | syntax keyword cppSTLfunction signal 509 | syntax keyword cppSTLfunction signaling_NaN 510 | syntax keyword cppSTLfunction sin 511 | syntax keyword cppSTLfunction sinh 512 | "syntax keyword cppSTLfunction size 513 | syntax keyword cppSTLfunction sort 514 | syntax keyword cppSTLfunction sort_heap 515 | syntax keyword cppSTLfunction splice 516 | syntax keyword cppSTLfunction sprintf 517 | syntax keyword cppSTLfunction sqrt 518 | syntax keyword cppSTLfunction srand 519 | syntax keyword cppSTLfunction sscanf 520 | syntax keyword cppSTLfunction stable_partition 521 | syntax keyword cppSTLfunction stable_sort 522 | syntax keyword cppSTLfunction str 523 | syntax keyword cppSTLfunction strcat 524 | syntax keyword cppSTLfunction strchr 525 | syntax keyword cppSTLfunction strcmp 526 | syntax keyword cppSTLfunction strcoll 527 | syntax keyword cppSTLfunction strcpy 528 | syntax keyword cppSTLfunction strcspn 529 | syntax keyword cppSTLfunction strerror 530 | syntax keyword cppSTLfunction strftime 531 | syntax keyword cppSTLfunction string 532 | syntax keyword cppSTLfunction strlen 533 | syntax keyword cppSTLfunction strncat 534 | syntax keyword cppSTLfunction strncmp 535 | syntax keyword cppSTLfunction strncpy 536 | syntax keyword cppSTLfunction strpbrk 537 | syntax keyword cppSTLfunction strrchr 538 | syntax keyword cppSTLfunction strspn 539 | syntax keyword cppSTLfunction strstr 540 | syntax keyword cppSTLfunction strtod 541 | syntax keyword cppSTLfunction strtof 542 | syntax keyword cppSTLfunction strtok 543 | syntax keyword cppSTLfunction strtol 544 | syntax keyword cppSTLfunction strtold 545 | syntax keyword cppSTLfunction strtoll 546 | syntax keyword cppSTLfunction strtoul 547 | syntax keyword cppSTLfunction strxfrm 548 | syntax keyword cppSTLfunction substr 549 | syntax keyword cppSTLfunction swap 550 | syntax keyword cppSTLfunction swap_ranges 551 | syntax keyword cppSTLfunction swprintf 552 | syntax keyword cppSTLfunction swscanf 553 | syntax keyword cppSTLfunction sync_with_stdio 554 | "syntax keyword cppSTLfunction system 555 | syntax keyword cppSTLfunction tan 556 | syntax keyword cppSTLfunction tanh 557 | syntax keyword cppSTLfunction tellg 558 | syntax keyword cppSTLfunction tellp 559 | "syntax keyword cppSTLfunction test 560 | "syntax keyword cppSTLfunction time 561 | syntax keyword cppSTLfunction tmpfile 562 | syntax keyword cppSTLfunction tmpnam 563 | syntax keyword cppSTLfunction tolower 564 | syntax keyword cppSTLfunction top 565 | syntax keyword cppSTLfunction to_string 566 | syntax keyword cppSTLfunction to_ulong 567 | syntax keyword cppSTLfunction toupper 568 | syntax keyword cppSTLfunction to_wstring 569 | syntax keyword cppSTLfunction transform 570 | syntax keyword cppSTLfunction unary_compose 571 | syntax keyword cppSTLfunction unget 572 | syntax keyword cppSTLfunction ungetc 573 | syntax keyword cppSTLfunction uninitialized_copy 574 | syntax keyword cppSTLfunction uninitialized_copy_n 575 | syntax keyword cppSTLfunction uninitialized_fill 576 | syntax keyword cppSTLfunction uninitialized_fill_n 577 | syntax keyword cppSTLfunction unique 578 | syntax keyword cppSTLfunction unique_copy 579 | syntax keyword cppSTLfunction unsetf 580 | syntax keyword cppSTLfunction upper_bound 581 | syntax keyword cppSTLfunction va_arg 582 | syntax keyword cppSTLfunction va_copy 583 | syntax keyword cppSTLfunction va_end 584 | syntax keyword cppSTLfunction value_comp 585 | syntax keyword cppSTLfunction va_start 586 | syntax keyword cppSTLfunction vfprintf 587 | syntax keyword cppSTLfunction vfwprintf 588 | syntax keyword cppSTLfunction vprintf 589 | syntax keyword cppSTLfunction vsprintf 590 | syntax keyword cppSTLfunction vswprintf 591 | syntax keyword cppSTLfunction vwprintf 592 | syntax keyword cppSTLfunction width 593 | syntax keyword cppSTLfunction wprintf 594 | syntax keyword cppSTLfunction write 595 | syntax keyword cppSTLfunction wscanf 596 | syntax keyword cppSTLios boolalpha 597 | syntax keyword cppSTLios dec 598 | syntax keyword cppSTLios defaultfloat 599 | syntax keyword cppSTLios endl 600 | syntax keyword cppSTLios ends 601 | syntax keyword cppSTLios fixed 602 | syntax keyword cppSTLios floatfield 603 | syntax keyword cppSTLios flush 604 | syntax keyword cppSTLios get_money 605 | syntax keyword cppSTLios get_time 606 | syntax keyword cppSTLios hex 607 | syntax keyword cppSTLios hexfloat 608 | syntax keyword cppSTLios internal 609 | syntax keyword cppSTLios noboolalpha 610 | syntax keyword cppSTLios noshowbase 611 | syntax keyword cppSTLios noshowpoint 612 | syntax keyword cppSTLios noshowpos 613 | syntax keyword cppSTLios noskipws 614 | syntax keyword cppSTLios nounitbuf 615 | syntax keyword cppSTLios nouppercase 616 | syntax keyword cppSTLios oct 617 | syntax keyword cppSTLios put_money 618 | syntax keyword cppSTLios put_time 619 | syntax keyword cppSTLios resetiosflags 620 | syntax keyword cppSTLios scientific 621 | syntax keyword cppSTLios setbase 622 | syntax keyword cppSTLios setfill 623 | syntax keyword cppSTLios setiosflags 624 | syntax keyword cppSTLios setprecision 625 | syntax keyword cppSTLios setw 626 | syntax keyword cppSTLios showbase 627 | syntax keyword cppSTLios showpoint 628 | syntax keyword cppSTLios showpos 629 | syntax keyword cppSTLios skipws 630 | syntax keyword cppSTLios unitbuf 631 | syntax keyword cppSTLios uppercase 632 | "syntax keyword cppSTLios ws 633 | syntax keyword cppSTLiterator back_insert_iterator 634 | syntax keyword cppSTLiterator const_iterator 635 | syntax keyword cppSTLiterator const_reverse_iterator 636 | syntax keyword cppSTLiterator front_insert_iterator 637 | syntax keyword cppSTLiterator insert_iterator 638 | syntax keyword cppSTLiterator istreambuf_iterator 639 | syntax keyword cppSTLiterator istream_iterator 640 | syntax keyword cppSTLiterator ostreambuf_iterator 641 | syntax keyword cppSTLiterator ostream_iterator 642 | syntax keyword cppSTLiterator iterator 643 | syntax keyword cppSTLiterator ostream_iterator 644 | syntax keyword cppSTLiterator output_iterator 645 | syntax keyword cppSTLiterator raw_storage_iterator 646 | syntax keyword cppSTLiterator move_iterator 647 | syntax keyword cppSTLiterator reverse_iterator 648 | syntax keyword cppSTLiterator_tag bidirectional_iterator_tag 649 | syntax keyword cppSTLiterator_tag forward_iterator_tag 650 | syntax keyword cppSTLiterator_tag input_iterator_tag 651 | syntax keyword cppSTLiterator_tag output_iterator_tag 652 | syntax keyword cppSTLiterator_tag random_access_iterator_tag 653 | syntax keyword cppSTLnamespace rel_ops 654 | syntax keyword cppSTLnamespace std 655 | syntax keyword cppSTLnamespace experimental 656 | syntax keyword cppSTLtype allocator 657 | syntax keyword cppSTLtype auto_ptr 658 | syntax keyword cppSTLtype basic_filebuf 659 | syntax keyword cppSTLtype basic_fstream 660 | syntax keyword cppSTLtype basic_ifstream 661 | syntax keyword cppSTLtype basic_iostream 662 | syntax keyword cppSTLtype basic_istream 663 | syntax keyword cppSTLtype basic_istringstream 664 | syntax keyword cppSTLtype basic_ofstream 665 | syntax keyword cppSTLtype basic_ostream 666 | syntax keyword cppSTLtype basic_ostringstream 667 | syntax keyword cppSTLtype basic_streambuf 668 | syntax keyword cppSTLtype basic_string 669 | syntax keyword cppSTLtype basic_stringbuf 670 | syntax keyword cppSTLtype basic_stringstream 671 | syntax keyword cppSTLtype binary_compose 672 | syntax keyword cppSTLtype binder1st 673 | syntax keyword cppSTLtype binder2nd 674 | syntax keyword cppSTLtype bitset 675 | syntax keyword cppSTLtype char_traits 676 | syntax keyword cppSTLtype char_type 677 | syntax keyword cppSTLtype const_mem_fun1_t 678 | syntax keyword cppSTLtype const_mem_fun_ref1_t 679 | syntax keyword cppSTLtype const_mem_fun_ref_t 680 | syntax keyword cppSTLtype const_mem_fun_t 681 | syntax keyword cppSTLtype const_pointer 682 | syntax keyword cppSTLtype const_reference 683 | syntax keyword cppSTLtype container_type 684 | syntax keyword cppSTLtype deque 685 | syntax keyword cppSTLtype difference_type 686 | syntax keyword cppSTLtype div_t 687 | syntax keyword cppSTLtype double_t 688 | syntax keyword cppSTLtype filebuf 689 | syntax keyword cppSTLtype first_type 690 | syntax keyword cppSTLtype float_denorm_style 691 | syntax keyword cppSTLtype float_round_style 692 | syntax keyword cppSTLtype float_t 693 | syntax keyword cppSTLtype fstream 694 | syntax keyword cppSTLtype gslice_array 695 | syntax keyword cppSTLtype ifstream 696 | syntax keyword cppSTLtype imaxdiv_t 697 | syntax keyword cppSTLtype indirect_array 698 | syntax keyword cppSTLtype int_type 699 | syntax keyword cppSTLtype ios_base 700 | syntax keyword cppSTLtype iostream 701 | syntax keyword cppSTLtype istream 702 | syntax keyword cppSTLtype istringstream 703 | syntax keyword cppSTLtype istrstream 704 | syntax keyword cppSTLtype iterator_traits 705 | syntax keyword cppSTLtype key_compare 706 | syntax keyword cppSTLtype key_type 707 | syntax keyword cppSTLtype ldiv_t 708 | syntax keyword cppSTLtype list 709 | syntax keyword cppSTLtype lldiv_t 710 | syntax keyword cppSTLtype map 711 | syntax keyword cppSTLtype mapped_type 712 | syntax keyword cppSTLtype mask_array 713 | syntax keyword cppSTLtype mem_fun1_t 714 | syntax keyword cppSTLtype mem_fun_ref1_t 715 | syntax keyword cppSTLtype mem_fun_ref_t 716 | syntax keyword cppSTLtype mem_fun_t 717 | syntax keyword cppSTLtype multimap 718 | syntax keyword cppSTLtype multiset 719 | syntax keyword cppSTLtype nothrow_t 720 | syntax keyword cppSTLtype off_type 721 | syntax keyword cppSTLtype ofstream 722 | syntax keyword cppSTLtype ostream 723 | syntax keyword cppSTLtype ostringstream 724 | syntax keyword cppSTLtype ostrstream 725 | syntax keyword cppSTLtype pair 726 | syntax keyword cppSTLtype pointer 727 | syntax keyword cppSTLtype pointer_to_binary_function 728 | syntax keyword cppSTLtype pointer_to_unary_function 729 | syntax keyword cppSTLtype pos_type 730 | syntax keyword cppSTLtype priority_queue 731 | syntax keyword cppSTLtype queue 732 | syntax keyword cppSTLtype reference 733 | syntax keyword cppSTLtype second_type 734 | syntax keyword cppSTLtype sequence_buffer 735 | syntax keyword cppSTLtype set 736 | syntax keyword cppSTLtype sig_atomic_t 737 | syntax keyword cppSTLtype size_type 738 | syntax keyword cppSTLtype slice_array 739 | syntax keyword cppSTLtype stack 740 | syntax keyword cppSTLtype stream 741 | syntax keyword cppSTLtype streambuf 742 | syntax keyword cppSTLtype streamsize 743 | syntax keyword cppSTLtype string 744 | syntax keyword cppSTLtype stringbuf 745 | syntax keyword cppSTLtype stringstream 746 | syntax keyword cppSTLtype strstream 747 | syntax keyword cppSTLtype strstreambuf 748 | syntax keyword cppSTLtype temporary_buffer 749 | syntax keyword cppSTLtype test_type 750 | syntax keyword cppSTLtype time_t 751 | syntax keyword cppSTLtype tm 752 | syntax keyword cppSTLtype traits_type 753 | syntax keyword cppSTLtype type_info 754 | syntax keyword cppSTLtype u16string 755 | syntax keyword cppSTLtype u32string 756 | syntax keyword cppSTLtype unary_compose 757 | syntax keyword cppSTLtype unary_negate 758 | syntax keyword cppSTLtype valarray 759 | syntax keyword cppSTLtype value_compare 760 | syntax keyword cppSTLtype value_type 761 | syntax keyword cppSTLtype vector 762 | syntax keyword cppSTLtype wfilebuf 763 | syntax keyword cppSTLtype wfstream 764 | syntax keyword cppSTLtype wifstream 765 | syntax keyword cppSTLtype wiostream 766 | syntax keyword cppSTLtype wistream 767 | syntax keyword cppSTLtype wistringstream 768 | syntax keyword cppSTLtype wofstream 769 | syntax keyword cppSTLtype wostream 770 | syntax keyword cppSTLtype wostringstream 771 | syntax keyword cppSTLtype wstreambuf 772 | syntax keyword cppSTLtype wstring 773 | syntax keyword cppSTLtype wstringbuf 774 | syntax keyword cppSTLtype wstringstream 775 | 776 | syntax keyword cppSTLfunction mblen 777 | syntax keyword cppSTLfunction mbtowc 778 | syntax keyword cppSTLfunction wctomb 779 | syntax keyword cppSTLfunction mbstowcs 780 | syntax keyword cppSTLfunction wcstombs 781 | syntax keyword cppSTLfunction mbsinit 782 | syntax keyword cppSTLfunction btowc 783 | syntax keyword cppSTLfunction wctob 784 | syntax keyword cppSTLfunction mbrlen 785 | syntax keyword cppSTLfunction mbrtowc 786 | syntax keyword cppSTLfunction wcrtomb 787 | syntax keyword cppSTLfunction mbsrtowcs 788 | syntax keyword cppSTLfunction wcsrtombs 789 | 790 | syntax keyword cppSTLtype mbstate_t 791 | 792 | syntax keyword cppSTLconstant MB_LEN_MAX 793 | syntax keyword cppSTLconstant MB_CUR_MAX 794 | syntax keyword cppSTLconstant __STDC_UTF_16__ 795 | syntax keyword cppSTLconstant __STDC_UTF_32__ 796 | 797 | syntax keyword cppSTLfunction iswalnum 798 | syntax keyword cppSTLfunction iswalpha 799 | syntax keyword cppSTLfunction iswlower 800 | syntax keyword cppSTLfunction iswupper 801 | syntax keyword cppSTLfunction iswdigit 802 | syntax keyword cppSTLfunction iswxdigit 803 | syntax keyword cppSTLfunction iswcntrl 804 | syntax keyword cppSTLfunction iswgraph 805 | syntax keyword cppSTLfunction iswspace 806 | syntax keyword cppSTLfunction iswprint 807 | syntax keyword cppSTLfunction iswpunct 808 | syntax keyword cppSTLfunction iswctype 809 | syntax keyword cppSTLfunction wctype 810 | 811 | syntax keyword cppSTLfunction towlower 812 | syntax keyword cppSTLfunction towupper 813 | syntax keyword cppSTLfunction towctrans 814 | syntax keyword cppSTLfunction wctrans 815 | 816 | syntax keyword cppSTLfunction wcstol 817 | syntax keyword cppSTLfunction wcstoll 818 | syntax keyword cppSTLfunction wcstoul 819 | syntax keyword cppSTLfunction wcstoull 820 | syntax keyword cppSTLfunction wcstof 821 | syntax keyword cppSTLfunction wcstod 822 | syntax keyword cppSTLfunction wcstold 823 | 824 | syntax keyword cppSTLfunction wcscpy 825 | syntax keyword cppSTLfunction wcsncpy 826 | syntax keyword cppSTLfunction wcscat 827 | syntax keyword cppSTLfunction wcsncat 828 | syntax keyword cppSTLfunction wcsxfrm 829 | syntax keyword cppSTLfunction wcslen 830 | syntax keyword cppSTLfunction wcscmp 831 | syntax keyword cppSTLfunction wcsncmp 832 | syntax keyword cppSTLfunction wcscoll 833 | syntax keyword cppSTLfunction wcschr 834 | syntax keyword cppSTLfunction wcsrchr 835 | syntax keyword cppSTLfunction wcsspn 836 | syntax keyword cppSTLfunction wcscspn 837 | syntax keyword cppSTLfunction wcspbrk 838 | syntax keyword cppSTLfunction wcsstr 839 | syntax keyword cppSTLfunction wcstok 840 | syntax keyword cppSTLfunction wmemcpy 841 | syntax keyword cppSTLfunction wmemmove 842 | syntax keyword cppSTLfunction wmemcmp 843 | syntax keyword cppSTLfunction wmemchr 844 | syntax keyword cppSTLfunction wmemset 845 | 846 | syntax keyword cppSTLtype wctrans_t 847 | syntax keyword cppSTLtype wctype_t 848 | syntax keyword cppSTLtype wint_t 849 | 850 | syntax keyword cppSTLconstant WEOF 851 | syntax keyword cppSTLconstant WCHAR_MIN 852 | syntax keyword cppSTLconstant WCHAR_MAX 853 | 854 | " locale 855 | syntax keyword cppSTLtype locale 856 | syntax keyword cppSTLtype ctype_base 857 | syntax keyword cppSTLtype codecvt_base 858 | syntax keyword cppSTLtype messages_base 859 | syntax keyword cppSTLtype time_base 860 | syntax keyword cppSTLtype money_base 861 | syntax keyword cppSTLtype ctype 862 | syntax keyword cppSTLtype codecvt 863 | syntax keyword cppSTLtype collate 864 | syntax keyword cppSTLtype messages 865 | syntax keyword cppSTLtype time_get 866 | syntax keyword cppSTLtype time_put 867 | syntax keyword cppSTLtype num_get 868 | syntax keyword cppSTLtype num_put 869 | syntax keyword cppSTLtype numpunct 870 | syntax keyword cppSTLtype money_get 871 | syntax keyword cppSTLtype money_put 872 | syntax keyword cppSTLtype moneypunct 873 | syntax keyword cppSTLtype ctype_byname 874 | syntax keyword cppSTLtype codecvt_byname 875 | syntax keyword cppSTLtype messages_byname 876 | syntax keyword cppSTLtype collate_byname 877 | syntax keyword cppSTLtype time_get_byname 878 | syntax keyword cppSTLtype time_put_byname 879 | syntax keyword cppSTLtype numpunct_byname 880 | syntax keyword cppSTLtype moneypunct_byname 881 | syntax keyword cppSTLfunction use_facet 882 | syntax keyword cppSTLfunction has_facet 883 | syntax keyword cppSTLfunction isspace isblank iscntrl isupper islower isalpha 884 | syntax keyword cppSTLfunction isdigit ispunct isxdigit isalnum isprint isgraph 885 | 886 | if !exists("cpp_no_cpp11") 887 | syntax keyword cppSTLconstant nullptr 888 | 889 | " containers (array, vector, list, *map, *set, ...) 890 | syntax keyword cppSTLtype array 891 | syntax keyword cppSTLfunction cbegin cend 892 | syntax keyword cppSTLfunction crbegin crend 893 | syntax keyword cppSTLfunction shrink_to_fit 894 | syntax keyword cppSTLfunction emplace 895 | syntax keyword cppSTLfunction emplace_back 896 | syntax keyword cppSTLfunction emplace_front 897 | syntax keyword cppSTLfunction emplace_hint 898 | 899 | " algorithm 900 | syntax keyword cppSTLfunction all_of any_of none_of 901 | syntax keyword cppSTLfunction find_if_not 902 | syntax keyword cppSTLfunction copy_if 903 | syntax keyword cppSTLfunction copy_n 904 | syntax keyword cppSTLfunction move 905 | syntax keyword cppSTLfunction move_backward 906 | syntax keyword cppSTLfunction shuffle 907 | syntax keyword cppSTLfunction is_partitioned 908 | syntax keyword cppSTLfunction partition_copy 909 | syntax keyword cppSTLfunction partition_point 910 | syntax keyword cppSTLfunction is_sorted 911 | syntax keyword cppSTLfunction is_sorted_until 912 | syntax keyword cppSTLfunction is_heap 913 | syntax keyword cppSTLfunction is_heap_until 914 | syntax keyword cppSTLfunction minmax 915 | syntax keyword cppSTLfunction minmax_element 916 | syntax keyword cppSTLfunction is_permutation 917 | syntax keyword cppSTLfunction itoa 918 | 919 | " atomic 920 | syntax keyword cppSTLtype atomic 921 | syntax keyword cppSTLtype atomic_flag 922 | syntax keyword cppSTLtype atomic_bool 923 | syntax keyword cppSTLtype atomic_char 924 | syntax keyword cppSTLtype atomic_schar 925 | syntax keyword cppSTLtype atomic_uchar 926 | syntax keyword cppSTLtype atomic_short 927 | syntax keyword cppSTLtype atomic_ushort 928 | syntax keyword cppSTLtype atomic_int 929 | syntax keyword cppSTLtype atomic_uint 930 | syntax keyword cppSTLtype atomic_long 931 | syntax keyword cppSTLtype atomic_ulong 932 | syntax keyword cppSTLtype atomic_llong 933 | syntax keyword cppSTLtype atomic_ullong 934 | syntax keyword cppSTLtype atomic_char16_t 935 | syntax keyword cppSTLtype atomic_char32_t 936 | syntax keyword cppSTLtype atomic_wchar_t 937 | syntax keyword cppSTLtype atomic_int_least8_t 938 | syntax keyword cppSTLtype atomic_uint_least8_t 939 | syntax keyword cppSTLtype atomic_int_least16_t 940 | syntax keyword cppSTLtype atomic_uint_least16_t 941 | syntax keyword cppSTLtype atomic_int_least32_t 942 | syntax keyword cppSTLtype atomic_uint_least32_t 943 | syntax keyword cppSTLtype atomic_int_least64_t 944 | syntax keyword cppSTLtype atomic_uint_least64_t 945 | syntax keyword cppSTLtype atomic_int_fast8_t 946 | syntax keyword cppSTLtype atomic_uint_fast8_t 947 | syntax keyword cppSTLtype atomic_int_fast16_t 948 | syntax keyword cppSTLtype atomic_uint_fast16_t 949 | syntax keyword cppSTLtype atomic_int_fast32_t 950 | syntax keyword cppSTLtype atomic_uint_fast32_t 951 | syntax keyword cppSTLtype atomic_int_fast64_t 952 | syntax keyword cppSTLtype atomic_uint_fast64_t 953 | syntax keyword cppSTLtype atomic_intptr_t 954 | syntax keyword cppSTLtype atomic_uintptr_t 955 | syntax keyword cppSTLtype atomic_size_t 956 | syntax keyword cppSTLtype atomic_ptrdiff_t 957 | syntax keyword cppSTLtype atomic_intmax_t 958 | syntax keyword cppSTLtype atomic_uintmax_t 959 | syntax keyword cppSTLconstant ATOMIC_FLAG_INIT 960 | syntax keyword cppSTLenum memory_order 961 | syntax keyword cppSTLtype memory_order_relaxed 962 | syntax keyword cppSTLtype memory_order_consume 963 | syntax keyword cppSTLtype memory_order_acquire 964 | syntax keyword cppSTLtype memory_order_release 965 | syntax keyword cppSTLtype memory_order_acq_rel 966 | syntax keyword cppSTLtype memory_order_seq_cst 967 | syntax keyword cppSTLfunction is_lock_free 968 | syntax keyword cppSTLfunction compare_exchange_weak 969 | syntax keyword cppSTLfunction compare_exchange_strong 970 | syntax keyword cppSTLfunction fetch_add 971 | syntax keyword cppSTLfunction fetch_sub 972 | syntax keyword cppSTLfunction fetch_and 973 | syntax keyword cppSTLfunction fetch_or 974 | syntax keyword cppSTLfunction fetch_xor 975 | syntax keyword cppSTLfunction atomic_is_lock_free 976 | syntax keyword cppSTLfunction atomic_store 977 | syntax keyword cppSTLfunction atomic_store_explicit 978 | syntax keyword cppSTLfunction atomic_load 979 | syntax keyword cppSTLfunction atomic_load_explicit 980 | syntax keyword cppSTLfunction atomic_exchange 981 | syntax keyword cppSTLfunction atomic_exchange_explicit 982 | syntax keyword cppSTLfunction atomic_compare_exchange_weak 983 | syntax keyword cppSTLfunction atomic_compare_exchange_weak_explicit 984 | syntax keyword cppSTLfunction atomic_compare_exchange_strong 985 | syntax keyword cppSTLfunction atomic_compare_exchange_strong_explicit 986 | syntax keyword cppSTLfunction atomic_fetch_add 987 | syntax keyword cppSTLfunction atomic_fetch_add_explicit 988 | syntax keyword cppSTLfunction atomic_fetch_sub 989 | syntax keyword cppSTLfunction atomic_fetch_sub_explicit 990 | syntax keyword cppSTLfunction atomic_fetch_and 991 | syntax keyword cppSTLfunction atomic_fetch_and_explicit 992 | syntax keyword cppSTLfunction atomic_fetch_or 993 | syntax keyword cppSTLfunction atomic_fetch_or_explicit 994 | syntax keyword cppSTLfunction atomic_fetch_xor 995 | syntax keyword cppSTLfunction atomic_fetch_xor_explicit 996 | syntax keyword cppSTLfunction atomic_flag_test_and_set 997 | syntax keyword cppSTLfunction atomic_flag_test_and_set_explicit 998 | syntax keyword cppSTLfunction atomic_flag_clear 999 | syntax keyword cppSTLfunction atomic_flag_clear_explicit 1000 | syntax keyword cppSTLfunction atomic_init 1001 | syntax keyword cppSTLfunction ATOMIC_VAR_INIT 1002 | syntax keyword cppSTLfunction kill_dependency 1003 | syntax keyword cppSTLfunction atomic_thread_fence 1004 | syntax keyword cppSTLfunction atomic_signal_fence 1005 | syntax keyword cppSTLfunction exchange 1006 | " syntax keyword cppSTLfunction store 1007 | " syntax keyword cppSTLfunction load 1008 | 1009 | " bitset 1010 | syntax keyword cppSTLfunction to_ullong 1011 | " syntax keyword cppSTLfunction all 1012 | 1013 | " cinttypes 1014 | syntax keyword cppSTLfunction strtoimax 1015 | syntax keyword cppSTLfunction strtoumax 1016 | syntax keyword cppSTLfunction wcstoimax 1017 | syntax keyword cppSTLfunction wcstoumax 1018 | 1019 | " chrono 1020 | syntax keyword cppSTLnamespace chrono 1021 | syntax keyword cppSTLcast duration_cast 1022 | syntax keyword cppSTLcast time_point_cast 1023 | syntax keyword cppSTLtype duration 1024 | syntax keyword cppSTLtype system_clock 1025 | syntax keyword cppSTLtype steady_clock 1026 | syntax keyword cppSTLtype high_resolution_clock 1027 | syntax keyword cppSTLtype time_point 1028 | syntax keyword cppSTLtype nanoseconds 1029 | syntax keyword cppSTLtype microseconds 1030 | syntax keyword cppSTLtype milliseconds 1031 | syntax keyword cppSTLtype seconds 1032 | syntax keyword cppSTLtype minutes 1033 | syntax keyword cppSTLtype hours 1034 | syntax keyword cppSTLtype treat_as_floating_point 1035 | syntax keyword cppSTLtype duration_values 1036 | " syntax keyword cppSTLtype rep period 1037 | syntax keyword cppSTLfunction time_since_epoch 1038 | syntax keyword cppSTLfunction to_time_t 1039 | syntax keyword cppSTLfunction from_time_t 1040 | " syntax keyword cppSTLfunction zero 1041 | " syntax keyword cppSTLfunction now 1042 | 1043 | " complex 1044 | " syntax keyword cppSTLfunction proj 1045 | 1046 | " condition_variable 1047 | syntax keyword cppSTLtype condition_variable 1048 | syntax keyword cppSTLfunction notify_all 1049 | syntax keyword cppSTLfunction notify_one 1050 | 1051 | " cstddef 1052 | syntax keyword cppSTLtype nullptr_t max_align_t 1053 | 1054 | " cstdlib 1055 | syntax keyword cppSTLfunction quick_exit 1056 | syntax keyword cppSTLfunction _Exit 1057 | syntax keyword cppSTLfunction at_quick_exit 1058 | 1059 | " cuchar 1060 | syntax keyword cppSTLfunction mbrtoc16 1061 | syntax keyword cppSTLfunction c16rtomb 1062 | syntax keyword cppSTLfunction mbrtoc32 1063 | syntax keyword cppSTLfunction c32rtomb 1064 | 1065 | " exception 1066 | syntax keyword cppSTLtype exception_ptr 1067 | syntax keyword cppSTLtype nested_exception 1068 | syntax keyword cppSTLfunction get_terminate 1069 | syntax keyword cppSTLfunction make_exception_ptr 1070 | syntax keyword cppSTLfunction current_exception 1071 | syntax keyword cppSTLfunction rethrow_exception 1072 | syntax keyword cppSTLfunction throw_with_nested 1073 | syntax keyword cppSTLfunction rethrow_if_nested 1074 | syntax keyword cppSTLfunction rethrow_nested 1075 | 1076 | " forward_list 1077 | syntax keyword cppSTLtype forward_list 1078 | syntax keyword cppSTLfunction before_begin 1079 | syntax keyword cppSTLfunction cbefore_begin 1080 | syntax keyword cppSTLfunction insert_after 1081 | syntax keyword cppSTLfunction emplace_after 1082 | syntax keyword cppSTLfunction erase_after 1083 | syntax keyword cppSTLfunction splice_after 1084 | 1085 | " functional 1086 | syntax keyword cppSTLexception bad_function_call 1087 | syntax keyword cppSTLfunctional function 1088 | syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9 1089 | syntax keyword cppSTLtype hash 1090 | syntax keyword cppSTLtype is_bind_expression 1091 | syntax keyword cppSTLtype is_placeholder 1092 | syntax keyword cppSTLtype reference_wrapper 1093 | syntax keyword cppSTLfunction bind 1094 | syntax keyword cppSTLfunction mem_fn 1095 | syntax keyword cppSTLfunction ref cref 1096 | 1097 | " future 1098 | syntax keyword cppSTLtype future 1099 | syntax keyword cppSTLtype packaged_task 1100 | syntax keyword cppSTLtype promise 1101 | syntax keyword cppSTLtype shared_future 1102 | syntax keyword cppSTLenum future_status 1103 | syntax keyword cppSTLenum future_errc 1104 | syntax keyword cppSTLenum launch 1105 | syntax keyword cppSTLexception future_error 1106 | syntax keyword cppSTLfunction get_future 1107 | syntax keyword cppSTLfunction set_value 1108 | syntax keyword cppSTLfunction set_value_at_thread_exit 1109 | syntax keyword cppSTLfunction set_exception 1110 | syntax keyword cppSTLfunction set_exception_at_thread_exit 1111 | syntax keyword cppSTLfunction wait_for 1112 | syntax keyword cppSTLfunction wait_until 1113 | syntax keyword cppSTLfunction future_category 1114 | syntax keyword cppSTLfunction make_error_code 1115 | syntax keyword cppSTLfunction make_error_condition 1116 | syntax keyword cppSTLfunction make_ready_at_thread_exit 1117 | " syntax keyword cppSTLfunction async 1118 | " syntax keyword cppSTLfunction share 1119 | " syntax keyword cppSTLfunction valid 1120 | " syntax keyword cppSTLfunction wait 1121 | 1122 | " initializer_list 1123 | syntax keyword cppSTLtype initializer_list 1124 | 1125 | " io 1126 | syntax keyword cppSTLenum io_errc 1127 | syntax keyword cppSTLfunction iostream_category 1128 | syntax keyword cppSTLfunction vscanf vfscanf vsscanf 1129 | syntax keyword cppSTLfunction snprintf vsnprintf 1130 | syntax keyword cppSTLfunction vwscanf vfwscanf vswscanf 1131 | 1132 | " iterator 1133 | syntax keyword cppSTLiterator move_iterator 1134 | syntax keyword cppSTLfunction make_move_iterator 1135 | syntax keyword cppSTLfunction next prev 1136 | 1137 | " limits 1138 | syntax keyword cppSTLconstant max_digits10 1139 | syntax keyword cppSTLfunction lowest 1140 | 1141 | " locale 1142 | syntax keyword cppSTLtype wstring_convert 1143 | syntax keyword cppSTLtype wbuffer_convert 1144 | syntax keyword cppSTLtype codecvt_utf8 1145 | syntax keyword cppSTLtype codecvt_utf16 1146 | syntax keyword cppSTLtype codecvt_utf8_utf16 1147 | syntax keyword cppSTLtype codecvt_mode 1148 | syntax keyword cppSTLfunction isblank 1149 | syntax keyword cppSTLfunction iswblank 1150 | 1151 | " memory 1152 | syntax keyword cppSTLtype unique_ptr 1153 | syntax keyword cppSTLtype shared_ptr 1154 | syntax keyword cppSTLtype weak_ptr 1155 | syntax keyword cppSTLtype owner_less 1156 | syntax keyword cppSTLtype enable_shared_from_this 1157 | syntax keyword cppSTLtype default_delete 1158 | syntax keyword cppSTLtype allocator_traits 1159 | syntax keyword cppSTLtype allocator_type 1160 | syntax keyword cppSTLtype allocator_arg_t 1161 | syntax keyword cppSTLtype uses_allocator 1162 | syntax keyword cppSTLtype scoped_allocator_adaptor 1163 | syntax keyword cppSTLtype pointer_safety 1164 | syntax keyword cppSTLtype pointer_traits 1165 | syntax keyword cppSTLconstant allocator_arg 1166 | syntax keyword cppSTLexception bad_weak_ptr 1167 | syntax keyword cppSTLcast static_pointer_cast 1168 | syntax keyword cppSTLcast dynamic_pointer_cast 1169 | syntax keyword cppSTLcast const_pointer_cast 1170 | syntax keyword cppSTLfunction make_shared 1171 | syntax keyword cppSTLfunction declare_reachable 1172 | syntax keyword cppSTLfunction undeclare_reachable 1173 | syntax keyword cppSTLfunction declare_no_pointers 1174 | syntax keyword cppSTLfunction undeclare_no_pointers 1175 | syntax keyword cppSTLfunction get_pointer_safety 1176 | syntax keyword cppSTLfunction addressof 1177 | syntax keyword cppSTLfunction allocate_shared 1178 | syntax keyword cppSTLfunction get_deleter 1179 | " syntax keyword cppSTLfunction align 1180 | 1181 | " mutex 1182 | syntax keyword cppSTLtype mutex 1183 | syntax keyword cppSTLtype timed_mutex 1184 | syntax keyword cppSTLtype recursive_mutex 1185 | syntax keyword cppSTLtype recursive_timed_mutex 1186 | syntax keyword cppSTLtype lock_guard 1187 | syntax keyword cppSTLtype unique_lock 1188 | syntax keyword cppSTLtype defer_lock_t 1189 | syntax keyword cppSTLtype try_to_lock_t 1190 | syntax keyword cppSTLtype adopt_lock_t 1191 | syntax keyword cppSTLtype once_flag 1192 | syntax keyword cppSTLtype condition_variable_any 1193 | syntax keyword cppSTLenum cv_status 1194 | syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock 1195 | syntax keyword cppSTLfunction try_lock lock unlock try_lock_for try_lock_until 1196 | syntax keyword cppSTLfunction call_once 1197 | syntax keyword cppSTLfunction owns_lock 1198 | syntax keyword cppSTLfunction notify_all_at_thread_exit 1199 | syntax keyword cppSTLfunction release 1200 | " Note: unique_lock has method 'mutex()', but already set as cppSTLtype 1201 | " syntax keyword cppSTLfunction mutex 1202 | 1203 | " new 1204 | syntax keyword cppSTLexception bad_array_new_length 1205 | syntax keyword cppSTLfunction get_new_handler 1206 | 1207 | " numerics, cmath 1208 | syntax keyword cppSTLconstant HUGE_VALF 1209 | syntax keyword cppSTLconstant HUGE_VALL 1210 | syntax keyword cppSTLconstant INFINITY 1211 | syntax keyword cppSTLconstant NAN 1212 | syntax keyword cppSTLconstant math_errhandling 1213 | syntax keyword cppSTLconstant MATH_ERRNO 1214 | syntax keyword cppSTLconstant MATH_ERREXCEPT 1215 | syntax keyword cppSTLconstant FP_NORMAL 1216 | syntax keyword cppSTLconstant FP_SUBNORMAL 1217 | syntax keyword cppSTLconstant FP_ZERO 1218 | syntax keyword cppSTLconstant FP_INFINITY 1219 | syntax keyword cppSTLconstant FP_NAN 1220 | syntax keyword cppSTLconstant FLT_EVAL_METHOD 1221 | syntax keyword cppSTLfunction imaxabs 1222 | syntax keyword cppSTLfunction imaxdiv 1223 | syntax keyword cppSTLfunction remainder 1224 | syntax keyword cppSTLfunction remquo 1225 | syntax keyword cppSTLfunction fma 1226 | syntax keyword cppSTLfunction fmax 1227 | syntax keyword cppSTLfunction fmin 1228 | syntax keyword cppSTLfunction fdim 1229 | syntax keyword cppSTLfunction nan 1230 | syntax keyword cppSTLfunction nanf 1231 | syntax keyword cppSTLfunction nanl 1232 | syntax keyword cppSTLfunction exp2 1233 | syntax keyword cppSTLfunction expm1 1234 | syntax keyword cppSTLfunction log1p 1235 | syntax keyword cppSTLfunction log2 1236 | syntax keyword cppSTLfunction cbrt 1237 | syntax keyword cppSTLfunction hypot 1238 | syntax keyword cppSTLfunction asinh 1239 | syntax keyword cppSTLfunction acosh 1240 | syntax keyword cppSTLfunction atanh 1241 | syntax keyword cppSTLfunction erf 1242 | syntax keyword cppSTLfunction erfc 1243 | syntax keyword cppSTLfunction lgamma 1244 | syntax keyword cppSTLfunction tgamma 1245 | syntax keyword cppSTLfunction trunc 1246 | syntax keyword cppSTLfunction round 1247 | syntax keyword cppSTLfunction lround 1248 | syntax keyword cppSTLfunction llround 1249 | syntax keyword cppSTLfunction nearbyint 1250 | syntax keyword cppSTLfunction rint 1251 | syntax keyword cppSTLfunction lrint 1252 | syntax keyword cppSTLfunction llrint 1253 | syntax keyword cppSTLfunction scalbn 1254 | syntax keyword cppSTLfunction scalbln 1255 | syntax keyword cppSTLfunction ilogb 1256 | syntax keyword cppSTLfunction logb 1257 | syntax keyword cppSTLfunction nextafter 1258 | syntax keyword cppSTLfunction nexttoward 1259 | syntax keyword cppSTLfunction copysign 1260 | syntax keyword cppSTLfunction fpclassify 1261 | syntax keyword cppSTLfunction isfinite 1262 | syntax keyword cppSTLfunction isinf 1263 | syntax keyword cppSTLfunction isnan 1264 | syntax keyword cppSTLfunction isnormal 1265 | syntax keyword cppSTLfunction signbit 1266 | 1267 | " random 1268 | syntax keyword cppSTLtype linear_congruential_engine 1269 | syntax keyword cppSTLtype mersenne_twister_engine 1270 | syntax keyword cppSTLtype subtract_with_carry_engine 1271 | syntax keyword cppSTLtype discard_block_engine 1272 | syntax keyword cppSTLtype independent_bits_engine 1273 | syntax keyword cppSTLtype shuffle_order_engine 1274 | syntax keyword cppSTLtype random_device 1275 | syntax keyword cppSTLtype default_random_engine 1276 | syntax keyword cppSTLtype minstd_rand0 1277 | syntax keyword cppSTLtype minstd_rand 1278 | syntax keyword cppSTLtype mt19937 1279 | syntax keyword cppSTLtype mt19937_64 1280 | syntax keyword cppSTLtype ranlux24_base 1281 | syntax keyword cppSTLtype ranlux48_base 1282 | syntax keyword cppSTLtype ranlux24 1283 | syntax keyword cppSTLtype ranlux48 1284 | syntax keyword cppSTLtype knuth_b 1285 | syntax keyword cppSTLtype uniform_int_distribution 1286 | syntax keyword cppSTLtype uniform_real_distribution 1287 | syntax keyword cppSTLtype bernoulli_distribution 1288 | syntax keyword cppSTLtype binomial_distribution 1289 | syntax keyword cppSTLtype negative_binomial_distribution 1290 | syntax keyword cppSTLtype geometric_distribution 1291 | syntax keyword cppSTLtype poisson_distribution 1292 | syntax keyword cppSTLtype exponential_distribution 1293 | syntax keyword cppSTLtype gamma_distribution 1294 | syntax keyword cppSTLtype weibull_distribution 1295 | syntax keyword cppSTLtype extreme_value_distribution 1296 | syntax keyword cppSTLtype normal_distribution 1297 | syntax keyword cppSTLtype lognormal_distribution 1298 | syntax keyword cppSTLtype chi_squared_distribution 1299 | syntax keyword cppSTLtype cauchy_distribution 1300 | syntax keyword cppSTLtype fisher_f_distribution 1301 | syntax keyword cppSTLtype student_t_distribution 1302 | syntax keyword cppSTLtype discrete_distribution 1303 | syntax keyword cppSTLtype piecewise_constant_distribution 1304 | syntax keyword cppSTLtype piecewise_linear_distribution 1305 | syntax keyword cppSTLtype seed_seq 1306 | syntax keyword cppSTLfunction generate_canonical 1307 | 1308 | " ratio 1309 | syntax keyword cppSTLtype ratio 1310 | syntax keyword cppSTLtype yocto 1311 | syntax keyword cppSTLtype zepto 1312 | syntax keyword cppSTLtype atto 1313 | syntax keyword cppSTLtype femto 1314 | syntax keyword cppSTLtype pico 1315 | syntax keyword cppSTLtype nano 1316 | syntax keyword cppSTLtype micro 1317 | syntax keyword cppSTLtype milli 1318 | syntax keyword cppSTLtype centi 1319 | syntax keyword cppSTLtype deci 1320 | syntax keyword cppSTLtype deca 1321 | syntax keyword cppSTLtype hecto 1322 | syntax keyword cppSTLtype kilo 1323 | syntax keyword cppSTLtype mega 1324 | syntax keyword cppSTLtype giga 1325 | syntax keyword cppSTLtype tera 1326 | syntax keyword cppSTLtype peta 1327 | syntax keyword cppSTLtype exa 1328 | syntax keyword cppSTLtype zetta 1329 | syntax keyword cppSTLtype yotta 1330 | syntax keyword cppSTLtype ratio_add 1331 | syntax keyword cppSTLtype ratio_subtract 1332 | syntax keyword cppSTLtype ratio_multiply 1333 | syntax keyword cppSTLtype ratio_divide 1334 | syntax keyword cppSTLtype ratio_equal 1335 | syntax keyword cppSTLtype ratio_not_equal 1336 | syntax keyword cppSTLtype ratio_less 1337 | syntax keyword cppSTLtype ratio_less_equal 1338 | syntax keyword cppSTLtype ratio_greater 1339 | syntax keyword cppSTLtype ratio_greater_equal 1340 | 1341 | " regex 1342 | syntax keyword cppSTLtype basic_regex 1343 | syntax keyword cppSTLtype sub_match 1344 | syntax keyword cppSTLtype match_results 1345 | syntax keyword cppSTLtype regex_traits 1346 | syntax keyword cppSTLtype regex_match regex_search regex_replace 1347 | syntax keyword cppSTLiterator regex_iterator 1348 | syntax keyword cppSTLiterator regex_token_iterator 1349 | syntax keyword cppSTLexception regex_error 1350 | syntax keyword cppSTLtype syntax_option_type match_flag_type error_type 1351 | 1352 | " string 1353 | syntax keyword cppSTLfunction stoi 1354 | syntax keyword cppSTLfunction stol 1355 | syntax keyword cppSTLfunction stoll 1356 | syntax keyword cppSTLfunction stoul 1357 | syntax keyword cppSTLfunction stoull 1358 | syntax keyword cppSTLfunction stof 1359 | syntax keyword cppSTLfunction stod 1360 | syntax keyword cppSTLfunction stold 1361 | 1362 | " system_error 1363 | syntax keyword cppSTLenum errc 1364 | syntax keyword cppSTLtype system_error 1365 | syntax keyword cppSTLtype error_code 1366 | syntax keyword cppSTLtype error_condition 1367 | syntax keyword cppSTLtype error_category 1368 | syntax keyword cppSTLtype is_error_code_enum 1369 | syntax keyword cppSTLtype is_error_condition_enum 1370 | " syntax keyword cppSTLfunction default_error_condition 1371 | " syntax keyword cppSTLfunction generic_category 1372 | " syntax keyword cppSTLfunction system_category 1373 | " syntax keyword cppSTLfunction code 1374 | " syntax keyword cppSTLfunction category 1375 | " syntax keyword cppSTLfunction message 1376 | " syntax keyword cppSTLfunction equivalent 1377 | 1378 | " thread 1379 | syntax keyword cppSTLnamespace this_thread 1380 | syntax keyword cppSTLtype thread 1381 | syntax keyword cppSTLfunction get_id 1382 | syntax keyword cppSTLfunction sleep_for 1383 | syntax keyword cppSTLfunction sleep_until 1384 | syntax keyword cppSTLfunction joinable 1385 | syntax keyword cppSTLfunction native_handle 1386 | syntax keyword cppSTLfunction hardware_concurrency 1387 | " syntax keyword cppSTLfunction yield 1388 | " syntax keyword cppSTLfunction join 1389 | " syntax keyword cppSTLfunction detach 1390 | 1391 | " tuple 1392 | syntax keyword cppSTLtype tuple 1393 | syntax keyword cppSTLtype tuple_size 1394 | syntax keyword cppSTLtype tuple_element 1395 | syntax keyword cppSTLfunction make_tuple 1396 | syntax keyword cppSTLfunction tie 1397 | syntax keyword cppSTLfunction forward_as_tuple 1398 | syntax keyword cppSTLfunction tuple_cat 1399 | " Note: 'ignore' is already set as cppSTLfunction 1400 | " syntax keyword cppSTLconstant ignore 1401 | 1402 | " typeindex 1403 | syntax keyword cppSTLtype type_index 1404 | 1405 | " type_traits 1406 | syntax keyword cppSTLtype is_void 1407 | syntax keyword cppSTLtype is_integral 1408 | syntax keyword cppSTLtype is_floating_point 1409 | syntax keyword cppSTLtype is_array 1410 | syntax keyword cppSTLtype is_enum 1411 | syntax keyword cppSTLtype is_union 1412 | syntax keyword cppSTLtype is_class 1413 | syntax keyword cppSTLtype is_function 1414 | syntax keyword cppSTLtype is_pointer 1415 | syntax keyword cppSTLtype is_lvalue_reference 1416 | syntax keyword cppSTLtype is_rvalue_reference 1417 | syntax keyword cppSTLtype is_member_object_pointer 1418 | syntax keyword cppSTLtype is_member_function_pointer 1419 | syntax keyword cppSTLtype is_fundamental 1420 | syntax keyword cppSTLtype is_arithmetic 1421 | syntax keyword cppSTLtype is_scalar 1422 | syntax keyword cppSTLtype is_object 1423 | syntax keyword cppSTLtype is_compound 1424 | syntax keyword cppSTLtype is_reference 1425 | syntax keyword cppSTLtype is_member_pointer 1426 | syntax keyword cppSTLtype is_const 1427 | syntax keyword cppSTLtype is_volatile 1428 | syntax keyword cppSTLtype is_trivial 1429 | syntax keyword cppSTLtype is_trivially_copyable 1430 | syntax keyword cppSTLtype is_standard_layout 1431 | syntax keyword cppSTLtype is_pod 1432 | syntax keyword cppSTLtype is_literal_type 1433 | syntax keyword cppSTLtype is_empty 1434 | syntax keyword cppSTLtype is_polymorphic 1435 | syntax keyword cppSTLtype is_abstract 1436 | syntax keyword cppSTLtype is_signed 1437 | syntax keyword cppSTLtype is_unsigned 1438 | syntax keyword cppSTLtype is_constructible 1439 | syntax keyword cppSTLtype is_trivially_constructible 1440 | syntax keyword cppSTLtype is_nothrow_constructible 1441 | syntax keyword cppSTLtype is_default_constructible 1442 | syntax keyword cppSTLtype is_trivially_default_constructible 1443 | syntax keyword cppSTLtype is_nothrow_default_constructible 1444 | syntax keyword cppSTLtype is_copy_constructible 1445 | syntax keyword cppSTLtype is_trivially_copy_constructible 1446 | syntax keyword cppSTLtype is_nothrow_copy_constructible 1447 | syntax keyword cppSTLtype is_move_constructible 1448 | syntax keyword cppSTLtype is_trivially_move_constructible 1449 | syntax keyword cppSTLtype is_nothrow_move_constructible 1450 | syntax keyword cppSTLtype is_assignable 1451 | syntax keyword cppSTLtype is_trivially_assignable 1452 | syntax keyword cppSTLtype is_nothrow_assignable 1453 | syntax keyword cppSTLtype is_copy_assignable 1454 | syntax keyword cppSTLtype is_trivially_copy_assignable 1455 | syntax keyword cppSTLtype is_nothrow_copy_assignable 1456 | syntax keyword cppSTLtype is_move_assignable 1457 | syntax keyword cppSTLtype is_trivially_move_assignable 1458 | syntax keyword cppSTLtype is_nothrow_move_assignable 1459 | syntax keyword cppSTLtype is_destructible 1460 | syntax keyword cppSTLtype is_trivially_destructible 1461 | syntax keyword cppSTLtype is_nothrow_destructible 1462 | syntax keyword cppSTLtype has_virtual_destructor 1463 | syntax keyword cppSTLtype alignment_of 1464 | syntax keyword cppSTLtype rank 1465 | syntax keyword cppSTLtype extent 1466 | syntax keyword cppSTLtype is_same 1467 | syntax keyword cppSTLtype is_base_of 1468 | syntax keyword cppSTLtype is_convertible 1469 | syntax keyword cppSTLtype remove_cv 1470 | syntax keyword cppSTLtype remove_const 1471 | syntax keyword cppSTLtype remove_volatile 1472 | syntax keyword cppSTLtype add_cv 1473 | syntax keyword cppSTLtype add_const 1474 | syntax keyword cppSTLtype add_volatile 1475 | syntax keyword cppSTLtype remove_reference 1476 | syntax keyword cppSTLtype add_lvalue_reference 1477 | syntax keyword cppSTLtype add_rvalue_reference 1478 | syntax keyword cppSTLtype remove_pointer 1479 | syntax keyword cppSTLtype add_pointer 1480 | syntax keyword cppSTLtype make_signed 1481 | syntax keyword cppSTLtype make_unsigned 1482 | syntax keyword cppSTLtype remove_extent 1483 | syntax keyword cppSTLtype remove_all_extents 1484 | syntax keyword cppSTLtype aligned_storage 1485 | syntax keyword cppSTLtype aligned_union 1486 | syntax keyword cppSTLtype decay 1487 | syntax keyword cppSTLtype enable_if 1488 | syntax keyword cppSTLtype conditional 1489 | syntax keyword cppSTLtype common_type 1490 | syntax keyword cppSTLtype underlying_type 1491 | syntax keyword cppSTLtype result_of 1492 | syntax keyword cppSTLtype integral_constant 1493 | syntax keyword cppSTLtype true_type 1494 | syntax keyword cppSTLtype false_type 1495 | 1496 | " unordered_map, unordered_set, unordered_multimap, unordered_multiset 1497 | syntax keyword cppSTLtype unordered_map 1498 | syntax keyword cppSTLtype unordered_set 1499 | syntax keyword cppSTLtype unordered_multimap 1500 | syntax keyword cppSTLtype unordered_multiset 1501 | syntax keyword cppSTLtype hasher 1502 | syntax keyword cppSTLtype key_equal 1503 | syntax keyword cppSTLiterator local_iterator 1504 | syntax keyword cppSTLiterator const_local_iterator 1505 | syntax keyword cppSTLfunction bucket_count 1506 | syntax keyword cppSTLfunction max_bucket_count 1507 | syntax keyword cppSTLfunction bucket_size 1508 | syntax keyword cppSTLfunction bucket 1509 | syntax keyword cppSTLfunction load_factor 1510 | syntax keyword cppSTLfunction max_load_factor 1511 | syntax keyword cppSTLfunction rehash 1512 | syntax keyword cppSTLfunction reserve 1513 | syntax keyword cppSTLfunction hash_function 1514 | syntax keyword cppSTLfunction key_eq 1515 | 1516 | " utility 1517 | syntax keyword cppSTLtype piecewise_construct_t 1518 | syntax keyword cppSTLconstant piecewise_construct 1519 | syntax keyword cppSTLfunction declval 1520 | syntax keyword cppSTLfunction forward 1521 | syntax keyword cppSTLfunction move_if_noexcept 1522 | 1523 | " raw string literals 1524 | syntax region cppRawString matchgroup=cppRawDelimiter start=@\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(@ end=/)\z1"/ contains=@Spell 1525 | 1526 | syn match cNumber "0b[01]\+" 1527 | endif " C++11 1528 | 1529 | 1530 | if !exists("cpp_no_cpp14") 1531 | " chrono 1532 | syntax keyword cppSTLnamespace literals 1533 | syntax keyword cppSTLnamespace chrono_literals 1534 | 1535 | " iterator 1536 | syntax keyword cppSTLfunction make_reverse_iterator 1537 | 1538 | " memory 1539 | syntax keyword cppSTLfunction make_unique 1540 | 1541 | " utility 1542 | syntax keyword cppSTLtype integer_sequence 1543 | syntax keyword cppSTLtype index_sequence 1544 | syntax keyword cppSTLtype make_integer_sequence 1545 | syntax keyword cppSTLtype make_index_sequence 1546 | syntax keyword cppSTLtype index_sequence_for 1547 | 1548 | " shared_mutex 1549 | syntax keyword cppSTLtype shared_timed_mutex 1550 | syntax keyword cppSTLtype shared_lock 1551 | syntax keyword cppSTLfunction lock_shared 1552 | syntax keyword cppSTLfunction unlock_shared 1553 | syntax keyword cppSTLfunction try_lock_shared 1554 | syntax keyword cppSTLfunction try_lock_shared_for 1555 | syntax keyword cppSTLfunction try_lock_shared_until 1556 | 1557 | " string 1558 | syntax keyword cppSTLnamespace string_literals 1559 | 1560 | " tuple 1561 | syntax keyword cppSTLtype tuple_element_t 1562 | 1563 | " type_traits 1564 | syntax keyword cppSTLtype is_null_pointer 1565 | syntax keyword cppSTLtype remove_cv_t 1566 | syntax keyword cppSTLtype remove_const_t 1567 | syntax keyword cppSTLtype remove_volatile_t 1568 | syntax keyword cppSTLtype add_cv_t 1569 | syntax keyword cppSTLtype add_const_t 1570 | syntax keyword cppSTLtype add_volatile_t 1571 | syntax keyword cppSTLtype remove_reference_t 1572 | syntax keyword cppSTLtype add_lvalue_reference_t 1573 | syntax keyword cppSTLtype add_rvalue_reference_t 1574 | syntax keyword cppSTLtype remove_pointer_t 1575 | syntax keyword cppSTLtype add_pointer_t 1576 | syntax keyword cppSTLtype make_signed_t 1577 | syntax keyword cppSTLtype make_unsigned_t 1578 | syntax keyword cppSTLtype remove_extent_t 1579 | syntax keyword cppSTLtype remove_all_extents_t 1580 | syntax keyword cppSTLtype aligned_storage_t 1581 | syntax keyword cppSTLtype aligned_union_t 1582 | syntax keyword cppSTLtype decay_t 1583 | syntax keyword cppSTLtype enable_if_t 1584 | syntax keyword cppSTLtype conditional_t 1585 | syntax keyword cppSTLtype common_type_t 1586 | syntax keyword cppSTLtype underlying_type_t 1587 | syntax keyword cppSTLtype result_of_t 1588 | endif " C++14 1589 | 1590 | 1591 | if !exists("cpp_no_cpp17") 1592 | syntax keyword cppSTLnamespace pmr 1593 | 1594 | " algorithm 1595 | syntax keyword cppSTLfunction clamp 1596 | syntax keyword cppSTLfunction for_each_n 1597 | 1598 | " any 1599 | syntax keyword cppSTLtype any 1600 | syntax keyword cppSTLexception bad_any_cast 1601 | syntax keyword cppSTLcast any_cast 1602 | syntax keyword cppSTLfunction make_any 1603 | 1604 | " array 1605 | syntax keyword cppSTLfunction to_array 1606 | syntax keyword cppSTLfunction make_array 1607 | 1608 | " atomic 1609 | syntax keyword cppSTLconstant is_always_lock_free 1610 | 1611 | " chrono 1612 | syntax keyword cppSTLbool treat_as_floating_point_v 1613 | 1614 | " cmath 1615 | syntax keyword cppSTLfunction assoc_laguerre assoc_laguerref assoc_laguerrel 1616 | syntax keyword cppSTLfunction assoc_legendre assoc_legendref assoc_legendrel 1617 | syntax keyword cppSTLfunction beta betaf betal 1618 | syntax keyword cppSTLfunction comp_ellint_1 comp_ellint_1f comp_ellint_1l 1619 | syntax keyword cppSTLfunction comp_ellint_2 comp_ellint_2f comp_ellint_2l 1620 | syntax keyword cppSTLfunction comp_ellint_3 comp_ellint_3f comp_ellint_3l 1621 | syntax keyword cppSTLfunction cyl_bessel_i cyl_bessel_if cyl_bessel_il 1622 | syntax keyword cppSTLfunction cyl_bessel_j cyl_bessel_jf cyl_bessel_jl 1623 | syntax keyword cppSTLfunction cyl_bessel_k cyl_bessel_kf cyl_bessel_kl 1624 | syntax keyword cppSTLfunction cyl_neumann cyl_neumannf cyl_neumannl 1625 | syntax keyword cppSTLfunction ellint_1 ellint_1f ellint_1l 1626 | syntax keyword cppSTLfunction ellint_2 ellint_2f ellint_2l 1627 | syntax keyword cppSTLfunction ellint_3 ellint_3f ellint_3l 1628 | syntax keyword cppSTLfunction expint expintf expintl 1629 | syntax keyword cppSTLfunction hermite hermitef hermitel 1630 | syntax keyword cppSTLfunction legendre legendrefl egendrel 1631 | syntax keyword cppSTLfunction laguerre laguerref laguerrel 1632 | syntax keyword cppSTLfunction riemann_zeta riemann_zetaf riemann_zetal 1633 | syntax keyword cppSTLfunction sph_bessel sph_besself sph_bessell 1634 | syntax keyword cppSTLfunction sph_legendre sph_legendref sph_legendrel 1635 | syntax keyword cppSTLfunction sph_neumann sph_neumannf sph_neumannl 1636 | 1637 | " cstdlib 1638 | syntax keyword cppSTLfunction aligned_alloc 1639 | 1640 | " exception 1641 | syntax keyword cppSTLfunction uncaught_exceptions 1642 | 1643 | " execution 1644 | syntax keyword cppSTLnamespace execution 1645 | syntax keyword cppSTLconstant seq par par_unseq 1646 | syntax keyword cppSTLbool is_execution_policy_v 1647 | syntax keyword cppSTLtype sequenced_policy 1648 | syntax keyword cppSTLtype parallel_policy 1649 | syntax keyword cppSTLtype parallel_unsequenced_policy 1650 | syntax keyword cppSTLtype is_execution_policy 1651 | 1652 | " filesystem 1653 | syntax keyword cppSTLnamespace filesystem 1654 | syntax keyword cppSTLexception filesystem_error 1655 | syntax keyword cppSTLtype path 1656 | syntax keyword cppSTLtype directory_entry 1657 | syntax keyword cppSTLtype directory_iterator 1658 | syntax keyword cppSTLtype recursive_directory_iterator 1659 | syntax keyword cppSTLtype file_status 1660 | syntax keyword cppSTLtype space_info 1661 | syntax keyword cppSTLtype file_time_type 1662 | syntax keyword cppSTLenum file_type 1663 | syntax keyword cppSTLenum perms 1664 | syntax keyword cppSTLenum copy_options 1665 | syntax keyword cppSTLenum directory_options 1666 | syntax keyword cppSTLConstant preferred_separator 1667 | syntax keyword cppSTLconstant available 1668 | " Note: 'capacity' and 'free' are already set as cppSTLfunction 1669 | " syntax keyword cppSTLconstant capacity 1670 | " syntax keyword cppSTLconstant free 1671 | syntax keyword cppSTLfunction concat 1672 | syntax keyword cppSTLfunction make_preferred 1673 | syntax keyword cppSTLfunction remove_filename 1674 | syntax keyword cppSTLfunction replace_filename 1675 | syntax keyword cppSTLfunction replace_extension 1676 | syntax keyword cppSTLfunction native 1677 | syntax keyword cppSTLfunction string_type 1678 | " Note: wstring, u8string, u16string, u32string already set as cppSTLtype 1679 | " syntax keyword cppSTLfunction wstring 1680 | " syntax keyword cppSTLfunction u8string 1681 | " syntax keyword cppSTLfunction u16string 1682 | " syntax keyword cppSTLfunction u32string 1683 | syntax keyword cppSTLfunction generic_string 1684 | syntax keyword cppSTLfunction generic_wstring 1685 | syntax keyword cppSTLfunction generic_u8string 1686 | syntax keyword cppSTLfunction generic_u16string 1687 | syntax keyword cppSTLfunction generic_u32string 1688 | syntax keyword cppSTLfunction lexically_normal 1689 | syntax keyword cppSTLfunction lexically_relative 1690 | syntax keyword cppSTLfunction lexically_proximate 1691 | syntax keyword cppSTLfunction root_name 1692 | syntax keyword cppSTLfunction root_directory 1693 | syntax keyword cppSTLfunction root_path 1694 | syntax keyword cppSTLfunction relative_path 1695 | syntax keyword cppSTLfunction parent_path 1696 | " syntax keyword cppSTLfunction filename 1697 | syntax keyword cppSTLfunction stem 1698 | syntax keyword cppSTLfunction extension 1699 | syntax keyword cppSTLfunction has_root_name 1700 | syntax keyword cppSTLfunction has_root_directory 1701 | syntax keyword cppSTLfunction has_root_path 1702 | syntax keyword cppSTLfunction has_relative_path 1703 | syntax keyword cppSTLfunction has_parent_path 1704 | syntax keyword cppSTLfunction has_filename 1705 | syntax keyword cppSTLfunction has_stem 1706 | syntax keyword cppSTLfunction has_extension 1707 | syntax keyword cppSTLfunction is_absolute 1708 | syntax keyword cppSTLfunction is_relative 1709 | syntax keyword cppSTLfunction hash_value 1710 | syntax keyword cppSTLfunction u8path 1711 | syntax keyword cppSTLfunction path1 1712 | syntax keyword cppSTLfunction path2 1713 | " syntax keyword cppSTLfunction path 1714 | syntax keyword cppSTLfunction status 1715 | syntax keyword cppSTLfunction symlink_status 1716 | syntax keyword cppSTLfunction options 1717 | " syntax keyword cppSTLfunction depth 1718 | syntax keyword cppSTLfunction recursive_pending 1719 | syntax keyword cppSTLfunction disable_recursive_pending 1720 | " syntax keyword cppSTLfunction type 1721 | syntax keyword cppSTLfunction permissions 1722 | syntax keyword cppSTLfunction absolute 1723 | syntax keyword cppSTLfunction system_complete 1724 | syntax keyword cppSTLfunction canonical 1725 | syntax keyword cppSTLfunction weakly_canonical 1726 | syntax keyword cppSTLfunction relative 1727 | syntax keyword cppSTLfunction proximate 1728 | syntax keyword cppSTLfunction copy_file 1729 | syntax keyword cppSTLfunction copy_symlink 1730 | syntax keyword cppSTLfunction create_directory 1731 | syntax keyword cppSTLfunction create_directories 1732 | syntax keyword cppSTLfunction create_hard_link 1733 | syntax keyword cppSTLfunction create_symlink 1734 | syntax keyword cppSTLfunction create_directory_symlink 1735 | syntax keyword cppSTLfunction current_path 1736 | " syntax keyword cppSTLfunction exists 1737 | syntax keyword cppSTLfunction file_size 1738 | syntax keyword cppSTLfunction hard_link_count 1739 | syntax keyword cppSTLfunction last_write_time 1740 | syntax keyword cppSTLfunction read_symlink 1741 | syntax keyword cppSTLfunction remove_all 1742 | syntax keyword cppSTLfunction resize_file 1743 | syntax keyword cppSTLfunction space 1744 | syntax keyword cppSTLfunction temp_directory_path 1745 | syntax keyword cppSTLfunction is_block_file 1746 | syntax keyword cppSTLfunction is_character_file 1747 | syntax keyword cppSTLfunction is_directory 1748 | syntax keyword cppSTLfunction is_fifo 1749 | syntax keyword cppSTLfunction is_other 1750 | syntax keyword cppSTLfunction is_regular_file 1751 | syntax keyword cppSTLfunction is_socket 1752 | syntax keyword cppSTLfunction is_symlink 1753 | syntax keyword cppSTLfunction status_known 1754 | " Note: 'is_empty' already set as cppSTLtype 1755 | " syntax keyword cppSTLfunction is_empty 1756 | 1757 | " functional 1758 | syntax keyword cppSTLtype default_order 1759 | syntax keyword cppSTLtype default_order_t 1760 | syntax keyword cppSTLtype default_searcher 1761 | syntax keyword cppSTLtype boyer_moore_searcher 1762 | syntax keyword cppSTLtype boyer_moore_horspool_searcher 1763 | syntax keyword cppSTLbool is_bind_expression_v 1764 | syntax keyword cppSTLbool is_placeholder_v 1765 | syntax keyword cppSTLfunction not_fn 1766 | syntax keyword cppSTLfunction make_default_searcher 1767 | syntax keyword cppSTLfunction make_boyer_moore_searcher 1768 | syntax keyword cppSTLfunction make_boyer_moore_horspool_searcher 1769 | " syntax keyword cppSTLfunction invoke 1770 | 1771 | " memory 1772 | syntax keyword cppSTLcast reinterpret_pointer_cast 1773 | syntax keyword cppSTLfunction uninitialized_move 1774 | syntax keyword cppSTLfunction uninitialized_move_n 1775 | syntax keyword cppSTLfunction uninitialized_default_construct 1776 | syntax keyword cppSTLfunction uninitialized_default_construct_n 1777 | syntax keyword cppSTLfunction uninitialized_value_construct 1778 | syntax keyword cppSTLfunction uninitialized_value_construct_n 1779 | syntax keyword cppSTLfunction destroy_at 1780 | syntax keyword cppSTLfunction destroy_n 1781 | 1782 | " memory_resource 1783 | syntax keyword cppSTLtype polymorphic_allocator 1784 | syntax keyword cppSTLtype memory_resource 1785 | syntax keyword cppSTLtype synchronized_pool_resource 1786 | syntax keyword cppSTLtype unsynchronized_pool_resource 1787 | syntax keyword cppSTLtype pool_options 1788 | syntax keyword cppSTLtype monotonic_buffer_resource 1789 | syntax keyword cppSTLfunction upstream_resource 1790 | syntax keyword cppSTLfunction get_default_resource 1791 | syntax keyword cppSTLfunction new_default_resource 1792 | syntax keyword cppSTLfunction set_default_resource 1793 | syntax keyword cppSTLfunction null_memory_resource 1794 | syntax keyword cppSTLfunction allocate 1795 | syntax keyword cppSTLfunction deallocate 1796 | syntax keyword cppSTLfunction construct 1797 | syntax keyword cppSTLfunction destruct 1798 | syntax keyword cppSTLfunction resource 1799 | syntax keyword cppSTLfunction select_on_container_copy_construction 1800 | syntax keyword cppSTLfunction do_allocate 1801 | syntax keyword cppSTLfunction do_deallocate 1802 | syntax keyword cppSTLfunction do_is_equal 1803 | 1804 | " mutex 1805 | syntax keyword cppSTLtype scoped_lock 1806 | 1807 | " new 1808 | syntax keyword cppSTLconstant hardware_destructive_interference_size 1809 | syntax keyword cppSTLconstant hardware_constructive_interference_size 1810 | syntax keyword cppSTLfunction launder 1811 | 1812 | " numeric 1813 | syntax keyword cppSTLfunction gcd 1814 | syntax keyword cppSTLfunction lcm 1815 | syntax keyword cppSTLfunction exclusive_scan 1816 | syntax keyword cppSTLfunction inclusive_scan 1817 | syntax keyword cppSTLfunction transform_reduce 1818 | syntax keyword cppSTLfunction transform_exclusive_scan 1819 | syntax keyword cppSTLfunction transform_inclusive_scan 1820 | " syntax keyword cppSTLfunction reduce 1821 | 1822 | " optional 1823 | syntax keyword cppSTLtype optional 1824 | syntax keyword cppSTLtype nullopt_t 1825 | syntax keyword cppSTLexception bad_optional_access 1826 | syntax keyword cppSTLconstant nullopt 1827 | syntax keyword cppSTLfunction make_optional 1828 | syntax keyword cppSTLfunction value_or 1829 | syntax keyword cppSTLfunction has_value 1830 | " syntax keyword cppSTLfunction value 1831 | 1832 | " string_view 1833 | syntax keyword cppSTLtype basic_string_view 1834 | syntax keyword cppSTLtype string_view 1835 | syntax keyword cppSTLtype wstring_view 1836 | syntax keyword cppSTLtype u16string_view 1837 | syntax keyword cppSTLtype u32string_view 1838 | syntax keyword cppSTLfunction remove_prefix 1839 | syntax keyword cppSTLfunction remove_suffix 1840 | 1841 | " system_error 1842 | syntax keyword cppSTLbool is_error_code_enum_v 1843 | syntax keyword cppSTLbool is_error_condition_enum_v 1844 | 1845 | " shared_mutex 1846 | syntax keyword cppSTLtype shared_mutex 1847 | 1848 | " tuple 1849 | syntax keyword cppSTLconstant tuple_size_v 1850 | syntax keyword cppSTLfunction make_from_tuple 1851 | " syntax keyword cppSTLfunction apply 1852 | 1853 | " type_traits 1854 | syntax keyword cppSTLbool is_void_v 1855 | syntax keyword cppSTLbool is_null_pointer_v 1856 | syntax keyword cppSTLbool is_integral_v 1857 | syntax keyword cppSTLbool is_floating_point_v 1858 | syntax keyword cppSTLbool is_array_v 1859 | syntax keyword cppSTLbool is_enum_v 1860 | syntax keyword cppSTLbool is_union_v 1861 | syntax keyword cppSTLbool is_class_v 1862 | syntax keyword cppSTLbool is_function_v 1863 | syntax keyword cppSTLbool is_pointer_v 1864 | syntax keyword cppSTLbool is_lvalue_reference_v 1865 | syntax keyword cppSTLbool is_rvalue_reference_v 1866 | syntax keyword cppSTLbool is_member_object_pointer_v 1867 | syntax keyword cppSTLbool is_member_function_pointer_v 1868 | syntax keyword cppSTLbool is_fundamental_v 1869 | syntax keyword cppSTLbool is_arithmetic_v 1870 | syntax keyword cppSTLbool is_scalar_v 1871 | syntax keyword cppSTLbool is_object_v 1872 | syntax keyword cppSTLbool is_compound_v 1873 | syntax keyword cppSTLbool is_reference_v 1874 | syntax keyword cppSTLbool is_member_pointer_v 1875 | syntax keyword cppSTLbool is_const_v 1876 | syntax keyword cppSTLbool is_volatile_v 1877 | syntax keyword cppSTLbool is_trivial_v 1878 | syntax keyword cppSTLbool is_trivially_copyable_v 1879 | syntax keyword cppSTLbool is_standard_layout_v 1880 | syntax keyword cppSTLbool is_pod_v 1881 | syntax keyword cppSTLbool is_literal_type_v 1882 | syntax keyword cppSTLbool is_empty_v 1883 | syntax keyword cppSTLbool is_polymorphic_v 1884 | syntax keyword cppSTLbool is_abstract_v 1885 | syntax keyword cppSTLbool is_signed_v 1886 | syntax keyword cppSTLbool is_unsigned_v 1887 | syntax keyword cppSTLbool is_constructible_v 1888 | syntax keyword cppSTLbool is_trivially_constructible_v 1889 | syntax keyword cppSTLbool is_nothrow_constructible_v 1890 | syntax keyword cppSTLbool is_default_constructible_v 1891 | syntax keyword cppSTLbool is_trivially_default_constructible_v 1892 | syntax keyword cppSTLbool is_nothrow_default_constructible_v 1893 | syntax keyword cppSTLbool is_copy_constructible_v 1894 | syntax keyword cppSTLbool is_trivially_copy_constructible_v 1895 | syntax keyword cppSTLbool is_nothrow_copy_constructible_v 1896 | syntax keyword cppSTLbool is_move_constructible_v 1897 | syntax keyword cppSTLbool is_trivially_move_constructible_v 1898 | syntax keyword cppSTLbool is_nothrow_move_constructible_v 1899 | syntax keyword cppSTLbool is_assignable_v 1900 | syntax keyword cppSTLbool is_trivially_assignable_v 1901 | syntax keyword cppSTLbool is_nothrow_assignable_v 1902 | syntax keyword cppSTLbool is_copy_assignable_v 1903 | syntax keyword cppSTLbool is_trivially_copy_assignable_v 1904 | syntax keyword cppSTLbool is_nothrow_copy_assignable_v 1905 | syntax keyword cppSTLbool is_move_assignable_v 1906 | syntax keyword cppSTLbool is_trivially_move_assignable_v 1907 | syntax keyword cppSTLbool is_nothrow_move_assignable_v 1908 | syntax keyword cppSTLbool is_destructible_v 1909 | syntax keyword cppSTLbool is_trivially_destructible_v 1910 | syntax keyword cppSTLbool is_nothrow_destructible_v 1911 | syntax keyword cppSTLbool has_virtual_destructor_v 1912 | syntax keyword cppSTLbool is_same_v 1913 | syntax keyword cppSTLbool is_base_of_v 1914 | syntax keyword cppSTLbool is_convertible_v 1915 | syntax keyword cppSTLbool is_callable_v 1916 | syntax keyword cppSTLbool is_nowthrow_callable_v 1917 | syntax keyword cppSTLbool conjunction_v 1918 | syntax keyword cppSTLbool disjunction_v 1919 | syntax keyword cppSTLbool negation_v 1920 | syntax keyword cppSTLbool has_unique_object_representations_v 1921 | syntax keyword cppSTLbool is_swappable_v 1922 | syntax keyword cppSTLbool is_swappable_with_v 1923 | syntax keyword cppSTLbool is_nothrow_swappable_v 1924 | syntax keyword cppSTLbool is_nothrow_swappable_with_v 1925 | syntax keyword cppSTLbool is_invocable_v 1926 | syntax keyword cppSTLbool is_invocable_r_v 1927 | syntax keyword cppSTLbool is_nothrow_invocable_v 1928 | syntax keyword cppSTLbool is_nothrow_invocable_r_v 1929 | syntax keyword cppSTLbool is_aggregate_v 1930 | syntax keyword cppSTLconstant alignment_of_v 1931 | syntax keyword cppSTLconstant rank_v 1932 | syntax keyword cppSTLconstant extent_v 1933 | syntax keyword cppSTLtype bool_constant 1934 | syntax keyword cppSTLtype is_callable 1935 | syntax keyword cppSTLtype is_nowthrow_callable 1936 | syntax keyword cppSTLtype conjunction 1937 | syntax keyword cppSTLtype disjunction 1938 | syntax keyword cppSTLtype negation 1939 | syntax keyword cppSTLtype void_t 1940 | syntax keyword cppSTLtype has_unique_object_representations 1941 | syntax keyword cppSTLtype is_swappable 1942 | syntax keyword cppSTLtype is_swappable_with 1943 | syntax keyword cppSTLtype is_nothrow_swappable 1944 | syntax keyword cppSTLtype is_nothrow_swappable_with 1945 | syntax keyword cppSTLtype is_invocable 1946 | syntax keyword cppSTLtype is_invocable_r 1947 | syntax keyword cppSTLtype is_nothrow_invocable 1948 | syntax keyword cppSTLtype is_nothrow_invocable_r 1949 | syntax keyword cppSTLtype invoke_result 1950 | syntax keyword cppSTLtype invoke_result_t 1951 | syntax keyword cppSTLtype is_aggregate 1952 | 1953 | " unordered_map, unordered_set, unordered_multimap, unordered_multiset 1954 | syntax keyword cppSTLtype node_type 1955 | syntax keyword cppSTLtype insert_return_type 1956 | syntax keyword cppSTLfunction try_emplace 1957 | syntax keyword cppSTLfunction insert_or_assign 1958 | syntax keyword cppSTLfunction extract 1959 | 1960 | " utility 1961 | syntax keyword cppSTLtype in_place_tag 1962 | syntax keyword cppSTLtype in_place_t 1963 | syntax keyword cppSTLtype in_place_type_t 1964 | syntax keyword cppSTLtype in_place_index_t 1965 | syntax keyword cppSTLfunction in_place 1966 | syntax keyword cppSTLfunction as_const 1967 | 1968 | " variant 1969 | syntax keyword cppSTLtype variant 1970 | syntax keyword cppSTLtype monostate 1971 | syntax keyword cppSTLtype variant_size 1972 | syntax keyword cppSTLtype variant_alternative 1973 | syntax keyword cppSTLtype variant_alternative_t 1974 | syntax keyword cppSTLconstant variant_size_v 1975 | syntax keyword cppSTLconstant variant_npos 1976 | syntax keyword cppSTLexception bad_variant_access 1977 | syntax keyword cppSTLfunction valueless_by_exception 1978 | syntax keyword cppSTLfunction holds_alternative 1979 | syntax keyword cppSTLfunction get_if 1980 | syntax keyword cppSTLfunction visit 1981 | " syntax keyword cppSTLfunction index 1982 | endif " C++17 1983 | 1984 | 1985 | if !exists("cpp_no_cpp20") 1986 | syntax keyword cppType char8_t 1987 | syntax keyword cppStatement co_yield co_return co_await 1988 | syntax keyword cppStorageClass consteval 1989 | syntax keyword cppSTLnamespace ranges 1990 | 1991 | " algorithm 1992 | syntax keyword cppSTLfunction shift_left 1993 | syntax keyword cppSTLfunction shift_right 1994 | syntax keyword cppSTLfunction lexicographical_compare_three_way 1995 | 1996 | " bit 1997 | syntax keyword cppSTLcast bit_cast 1998 | syntax keyword cppSTLfunction ispow2 1999 | syntax keyword cppSTLfunction ceil2 2000 | syntax keyword cppSTLfunction floor2 2001 | syntax keyword cppSTLfunction log2p1 2002 | syntax keyword cppSTLfunction rotl 2003 | syntax keyword cppSTLfunction rotr 2004 | syntax keyword cppSTLfunction countl_zero 2005 | syntax keyword cppSTLfunction countl_one 2006 | syntax keyword cppSTLfunction countr_zero 2007 | syntax keyword cppSTLfunction countr_one 2008 | syntax keyword cppSTLfunction popcount 2009 | syntax keyword cppSTLtype endian 2010 | 2011 | " compare 2012 | syntax keyword cppSTLtype weak_equality 2013 | syntax keyword cppSTLtype strong_equality 2014 | syntax keyword cppSTLtype partial_ordering 2015 | syntax keyword cppSTLtype weak_ordering 2016 | syntax keyword cppSTLtype strong_ordering 2017 | syntax keyword cppSTLtype common_comparison_category 2018 | syntax keyword cppSTLtype compare_three_way_result 2019 | syntax keyword cppSTLtype compare_three_way 2020 | syntax keyword cppSTLtype strong_order 2021 | syntax keyword cppSTLtype weak_order 2022 | syntax keyword cppSTLtype parital_order 2023 | syntax keyword cppSTLtype compare_strong_order_fallback 2024 | syntax keyword cppSTLtype compare_weak_order_fallback 2025 | syntax keyword cppSTLtype compare_parital_order_fallback 2026 | syntax keyword cppSTLfunction is_eq 2027 | syntax keyword cppSTLfunction is_neq 2028 | syntax keyword cppSTLfunction is_lt 2029 | syntax keyword cppSTLfunction is_lteq 2030 | syntax keyword cppSTLfunction is_gt 2031 | syntax keyword cppSTLfunction is_gteq 2032 | 2033 | " format 2034 | syntax keyword cppSTLtype formatter 2035 | syntax keyword cppSTLtype basic_format_parse_context 2036 | syntax keyword cppSTLtype format_parse_context 2037 | syntax keyword cppSTLtype wformat_parse_context 2038 | syntax keyword cppSTLtype basic_format_context 2039 | syntax keyword cppSTLtype format_context 2040 | syntax keyword cppSTLtype wformat_context 2041 | syntax keyword cppSTLtype basic_format_arg 2042 | syntax keyword cppSTLtype basic_format_args 2043 | syntax keyword cppSTLtype format_args 2044 | syntax keyword cppSTLtype wformat_args 2045 | syntax keyword cppSTLtype format_args_t 2046 | syntax keyword cppSTLtype format_error 2047 | syntax keyword cppSTLfuntion format 2048 | syntax keyword cppSTLfuntion format_to 2049 | syntax keyword cppSTLfuntion format_to_n 2050 | syntax keyword cppSTLfuntion formatted_size 2051 | syntax keyword cppSTLfuntion vformat 2052 | syntax keyword cppSTLfuntion vformat_to 2053 | syntax keyword cppSTLfuntion visit_format_arg 2054 | syntax keyword cppSTLfuntion make_format_args 2055 | syntax keyword cppSTLfuntion make_wformat_args 2056 | 2057 | " iterator 2058 | syntax keyword cppSTLtype default_sentinel_t unreachable_sentinel_t 2059 | syntax keyword cppSTLiterator common_iterator 2060 | syntax keyword cppSTLiterator counted_iterator 2061 | syntax keyword cppSTLiterator_tag contiguous_iterator_tag 2062 | 2063 | " memory 2064 | syntax keyword cppSTLfunction to_address 2065 | syntax keyword cppSTLfunction assume_aligned 2066 | syntax keyword cppSTLfunction make_unique_default_init 2067 | syntax keyword cppSTLfunction allocate_shared_default_init 2068 | 2069 | " source_location 2070 | syntax keyword cppSTLtype source_location 2071 | 2072 | " span 2073 | syntax keyword cppSTLtype span 2074 | syntax keyword cppSTLfunction as_bytes 2075 | syntax keyword cppSTLfunction as_writable_bytes 2076 | syntax keyword cppSTLconstant dynamic_extent 2077 | 2078 | " syncstream 2079 | syntax keyword cppSTLtype basic_syncbuf 2080 | syntax keyword cppSTLtype basic_osyncstream 2081 | syntax keyword cppSTLtype syncbuf 2082 | syntax keyword cppSTLtype wsyncbuf 2083 | syntax keyword cppSTLtype osyncstream 2084 | syntax keyword cppSTLtype wosyncstream 2085 | 2086 | " type_traits 2087 | syntax keyword cppSTLtype remove_cvref remove_cvref_t 2088 | syntax keyword cppSTLtype common_reference common_reference_t 2089 | syntax keyword cppSTLfunction is_constant_evaluated 2090 | syntax keyword cppSTLfunction is_pointer_interconvertible 2091 | syntax keyword cppSTLfunction is_corresponding_member 2092 | syntax keyword cppSTLtype is_nothrow_convertible 2093 | syntax keyword cppSTLbool is_nothrow_convertible_v 2094 | syntax keyword cppSTLtype is_layout_compatible 2095 | syntax keyword cppSTLbool is_layout_compatible_v 2096 | syntax keyword cppSTLtype is_bounded_array 2097 | syntax keyword cppSTLbool is_bounded_array_v 2098 | syntax keyword cppSTLtype is_unbounded_array 2099 | syntax keyword cppSTLbool is_unbounded_array_v 2100 | syntax keyword cppSTLtype is_pointer_interconvertible_base_of 2101 | syntax keyword cppSTLbool is_pointer_interconvertible_base_of_v 2102 | syntax keyword cppSTLtype has_strong_structural_equality 2103 | syntax keyword cppSTLbool has_strong_structural_equality_v 2104 | 2105 | " version 2106 | " TODO 2107 | endif 2108 | 2109 | 2110 | if exists('g:cpp_concepts_highlight') 2111 | syntax keyword cppStatement concept 2112 | syntax keyword cppStorageClass requires 2113 | 2114 | if g:cpp_concepts_highlight == 1 2115 | syntax keyword cppSTLconcept DefaultConstructible 2116 | syntax keyword cppSTLconcept MoveConstructible 2117 | syntax keyword cppSTLconcept CopyConstructible 2118 | syntax keyword cppSTLconcept MoveAssignable 2119 | syntax keyword cppSTLconcept CopyAssignable 2120 | syntax keyword cppSTLconcept Destructible 2121 | syntax keyword cppSTLconcept TriviallyCopyable 2122 | syntax keyword cppSTLconcept TrivialType 2123 | syntax keyword cppSTLconcept StandardLayoutType 2124 | syntax keyword cppSTLconcept PODType 2125 | syntax keyword cppSTLconcept EqualityComparable 2126 | syntax keyword cppSTLconcept LessThanComparable 2127 | syntax keyword cppSTLconcept Swappable 2128 | syntax keyword cppSTLconcept ValueSwappable 2129 | syntax keyword cppSTLconcept NullablePointer 2130 | syntax keyword cppSTLconcept Hash 2131 | syntax keyword cppSTLconcept Allocator 2132 | syntax keyword cppSTLconcept FunctionObject 2133 | syntax keyword cppSTLconcept Callable 2134 | syntax keyword cppSTLconcept Predicate 2135 | syntax keyword cppSTLconcept BinaryPredicate 2136 | syntax keyword cppSTLconcept Compare 2137 | syntax keyword cppSTLconcept Container 2138 | syntax keyword cppSTLconcept ReversibleContainer 2139 | syntax keyword cppSTLconcept AllocatorAwareContainer 2140 | syntax keyword cppSTLconcept SequenceContainer 2141 | syntax keyword cppSTLconcept ContiguousContainer 2142 | syntax keyword cppSTLconcept AssociativeContainer 2143 | syntax keyword cppSTLconcept UnorderedAssociativeContainer 2144 | syntax keyword cppSTLconcept DefaultInsertable 2145 | syntax keyword cppSTLconcept CopyInsertable 2146 | syntax keyword cppSTLconcept CopyInsertable 2147 | syntax keyword cppSTLconcept MoveInsertable 2148 | syntax keyword cppSTLconcept EmplaceConstructible 2149 | syntax keyword cppSTLconcept Erasable 2150 | syntax keyword cppSTLconcept Iterator 2151 | syntax keyword cppSTLconcept InputIterator 2152 | syntax keyword cppSTLconcept OutputIterator 2153 | syntax keyword cppSTLconcept ForwardIterator 2154 | syntax keyword cppSTLconcept BidirectionalIterator 2155 | syntax keyword cppSTLconcept RandomAccessIterator 2156 | syntax keyword cppSTLconcept ContiguousIterator 2157 | syntax keyword cppSTLconcept UnformattedInputFunction 2158 | syntax keyword cppSTLconcept FormattedInputFunction 2159 | syntax keyword cppSTLconcept UnformattedOutputFunction 2160 | syntax keyword cppSTLconcept FormattedOutputFunction 2161 | syntax keyword cppSTLconcept SeedSequence 2162 | syntax keyword cppSTLconcept UniformRandomBitGenerator 2163 | syntax keyword cppSTLconcept RandomNumberEngine 2164 | syntax keyword cppSTLconcept RandomNumberEngineAdaptor 2165 | syntax keyword cppSTLconcept RandomNumberDistribution 2166 | syntax keyword cppSTLconcept BasicLockable 2167 | syntax keyword cppSTLconcept Lockable 2168 | syntax keyword cppSTLconcept TimedLockable 2169 | syntax keyword cppSTLconcept Mutex 2170 | syntax keyword cppSTLconcept TimedMutex 2171 | syntax keyword cppSTLconcept SharedMutex 2172 | syntax keyword cppSTLconcept SharedTimedMutex 2173 | syntax keyword cppSTLconcept UnaryTypeTrait 2174 | syntax keyword cppSTLconcept BinaryTypeTrait 2175 | syntax keyword cppSTLconcept TransformationTrait 2176 | syntax keyword cppSTLconcept Clock 2177 | syntax keyword cppSTLconcept TrivialClock 2178 | syntax keyword cppSTLconcept CharTraits 2179 | syntax keyword cppSTLconcept pos_type 2180 | syntax keyword cppSTLconcept off_type 2181 | syntax keyword cppSTLconcept BitmaskType 2182 | syntax keyword cppSTLconcept NumericType 2183 | syntax keyword cppSTLconcept RegexTraits 2184 | syntax keyword cppSTLconcept LiteralType 2185 | elseif g:cpp_concepts_highlight == 2 2186 | syntax keyword cppSTLconcept same_as 2187 | syntax keyword cppSTLconcept derived_from 2188 | syntax keyword cppSTLconcept convertible_to 2189 | syntax keyword cppSTLconcept common_reference_with 2190 | syntax keyword cppSTLconcept common_with 2191 | syntax keyword cppSTLconcept integral 2192 | syntax keyword cppSTLconcept signed_integral 2193 | syntax keyword cppSTLconcept unsigned_integral 2194 | syntax keyword cppSTLconcept assignable_from 2195 | syntax keyword cppSTLconcept swappable 2196 | syntax keyword cppSTLconcept swappable_with 2197 | syntax keyword cppSTLconcept destructible 2198 | syntax keyword cppSTLconcept constructible_from 2199 | syntax keyword cppSTLconcept default_constructible 2200 | syntax keyword cppSTLconcept move_constructible 2201 | syntax keyword cppSTLconcept copy_constructible 2202 | syntax keyword cppSTLconcept boolean 2203 | syntax keyword cppSTLconcept equality_comparable 2204 | syntax keyword cppSTLconcept equality_comparable_with 2205 | syntax keyword cppSTLconcept totally_ordered 2206 | syntax keyword cppSTLconcept totally_ordered_with 2207 | syntax keyword cppSTLconcept movable 2208 | syntax keyword cppSTLconcept copyable 2209 | syntax keyword cppSTLconcept semiregular 2210 | syntax keyword cppSTLconcept regular 2211 | syntax keyword cppSTLconcept invocable 2212 | syntax keyword cppSTLconcept regular_invocable 2213 | syntax keyword cppSTLconcept predicate 2214 | syntax keyword cppSTLconcept relation 2215 | syntax keyword cppSTLconcept strict_weak_order 2216 | syntax keyword cppSTLconcept readable 2217 | syntax keyword cppSTLconcept writable 2218 | syntax keyword cppSTLconcept weakly_incrementable 2219 | syntax keyword cppSTLconcept incrementable 2220 | syntax keyword cppSTLconcept input_or_output_iterator 2221 | syntax keyword cppSTLconcept sentinal_for 2222 | syntax keyword cppSTLconcept sized_sentinal_for 2223 | syntax keyword cppSTLconcept input_iterator 2224 | syntax keyword cppSTLconcept output_iterator 2225 | syntax keyword cppSTLconcept forward_iterator 2226 | syntax keyword cppSTLconcept bidirectional_iterator 2227 | syntax keyword cppSTLconcept random_access_iterator 2228 | syntax keyword cppSTLconcept input_iterator 2229 | syntax keyword cppSTLconcept output_iterator 2230 | syntax keyword cppSTLconcept bidirectional_iterator 2231 | syntax keyword cppSTLconcept random_access_iterator 2232 | syntax keyword cppSTLconcept contiguous_iterator 2233 | syntax keyword cppSTLconcept indirectly_unary_invocable 2234 | syntax keyword cppSTLconcept indirectly_regular_unary_invocable 2235 | syntax keyword cppSTLconcept indirect_unary_predicate 2236 | syntax keyword cppSTLconcept indirect_relation 2237 | syntax keyword cppSTLconcept indirect_strict_weak_order 2238 | syntax keyword cppSTLconcept indirectly_movable 2239 | syntax keyword cppSTLconcept indirectly_movable_storable 2240 | syntax keyword cppSTLconcept indirectly_copyable 2241 | syntax keyword cppSTLconcept indirectly_copyable_storable 2242 | syntax keyword cppSTLconcept indirectly_swappable 2243 | syntax keyword cppSTLconcept indirectly_comparable 2244 | syntax keyword cppSTLconcept permutable 2245 | syntax keyword cppSTLconcept mergeable 2246 | syntax keyword cppSTLconcept sortable 2247 | syntax keyword cppSTLconcept range 2248 | syntax keyword cppSTLconcept sized_range 2249 | syntax keyword cppSTLconcept output_range 2250 | syntax keyword cppSTLconcept input_range 2251 | syntax keyword cppSTLconcept bidirectional_range 2252 | syntax keyword cppSTLconcept random_access_range 2253 | syntax keyword cppSTLconcept contiguous_range 2254 | syntax keyword cppSTLconcept common_range 2255 | syntax keyword cppSTLconcept viewable_range 2256 | syntax keyword cppSTLconcept uniform_random_bit_generator 2257 | endif 2258 | endif " C++ concepts 2259 | 2260 | 2261 | if !exists("cpp_no_boost") 2262 | syntax keyword cppSTLnamespace boost 2263 | syntax keyword cppSTLcast lexical_cast 2264 | endif " boost 2265 | 2266 | 2267 | " Default highlighting 2268 | if version >= 508 || !exists("did_cpp_syntax_inits") 2269 | if version < 508 2270 | let did_cpp_syntax_inits = 1 2271 | command -nargs=+ HiLink hi link 2272 | else 2273 | command -nargs=+ HiLink hi def link 2274 | endif 2275 | HiLink cppSTLbool Boolean 2276 | HiLink cppStorageClass StorageClass 2277 | HiLink cppStatement Statement 2278 | HiLink cppSTLfunction Function 2279 | HiLink cppSTLfunctional Typedef 2280 | HiLink cppSTLconstant Constant 2281 | HiLink cppSTLnamespace Constant 2282 | HiLink cppSTLtype Typedef 2283 | HiLink cppSTLexception Exception 2284 | HiLink cppSTLiterator Typedef 2285 | HiLink cppSTLiterator_tag Typedef 2286 | HiLink cppSTLenum Typedef 2287 | HiLink cppSTLconcept Typedef 2288 | HiLink cppSTLios Function 2289 | HiLink cppSTLcast Statement " be consistent with official syntax 2290 | HiLink cppRawString String 2291 | HiLink cppRawDelimiter Delimiter 2292 | delcommand HiLink 2293 | endif 2294 | -------------------------------------------------------------------------------- /test/color.cpp: -------------------------------------------------------------------------------- 1 | // Set of tests. Should all be correctly highlighted with 2 | // let g:cpp_experimental_template_highlight = 1 3 | 4 | AClass::b AClass::getThing(Fred f); 5 | AClass::b AClass::getThing(Fred f); 6 | AClass::b AClass::getThing(Fred f); 7 | AClass::b AClass::getThing(Fred f); 8 | AClass::b AClass::getThing(Fred f); 9 | AClass::b AClass::getThing>(Fred f); 10 | AClass::b AClass::getThing::List>(Fred f); 11 | 12 | AClass::b AClass::getThing(Fred f); 13 | AClass::b AClass::getThing(Fred f); 14 | AClass::b AClass::getThing(Fred f); 15 | AClass::b AClass::getThing(Fred f); 16 | AClass::b AClass::getThing(Fred f); 17 | AClass::b AClass::getThing>(Fred f); 18 | AClass::b AClass::getThing::List>(Fred f); 19 | 20 | AClass::b AClass::getThing(Fred f); 21 | AClass::b AClass::getThing(Fred f); 22 | AClass::b AClass::getThing(Fred f); 23 | AClass::b AClass::getThing(Fred f); 24 | AClass::b AClass::getThing(Fred f); 25 | AClass::b AClass::getThing>(Fred f); 26 | AClass::b AClass::getThing::List>(Fred f); 27 | AClass::b AClass::getThing::List>::List>(Fred f); 28 | 29 | AClass::b AClass::getThing(Fred f); 30 | AClass::b AClass::getThing(Fred f); 31 | AClass::b AClass::getThing(Fred f); 32 | AClass::b AClass::getThing(Fred f); 33 | AClass::b AClass::getThing(Fred f); 34 | AClass::b AClass::getThing>(Fred f); 35 | AClass::b AClass::getThing::List>(Fred f); 36 | AClass::b AClass::getThing::List>::List>(Fred f); 37 | 38 | AClass::b getThing(Fred f); 39 | AClass::b getThing(Fred f); 40 | AClass::b getThing(Fred f); 41 | AClass::b getThing(Fred f); 42 | AClass::b getThing(Fred f); 43 | AClass::b getThing>(Fred f); 44 | AClass::b getThing::List>(Fred f); 45 | AClass::b getThing::List>::List>(Fred f); 46 | 47 | AClass::b getThing(Fred f); 48 | AClass::b getThing(Fred f); 49 | AClass::b getThing(Fred f); 50 | AClass::b getThing(Fred f); 51 | AClass::b getThing(Fred f); 52 | AClass::b getThing>(Fred f); 53 | AClass::b getThing::List>(Fred f); 54 | AClass::b getThing::List>::List>(Fred f); 55 | 56 | getThing(Fred f); 57 | getThing(Fred f); 58 | getThing(Fred::List f); 59 | 60 | AClass(Fred f); 61 | AClass(Fred f); 62 | AClass(Fred::List f); 63 | 64 | AClass::AClass::getThing(Fred f); 65 | AClass::badClass::getThing(Fred f); 66 | badClass::badClass::getThing(Fred f); 67 | 68 | AClass::AClass::getThing::List>::List>(Fred f); 69 | AClass::badClass::getThing::List>::List>(Fred f); 70 | badClass::badClass::getThing::List>::List>(Fred f); 71 | 72 | AClass::AClass::getThing::List>::List>(Fred f); 73 | AClass::badClass::getThing::List>::List>(Fred f); 74 | badClass::badClass::getThing::List>::List>(Fred f); 75 | 76 | AClass::AClass::getThing::List>::List>(Fred f); 77 | AClass::badClass::getThing::List>::List>(Fred f); 78 | badClass::badClass::getThing::List>::List>(Fred f); 79 | 80 | template 82 | class BaseCalss: 83 | public AClass 84 | { 85 | } 86 | template > 88 | class BaseCalss: 89 | public AClass 90 | { 91 | } 92 | 93 | Aclass aClass = bClass->getThing(); 94 | 95 | for( int i=0; i<12; i++ ) 96 | { 97 | } 98 | 99 | template 100 | bool operator<( int a , int b) 101 | { 102 | return b > a; 103 | } 104 | 105 | bool operator<( int a , int b) 106 | { 107 | return b > a; 108 | } 109 | bool operator<=( int a , int b); 110 | 111 | bool tmp = a < b && b > c; 112 | if ( tmp ) 113 | { 114 | std::cout<"< 9 | #endif 10 | 11 | class Class { 12 | Class(int val): value(val) { 13 | }; 14 | }; 15 | 16 | bool operator<(const ConnectionString& other) const { 17 | return this->_string < other._string; 18 | } 19 | 20 | class Class { 21 | public: 22 | template 23 | Class(T val, typename std::enable_if::value, T>::type* = 0) 24 | : variable1(0.0f), variable2(std::make_shared(val)) {} 25 | 26 | private: 27 | Function(double variable); 28 | } 29 | 30 | void Class::Function(double variable) { 31 | std::vector testing; 32 | } 33 | 34 | void func>>() { 35 | int a = .4; 36 | std::cout << "output" << std::endl; 37 | } 38 | 39 | uint32_t b = static_cast(a); 40 | char j = reinterpret_cast(k); 41 | --------------------------------------------------------------------------------