summaryrefslogtreecommitdiffstats
path: root/after/syntax/cpp.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2016-12-20 20:57:20 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2016-12-20 20:57:20 +0100
commite404a658b1647fad396a954776eda0bdabf8353c (patch)
treefcdab0e324fd72015ba656e43bd8f8c243030c14 /after/syntax/cpp.vim
parent74652b465d7eff97070001317a4ea5557717378d (diff)
downloadvim-polyglot-e404a658b1647fad396a954776eda0bdabf8353c.tar.gz
vim-polyglot-e404a658b1647fad396a954776eda0bdabf8353c.zip
Update
Diffstat (limited to 'after/syntax/cpp.vim')
-rw-r--r--after/syntax/cpp.vim1475
1 files changed, 1029 insertions, 446 deletions
diff --git a/after/syntax/cpp.vim b/after/syntax/cpp.vim
index 4560b0ca..99d9f18e 100644
--- a/after/syntax/cpp.vim
+++ b/after/syntax/cpp.vim
@@ -4,16 +4,17 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c++11') == -1
" Language: C++ Additions
" Maintainer: Jon Haggblad <jon@haeggblad.com>
" URL: http://www.haeggblad.com
-" Last Change: 21 Sep 2014
-" Version: 0.5
+" Last Change: 12 Oct 2016
+" Version: 0.6
" Changelog:
" 0.1 - initial version.
" 0.2 - C++14
" 0.3 - Incorporate lastest changes from Mizuchi/STL-Syntax
" 0.4 - Add template function highlight
" 0.5 - Redo template function highlight to be more robust. Add options.
+" 0.6 - more C++14, C++17, library concepts
"
-" Additional Vim syntax highlighting for C++ (including C++11/14)
+" Additional Vim syntax highlighting for C++ (including C++11/14/17)
"
" This file contains additional syntax highlighting that I use for C++11/14
" development in Vim. Compared to the standard syntax highlighting for C++ it
@@ -21,17 +22,17 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'c++11') == -1
" in the standard library / boost.
"
" Based on:
-" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim
+" http://stackoverflow.com/q/736701
" http://www.vim.org/scripts/script.php?script_id=4293
" http://www.vim.org/scripts/script.php?script_id=2224
" http://www.vim.org/scripts/script.php?script_id=1640
" http://www.vim.org/scripts/script.php?script_id=3064
+
" -----------------------------------------------------------------------------
" Highlight Class and Function names.
"
-" Based on the discussion in:
-" http://stackoverflow.com/questions/736701/class-function-names-highlighting-in-vim
+" Based on the discussion in: http://stackoverflow.com/q/736701
" -----------------------------------------------------------------------------
" Functions
@@ -41,51 +42,62 @@ hi def link cCustomFunc Function
" Class and namespace scope
if exists('g:cpp_class_scope_highlight') && g:cpp_class_scope_highlight
- syn match cCustomScope "::"
- syn match cCustomClass "\w\+\s*::"
- \contains=cCustomScope
- " hi def link cCustomClass Function " disabled for now
- syn match cCustomClass "\<\u\w*\s*\>"
+ syn match cCustomScope "::"
+ syn match cCustomClass "\w\+\s*::"
+ \ contains=cCustomScope
+ hi def link cCustomClass Function
endif
-" Template functions
-if exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight
-
- syn match cCustomAngleBracketStart "<\_[^;()]\{-}>" contained
- \contains=cCustomAngleBracketStart, cCustomAngleBracketEnd
+" Template functions.
+" Naive implementation that sorta works in most cases. Should correctly
+" highlight everything in test/color2.cpp
+if exists('g:cpp_experimental_simple_template_highlight') && g:cpp_experimental_simple_template_highlight
+ syn region cCustomAngleBrackets matchgroup=AngleBracketContents start="\v%(<operator\_s*)@<!%(%(\_i|template\_s*)@<=\<[<=]@!|\<@<!\<[[:space:]<=]@!)" end='>' contains=@cppSTLgroup,cppStructure,cType,cCustomClass,cCustomAngleBrackets,cNumbers
+ syn match cCustomBrack "<\|>" contains=cCustomAngleBrackets
+ syn match cCustomTemplateFunc "\w\+\s*<.*>(\@=" contains=cCustomBrack,cCustomAngleBrackets
+ hi def link cCustomTemplateFunc Function
+
+" Template functions (alternative faster parsing).
+" More sophisticated implementation that should be faster but doesn't always
+" correctly highlight inside template arguments. Should correctly
+" highlight everything in test/color.cpp
+elseif exists('g:cpp_experimental_template_highlight') && g:cpp_experimental_template_highlight
+
+ syn match cCustomAngleBracketStart "<\_[^;()]\{-}>" contained
+ \ contains=cCustomAngleBracketStart,cCustomAngleBracketEnd
hi def link cCustomAngleBracketStart cCustomAngleBracketContent
- syn match cCustomAngleBracketEnd ">\_[^<>;()]\{-}>" contained
- \contains=cCustomAngleBracketEnd
+ syn match cCustomAngleBracketEnd ">\_[^<>;()]\{-}>" contained
+ \ contains=cCustomAngleBracketEnd
hi def link cCustomAngleBracketEnd cCustomAngleBracketContent
- syn match cCustomTemplateFunc "\<\l\w*\s*<\_[^;()]\{-}>(\@="hs=s,he=e-1
- \contains=cCustomAngleBracketStart
+ syn match cCustomTemplateFunc "\<\l\w*\s*<\_[^;()]\{-}>(\@="hs=s,he=e-1
+ \ contains=cCustomAngleBracketStart
hi def link cCustomTemplateFunc cCustomFunc
- syn match cCustomTemplateClass "\<\w\+\s*<\_[^;()]\{-}>"
- \contains=cCustomAngleBracketStart,cCustomTemplateFunc
+ syn match cCustomTemplateClass "\<\w\+\s*<\_[^;()]\{-}>"
+ \ contains=cCustomAngleBracketStart,cCustomTemplateFunc
hi def link cCustomTemplateClass cCustomClass
" Remove 'template' from cppStructure and use a custom match
- syn clear cppStructure
+ syn clear cppStructure
syn keyword cppStructure class typename namespace
- syn match cCustomTemplate "\<template\>"
+ syn match cCustomTemplate "\<template\>"
hi def link cCustomTemplate cppStructure
- syn match cTemplateDeclare "\<template\_s*<\_[^;()]\{-}>"
- \contains=cppStructure,cCustomTemplate,cCustomAngleBracketStart
+ syn match cTemplateDeclare "\<template\_s*<\_[^;()]\{-}>"
+ \ contains=cppStructure,cCustomTemplate,cCustomAngleBracketStart
" Remove 'operator' from cppStructure and use a custom match
- syn clear cppOperator
+ syn clear cppOperator
syn keyword cppOperator typeid
syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq
- syn match cCustomOperator "\<operator\>"
+ syn match cCustomOperator "\<operator\>"
hi def link cCustomOperator cppStructure
- syn match cTemplateOperatorDeclare "\<operator\_s*<\_[^;()]\{-}>[<>]=\?"
- \contains=cppOperator,cCustomOperator,cCustomAngleBracketStart
+ syn match cTemplateOperatorDeclare "\<operator\_s*<\_[^;()]\{-}>[<>]=\?"
+ \ contains=cppOperator,cCustomOperator,cCustomAngleBracketStart
endif
" Alternative syntax that is used in:
@@ -96,16 +108,18 @@ endif
" Cluster for all the stdlib functions defined below
syn cluster cppSTLgroup contains=cppSTLfunction,cppSTLfunctional,cppSTLconstant,cppSTLnamespace,cppSTLtype,cppSTLexception,cppSTLiterator,cppSTLiterator_tagcppSTLenumcppSTLioscppSTLcast
+
" -----------------------------------------------------------------------------
" Standard library types and functions.
"
-" Mainly based on the excellent STL Syntax vim script by
+" Mainly based on the excellent STL Syntax vim script by
" Mizuchi <ytj000@gmail.com>
" http://www.vim.org/scripts/script.php?script_id=4293
" which in turn is based on the scripts
" http://www.vim.org/scripts/script.php?script_id=2224
" http://www.vim.org/scripts/script.php?script_id=1640
" -----------------------------------------------------------------------------
+
syntax keyword cppSTLconstant badbit
syntax keyword cppSTLconstant cerr
syntax keyword cppSTLconstant cin
@@ -597,6 +611,7 @@ syntax keyword cppSTLiterator_tag output_iterator_tag
syntax keyword cppSTLiterator_tag random_access_iterator_tag
syntax keyword cppSTLnamespace rel_ops
syntax keyword cppSTLnamespace std
+syntax keyword cppSTLnamespace experimental
syntax keyword cppSTLtype allocator
syntax keyword cppSTLtype auto_ptr
syntax keyword cppSTLtype basic_filebuf
@@ -794,228 +809,26 @@ syntax keyword cppSTLconstant WEOF
syntax keyword cppSTLconstant WCHAR_MIN
syntax keyword cppSTLconstant WCHAR_MAX
+
if !exists("cpp_no_cpp11")
- syntax keyword cppSTLtype nullptr_t max_align_t
- syntax keyword cppSTLtype type_index
syntax keyword cppSTLconstant nullptr
- " type_traits
- syntax keyword cppSTLtype is_void
- syntax keyword cppSTLtype is_integral
- syntax keyword cppSTLtype is_floating_point
- syntax keyword cppSTLtype is_array
- syntax keyword cppSTLtype is_enum
- syntax keyword cppSTLtype is_union
- syntax keyword cppSTLtype is_class
- syntax keyword cppSTLtype is_function
- syntax keyword cppSTLtype is_pointer
- syntax keyword cppSTLtype is_lvalue_reference
- syntax keyword cppSTLtype is_rvalue_reference
- syntax keyword cppSTLtype is_member_object_pointer
- syntax keyword cppSTLtype is_member_function_pointer
- syntax keyword cppSTLtype is_fundamental
- syntax keyword cppSTLtype is_arithmetic
- syntax keyword cppSTLtype is_scalar
- syntax keyword cppSTLtype is_object
- syntax keyword cppSTLtype is_compound
- syntax keyword cppSTLtype is_reference
- syntax keyword cppSTLtype is_member_pointer
- syntax keyword cppSTLtype is_const
- syntax keyword cppSTLtype is_volatile
- syntax keyword cppSTLtype is_trivial
- syntax keyword cppSTLtype is_trivially_copyable
- syntax keyword cppSTLtype is_standard_layout
- syntax keyword cppSTLtype is_pod
- syntax keyword cppSTLtype is_literal_type
- syntax keyword cppSTLtype is_empty
- syntax keyword cppSTLtype is_polymorphic
- syntax keyword cppSTLtype is_abstract
- syntax keyword cppSTLtype is_signed
- syntax keyword cppSTLtype is_unsigned
- syntax keyword cppSTLtype is_constructible
- syntax keyword cppSTLtype is_trivially_constructible
- syntax keyword cppSTLtype is_nothrow_constructible
- syntax keyword cppSTLtype is_default_constructible
- syntax keyword cppSTLtype is_trivially_default_constructible
- syntax keyword cppSTLtype is_nothrow_default_constructible
- syntax keyword cppSTLtype is_copy_constructible
- syntax keyword cppSTLtype is_trivially_copy_constructible
- syntax keyword cppSTLtype is_nothrow_copy_constructible
- syntax keyword cppSTLtype is_move_constructible
- syntax keyword cppSTLtype is_trivially_move_constructible
- syntax keyword cppSTLtype is_nothrow_move_constructible
- syntax keyword cppSTLtype is_assignable
- syntax keyword cppSTLtype is_trivially_assignable
- syntax keyword cppSTLtype is_nothrow_assignable
- syntax keyword cppSTLtype is_copy_assignable
- syntax keyword cppSTLtype is_trivially_copy_assignable
- syntax keyword cppSTLtype is_nothrow_copy_assignable
- syntax keyword cppSTLtype is_move_assignable
- syntax keyword cppSTLtype is_trivially_move_assignable
- syntax keyword cppSTLtype is_nothrow_move_assignable
- syntax keyword cppSTLtype is_destructible
- syntax keyword cppSTLtype is_trivially_destructible
- syntax keyword cppSTLtype alignment_of
- syntax keyword cppSTLtype rank
- syntax keyword cppSTLtype extent
- syntax keyword cppSTLtype is_same
- syntax keyword cppSTLtype is_base_of
- syntax keyword cppSTLtype is_convertible
- syntax keyword cppSTLtype remove_cv
- syntax keyword cppSTLtype remove_const
- syntax keyword cppSTLtype remove_volatile
- syntax keyword cppSTLtype add_cv
- syntax keyword cppSTLtype add_const
- syntax keyword cppSTLtype add_volatile
- syntax keyword cppSTLtype remove_reference
- syntax keyword cppSTLtype add_lvalue_reference
- syntax keyword cppSTLtype add_rvalue_reference
- syntax keyword cppSTLtype remove_pointer
- syntax keyword cppSTLtype add_pointer
- syntax keyword cppSTLtype make_signed
- syntax keyword cppSTLtype make_unsigned
- syntax keyword cppSTLtype remove_extent
- syntax keyword cppSTLtype remove_all_extents
- syntax keyword cppSTLtype aligned_storage
- syntax keyword cppSTLtype aligned_union
- syntax keyword cppSTLtype decay
- syntax keyword cppSTLtype enable_if
- syntax keyword cppSTLtype conditional
- syntax keyword cppSTLtype common_type
- syntax keyword cppSTLtype underlying_type
- syntax keyword cppSTLtype result_of
- syntax keyword cppSTLtype integral_constant
- syntax keyword cppSTLtype true_type
- syntax keyword cppSTLtype false_type
- syntax keyword cppSTLfunction declval
-
- syntax keyword cppSTLconstant piecewise_construct
- syntax keyword cppSTLtype piecewise_construct_t
-
- " memory
- syntax keyword cppSTLtype unique_ptr
- syntax keyword cppSTLtype shared_ptr
- syntax keyword cppSTLtype weak_ptr
- syntax keyword cppSTLtype owner_less
- syntax keyword cppSTLtype enable_shared_from_this
- syntax keyword cppSTLexception bad_weak_ptr
- syntax keyword cppSTLtype default_delete
- syntax keyword cppSTLtype allocator_traits
- syntax keyword cppSTLtype allocator_type
- syntax keyword cppSTLtype allocator_arg_t
- syntax keyword cppSTLconstant allocator_arg
- syntax keyword cppSTLtype uses_allocator
- syntax keyword cppSTLtype scoped_allocator_adaptor
- syntax keyword cppSTLfunction declare_reachable
- syntax keyword cppSTLfunction undeclare_reachable
- syntax keyword cppSTLfunction declare_no_pointers
- syntax keyword cppSTLfunction undeclare_no_pointers
- syntax keyword cppSTLfunction get_pointer_safety
- syntax keyword cppSTLtype pointer_safety
- syntax keyword cppSTLtype pointer_traits
- syntax keyword cppSTLfunction addressof
- syntax keyword cppSTLfunction align
- syntax keyword cppSTLfunction make_shared
- syntax keyword cppSTLfunction allocate_shared
- syntax keyword cppSTLcast static_pointer_cast
- syntax keyword cppSTLcast dynamic_pointer_cast
- syntax keyword cppSTLcast const_pointer_cast
- syntax keyword cppSTLfunction get_deleter
-
- " function object
- syntax keyword cppSTLfunction bind
- syntax keyword cppSTLtype is_bind_expression
- syntax keyword cppSTLtype is_placeholder
- syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9
- syntax keyword cppSTLfunction mem_fn
- syntax keyword cppSTLfunctional function
- syntax keyword cppSTLexception bad_function_call
- syntax keyword cppSTLtype reference_wrapper
- syntax keyword cppSTLfunction ref cref
-
- " bitset
- syntax keyword cppSTLfunction all
- syntax keyword cppSTLfunction to_ullong
-
- " iterator
- syntax keyword cppSTLiterator move_iterator
- syntax keyword cppSTLfunction make_move_iterator
- syntax keyword cppSTLfunction next prev
-
- " program support utilities
- syntax keyword cppSTLfunction quick_exit
- syntax keyword cppSTLfunction _Exit
- syntax keyword cppSTLfunction at_quick_exit
- syntax keyword cppSTLfunction forward
-
- " date and time
- syntax keyword cppSTLnamespace chrono
- syntax keyword cppSTLtype duration
- syntax keyword cppSTLtype system_clock
- syntax keyword cppSTLtype steady_clock
- syntax keyword cppSTLtype high_resolution_clock
- syntax keyword cppSTLtype time_point
- syntax keyword cppSTLcast duration_cast
- syntax keyword cppSTLcast time_point_cast
-
- " tuple
- syntax keyword cppSTLtype tuple
- syntax keyword cppSTLfunction make_tuple
- syntax keyword cppSTLfunction tie
- syntax keyword cppSTLfunction forward_as_tuple
- syntax keyword cppSTLfunction tuple_cat
- syntax keyword cppSTLtype tuple_size tuple_element
-
- " Container
+ " containers (array, vector, list, *map, *set, ...)
syntax keyword cppSTLtype array
- syntax keyword cppSTLtype forward_list
- syntax keyword cppSTLtype unordered_map
- syntax keyword cppSTLtype unordered_set
- syntax keyword cppSTLtype unordered_multimap
- syntax keyword cppSTLtype unordered_multiset
- syntax keyword cppSTLtype tuple
- syntax keyword cppSTLfunction cbegin
- syntax keyword cppSTLfunction cend
- syntax keyword cppSTLfunction crbegin
- syntax keyword cppSTLfunction crend
+ syntax keyword cppSTLfunction cbegin cend
+ syntax keyword cppSTLfunction crbegin crend
syntax keyword cppSTLfunction shrink_to_fit
syntax keyword cppSTLfunction emplace
syntax keyword cppSTLfunction emplace_back
syntax keyword cppSTLfunction emplace_front
syntax keyword cppSTLfunction emplace_hint
- "forward_list
- syntax keyword cppSTLfunction before_begin
- syntax keyword cppSTLfunction cbefore_begin
- syntax keyword cppSTLfunction insert_after
- syntax keyword cppSTLfunction emplace_after
- syntax keyword cppSTLfunction erase_after
- syntax keyword cppSTLfunction splice_after
-
- " unordered
- syntax keyword cppSTLtype hash
- syntax keyword cppSTLtype hasher
- syntax keyword cppSTLtype key_equal
- syntax keyword cppSTLiterator local_iterator
- syntax keyword cppSTLiterator const_local_iterator
- syntax keyword cppSTLfunction bucket_count
- syntax keyword cppSTLfunction max_bucket_count
- syntax keyword cppSTLfunction bucket_size
- syntax keyword cppSTLfunction bucket
- syntax keyword cppSTLfunction load_factor
- syntax keyword cppSTLfunction max_load_factor
- syntax keyword cppSTLfunction rehash
- syntax keyword cppSTLfunction reserve
- syntax keyword cppSTLfunction hash_function
- syntax keyword cppSTLfunction key_eq
-
" algorithm
syntax keyword cppSTLfunction all_of any_of none_of
syntax keyword cppSTLfunction find_if_not
syntax keyword cppSTLfunction copy_if
syntax keyword cppSTLfunction copy_n
syntax keyword cppSTLfunction move
- syntax keyword cppSTLfunction move_if_noexcept
syntax keyword cppSTLfunction move_backward
syntax keyword cppSTLfunction shuffle
syntax keyword cppSTLfunction is_partitioned
@@ -1023,13 +836,309 @@ if !exists("cpp_no_cpp11")
syntax keyword cppSTLfunction partition_point
syntax keyword cppSTLfunction is_sorted
syntax keyword cppSTLfunction is_sorted_until
+ syntax keyword cppSTLfunction is_heap
syntax keyword cppSTLfunction is_heap_until
syntax keyword cppSTLfunction minmax
syntax keyword cppSTLfunction minmax_element
syntax keyword cppSTLfunction is_permutation
syntax keyword cppSTLfunction itoa
- " numerics
+ " atomic
+ syntax keyword cppSTLtype atomic
+ syntax keyword cppSTLtype atomic_flag
+ syntax keyword cppSTLtype atomic_bool
+ syntax keyword cppSTLtype atomic_char
+ syntax keyword cppSTLtype atomic_schar
+ syntax keyword cppSTLtype atomic_uchar
+ syntax keyword cppSTLtype atomic_short
+ syntax keyword cppSTLtype atomic_ushort
+ syntax keyword cppSTLtype atomic_int
+ syntax keyword cppSTLtype atomic_uint
+ syntax keyword cppSTLtype atomic_long
+ syntax keyword cppSTLtype atomic_ulong
+ syntax keyword cppSTLtype atomic_llong
+ syntax keyword cppSTLtype atomic_ullong
+ syntax keyword cppSTLtype atomic_char16_t
+ syntax keyword cppSTLtype atomic_char32_t
+ syntax keyword cppSTLtype atomic_wchar_t
+ syntax keyword cppSTLtype atomic_int_least8_t
+ syntax keyword cppSTLtype atomic_uint_least8_t
+ syntax keyword cppSTLtype atomic_int_least16_t
+ syntax keyword cppSTLtype atomic_uint_least16_t
+ syntax keyword cppSTLtype atomic_int_least32_t
+ syntax keyword cppSTLtype atomic_uint_least32_t
+ syntax keyword cppSTLtype atomic_int_least64_t
+ syntax keyword cppSTLtype atomic_uint_least64_t
+ syntax keyword cppSTLtype atomic_int_fast8_t
+ syntax keyword cppSTLtype atomic_uint_fast8_t
+ syntax keyword cppSTLtype atomic_int_fast16_t
+ syntax keyword cppSTLtype atomic_uint_fast16_t
+ syntax keyword cppSTLtype atomic_int_fast32_t
+ syntax keyword cppSTLtype atomic_uint_fast32_t
+ syntax keyword cppSTLtype atomic_int_fast64_t
+ syntax keyword cppSTLtype atomic_uint_fast64_t
+ syntax keyword cppSTLtype atomic_intptr_t
+ syntax keyword cppSTLtype atomic_uintptr_t
+ syntax keyword cppSTLtype atomic_size_t
+ syntax keyword cppSTLtype atomic_ptrdiff_t
+ syntax keyword cppSTLtype atomic_intmax_t
+ syntax keyword cppSTLtype atomic_uintmax_t
+ syntax keyword cppSTLconstant ATOMIC_FLAG_INIT
+ syntax keyword cppSTLenum memory_order
+ syntax keyword cppSTLfunction is_lock_free
+ syntax keyword cppSTLfunction compare_exchange_weak
+ syntax keyword cppSTLfunction compare_exchange_strong
+ syntax keyword cppSTLfunction fetch_add
+ syntax keyword cppSTLfunction fetch_sub
+ syntax keyword cppSTLfunction fetch_and
+ syntax keyword cppSTLfunction fetch_or
+ syntax keyword cppSTLfunction fetch_xor
+ syntax keyword cppSTLfunction atomic_is_lock_free
+ syntax keyword cppSTLfunction atomic_store
+ syntax keyword cppSTLfunction atomic_store_explicit
+ syntax keyword cppSTLfunction atomic_load
+ syntax keyword cppSTLfunction atomic_load_explicit
+ syntax keyword cppSTLfunction atomic_exchange
+ syntax keyword cppSTLfunction atomic_exchange_explicit
+ syntax keyword cppSTLfunction atomic_compare_exchange_weak
+ syntax keyword cppSTLfunction atomic_compare_exchange_weak_explicit
+ syntax keyword cppSTLfunction atomic_compare_exchange_strong
+ syntax keyword cppSTLfunction atomic_compare_exchange_strong_explicit
+ syntax keyword cppSTLfunction atomic_fetch_add
+ syntax keyword cppSTLfunction atomic_fetch_add_explicit
+ syntax keyword cppSTLfunction atomic_fetch_sub
+ syntax keyword cppSTLfunction atomic_fetch_sub_explicit
+ syntax keyword cppSTLfunction atomic_fetch_and
+ syntax keyword cppSTLfunction atomic_fetch_and_explicit
+ syntax keyword cppSTLfunction atomic_fetch_or
+ syntax keyword cppSTLfunction atomic_fetch_or_explicit
+ syntax keyword cppSTLfunction atomic_fetch_xor
+ syntax keyword cppSTLfunction atomic_fetch_xor_explicit
+ syntax keyword cppSTLfunction atomic_flag_test_and_set
+ syntax keyword cppSTLfunction atomic_flag_test_and_set_explicit
+ syntax keyword cppSTLfunction atomic_flag_clear
+ syntax keyword cppSTLfunction atomic_flag_clear_explicit
+ syntax keyword cppSTLfunction atomic_init
+ syntax keyword cppSTLfunction ATOMIC_VAR_INIT
+ syntax keyword cppSTLfunction kill_dependency
+ syntax keyword cppSTLfunction atomic_thread_fence
+ syntax keyword cppSTLfunction atomic_signal_fence
+ syntax keyword cppSTLfunction exchange
+ " syntax keyword cppSTLfunction store
+ " syntax keyword cppSTLfunction load
+
+ " bitset
+ syntax keyword cppSTLfunction to_ullong
+ " syntax keyword cppSTLfunction all
+
+ " cinttypes
+ syntax keyword cppSTLfunction strtoimax
+ syntax keyword cppSTLfunction strtoumax
+ syntax keyword cppSTLfunction wcstoimax
+ syntax keyword cppSTLfunction wcstoumax
+
+ " chrono
+ syntax keyword cppSTLnamespace chrono
+ syntax keyword cppSTLcast duration_cast
+ syntax keyword cppSTLcast time_point_cast
+ syntax keyword cppSTLtype duration
+ syntax keyword cppSTLtype system_clock
+ syntax keyword cppSTLtype steady_clock
+ syntax keyword cppSTLtype high_resolution_clock
+ syntax keyword cppSTLtype time_point
+ syntax keyword cppSTLtype nanoseconds
+ syntax keyword cppSTLtype microseconds
+ syntax keyword cppSTLtype milliseconds
+ syntax keyword cppSTLtype seconds
+ syntax keyword cppSTLtype minutes
+ syntax keyword cppSTLtype hours
+ syntax keyword cppSTLtype treat_as_floating_point
+ syntax keyword cppSTLtype duration_values
+ " syntax keyword cppSTLtype rep period
+ syntax keyword cppSTLfunction time_since_epoch
+ syntax keyword cppSTLfunction to_time_t
+ syntax keyword cppSTLfunction from_time_t
+ " syntax keyword cppSTLfunction zero
+ " syntax keyword cppSTLfunction now
+
+ " complex
+ " syntax keyword cppSTLfunction proj
+
+ " condition_variable
+ syntax keyword cppSTLtype condition_variable
+ syntax keyword cppSTLfunction notify_all
+ syntax keyword cppSTLfunction notify_one
+
+ " cstddef
+ syntax keyword cppSTLtype nullptr_t max_align_t
+
+ " cstdlib
+ syntax keyword cppSTLfunction quick_exit
+ syntax keyword cppSTLfunction _Exit
+ syntax keyword cppSTLfunction at_quick_exit
+
+ " cuchar
+ syntax keyword cppSTLfunction mbrtoc16
+ syntax keyword cppSTLfunction c16rtomb
+ syntax keyword cppSTLfunction mbrtoc32
+ syntax keyword cppSTLfunction c32rtomb
+
+ " exception
+ syntax keyword cppSTLtype exception_ptr
+ syntax keyword cppSTLtype nested_exception
+ syntax keyword cppSTLfunction get_terminate
+ syntax keyword cppSTLfunction make_exception_ptr
+ syntax keyword cppSTLfunction current_exception
+ syntax keyword cppSTLfunction rethrow_exception
+ syntax keyword cppSTLfunction throw_with_nested
+ syntax keyword cppSTLfunction rethrow_if_nested
+ syntax keyword cppSTLfunction rethrow_nested
+
+ " forward_list
+ syntax keyword cppSTLtype forward_list
+ syntax keyword cppSTLfunction before_begin
+ syntax keyword cppSTLfunction cbefore_begin
+ syntax keyword cppSTLfunction insert_after
+ syntax keyword cppSTLfunction emplace_after
+ syntax keyword cppSTLfunction erase_after
+ syntax keyword cppSTLfunction splice_after
+
+ " functional
+ syntax keyword cppSTLexception bad_function_call
+ syntax keyword cppSTLfunctional function
+ syntax keyword cppSTLconstant _1 _2 _3 _4 _5 _6 _7 _8 _9
+ syntax keyword cppSTLtype hash
+ syntax keyword cppSTLtype is_bind_expression
+ syntax keyword cppSTLtype is_placeholder
+ syntax keyword cppSTLtype reference_wrapper
+ syntax keyword cppSTLfunction bind
+ syntax keyword cppSTLfunction mem_fn
+ syntax keyword cppSTLfunction ref cref
+
+ " future
+ syntax keyword cppSTLtype future
+ syntax keyword cppSTLtype packaged_task
+ syntax keyword cppSTLtype promise
+ syntax keyword cppSTLtype shared_future
+ syntax keyword cppSTLenum future_status
+ syntax keyword cppSTLenum future_errc
+ syntax keyword cppSTLenum launch
+ syntax keyword cppSTLexception future_error
+ syntax keyword cppSTLfunction get_future
+ syntax keyword cppSTLfunction set_value
+ syntax keyword cppSTLfunction set_value_at_thread_exit
+ syntax keyword cppSTLfunction set_exception
+ syntax keyword cppSTLfunction set_exception_at_thread_exit
+ syntax keyword cppSTLfunction wait_for
+ syntax keyword cppSTLfunction wait_until
+ syntax keyword cppSTLfunction future_category
+ syntax keyword cppSTLfunction make_error_code
+ syntax keyword cppSTLfunction make_error_condition
+ syntax keyword cppSTLfunction make_ready_at_thread_exit
+ " syntax keyword cppSTLfunction async
+ " syntax keyword cppSTLfunction share
+ " syntax keyword cppSTLfunction valid
+ " syntax keyword cppSTLfunction wait
+
+ " initializer_list
+ syntax keyword cppSTLtype initializer_list
+
+ " io
+ syntax keyword cppSTLenum io_errc
+ syntax keyword cppSTLfunction iostream_category
+ syntax keyword cppSTLfunction vscanf vfscanf vsscanf
+ syntax keyword cppSTLfunction snprintf vsnprintf
+ syntax keyword cppSTLfunction vwscanf vfwscanf vswscanf
+
+ " iterator
+ syntax keyword cppSTLiterator move_iterator
+ syntax keyword cppSTLfunction make_move_iterator
+ syntax keyword cppSTLfunction next prev
+
+ " limits
+ syntax keyword cppSTLconstant max_digits10
+ syntax keyword cppSTLfunction lowest
+
+ " locale
+ syntax keyword cppSTLtype wstring_convert
+ syntax keyword cppSTLtype wbuffer_convert
+ syntax keyword cppSTLtype codecvt_utf8
+ syntax keyword cppSTLtype codecvt_utf16
+ syntax keyword cppSTLtype codecvt_utf8_utf16
+ syntax keyword cppSTLtype codecvt_mode
+ syntax keyword cppSTLfunction isblank
+ syntax keyword cppSTLfunction iswblank
+
+ " memory
+ syntax keyword cppSTLtype unique_ptr
+ syntax keyword cppSTLtype shared_ptr
+ syntax keyword cppSTLtype weak_ptr
+ syntax keyword cppSTLtype owner_less
+ syntax keyword cppSTLtype enable_shared_from_this
+ syntax keyword cppSTLtype default_delete
+ syntax keyword cppSTLtype allocator_traits
+ syntax keyword cppSTLtype allocator_type
+ syntax keyword cppSTLtype allocator_arg_t
+ syntax keyword cppSTLtype uses_allocator
+ syntax keyword cppSTLtype scoped_allocator_adaptor
+ syntax keyword cppSTLtype pointer_safety
+ syntax keyword cppSTLtype pointer_traits
+ syntax keyword cppSTLconstant allocator_arg
+ syntax keyword cppSTLexception bad_weak_ptr
+ syntax keyword cppSTLcast static_pointer_cast
+ syntax keyword cppSTLcast dynamic_pointer_cast
+ syntax keyword cppSTLcast const_pointer_cast
+ syntax keyword cppSTLfunction make_shared
+ syntax keyword cppSTLfunction declare_reachable
+ syntax keyword cppSTLfunction undeclare_reachable
+ syntax keyword cppSTLfunction declare_no_pointers
+ syntax keyword cppSTLfunction undeclare_no_pointers
+ syntax keyword cppSTLfunction get_pointer_safety
+ syntax keyword cppSTLfunction addressof
+ syntax keyword cppSTLfunction allocate_shared
+ syntax keyword cppSTLfunction get_deleter
+ " syntax keyword cppSTLfunction align
+
+ " mutex
+ syntax keyword cppSTLtype mutex
+ syntax keyword cppSTLtype timed_mutex
+ syntax keyword cppSTLtype recursive_mutex
+ syntax keyword cppSTLtype recursive_timed_mutex
+ syntax keyword cppSTLtype lock_guard
+ syntax keyword cppSTLtype unique_lock
+ syntax keyword cppSTLtype defer_lock_t
+ syntax keyword cppSTLtype try_to_lock_t
+ syntax keyword cppSTLtype adopt_lock_t
+ syntax keyword cppSTLtype once_flag
+ syntax keyword cppSTLtype condition_variable_any
+ syntax keyword cppSTLenum cv_status
+ syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock
+ syntax keyword cppSTLfunction try_lock lock unlock try_lock_for try_lock_until
+ syntax keyword cppSTLfunction call_once
+ syntax keyword cppSTLfunction owns_lock
+ syntax keyword cppSTLfunction notify_all_at_thread_exit
+ syntax keyword cppSTLfunction release
+ " Note: unique_lock has method 'mutex()', but already set as cppSTLtype
+ " syntax keyword cppSTLfunction mutex
+
+ " new
+ syntax keyword cppSTLexception bad_array_new_length
+ syntax keyword cppSTLfunction get_new_handler
+
+ " numerics, cmath
+ syntax keyword cppSTLconstant HUGE_VALF
+ syntax keyword cppSTLconstant HUGE_VALL
+ syntax keyword cppSTLconstant INFINITY
+ syntax keyword cppSTLconstant NAN
+ syntax keyword cppSTLconstant math_errhandling
+ syntax keyword cppSTLconstant MATH_ERRNO
+ syntax keyword cppSTLconstant MATH_ERREXCEPT
+ syntax keyword cppSTLconstant FP_NORMAL
+ syntax keyword cppSTLconstant FP_SUBNORMAL
+ syntax keyword cppSTLconstant FP_ZERO
+ syntax keyword cppSTLconstant FP_INFINITY
+ syntax keyword cppSTLconstant FP_NAN
+ syntax keyword cppSTLconstant FLT_EVAL_METHOD
syntax keyword cppSTLfunction imaxabs
syntax keyword cppSTLfunction imaxdiv
syntax keyword cppSTLfunction remainder
@@ -1075,22 +1184,6 @@ if !exists("cpp_no_cpp11")
syntax keyword cppSTLfunction isnan
syntax keyword cppSTLfunction isnormal
syntax keyword cppSTLfunction signbit
- syntax keyword cppSTLconstant HUGE_VALF
- syntax keyword cppSTLconstant HUGE_VALL
- syntax keyword cppSTLconstant INFINITY
- syntax keyword cppSTLconstant NAN
- syntax keyword cppSTLconstant math_errhandling
- syntax keyword cppSTLconstant MATH_ERRNO
- syntax keyword cppSTLconstant MATH_ERREXCEPT
- syntax keyword cppSTLconstant FP_NORMAL
- syntax keyword cppSTLconstant FP_SUBNORMAL
- syntax keyword cppSTLconstant FP_ZERO
- syntax keyword cppSTLconstant FP_INFINITY
- syntax keyword cppSTLconstant FP_NAN
- syntax keyword cppSTLconstant FLT_EVAL_METHOD
-
- " complex
- "syntax keyword cppSTLfunction proj
" random
syntax keyword cppSTLtype linear_congruential_engine
@@ -1110,7 +1203,6 @@ if !exists("cpp_no_cpp11")
syntax keyword cppSTLtype ranlux24
syntax keyword cppSTLtype ranlux48
syntax keyword cppSTLtype knuth_b
- syntax keyword cppSTLfunction generate_canonical
syntax keyword cppSTLtype uniform_int_distribution
syntax keyword cppSTLtype uniform_real_distribution
syntax keyword cppSTLtype bernoulli_distribution
@@ -1132,166 +1224,7 @@ if !exists("cpp_no_cpp11")
syntax keyword cppSTLtype piecewise_constant_distribution
syntax keyword cppSTLtype piecewise_linear_distribution
syntax keyword cppSTLtype seed_seq
-
- " io
- syntax keyword cppSTLfunction iostream_category
- syntax keyword cppSTLenum io_errc
- syntax keyword cppSTLfunction vscanf vfscanf vsscanf
- syntax keyword cppSTLfunction snprintf vsnprintf
- syntax keyword cppSTLfunction vwscanf vfwscanf vswscanf
-
- " locale
- syntax keyword cppSTLfunction isblank
- syntax keyword cppSTLfunction iswblank
- syntax keyword cppSTLtype wstring_convert
- syntax keyword cppSTLtype wbuffer_convert
- syntax keyword cppSTLtype codecvt_utf8
- syntax keyword cppSTLtype codecvt_utf16
- syntax keyword cppSTLtype codecvt_utf8_utf16
- syntax keyword cppSTLtype codecvt_mode
-
- " regex
- syntax keyword cppSTLtype basic_regex
- syntax keyword cppSTLtype sub_match
- syntax keyword cppSTLtype match_results
- syntax keyword cppSTLtype regex_traits
- syntax keyword cppSTLtype regex_match regex_search regex_replace
- syntax keyword cppSTLiterator regex_iterator
- syntax keyword cppSTLiterator regex_token_iterator
- syntax keyword cppSTLexception regex_error
- syntax keyword cppSTLtype syntax_option_type match_flag_type error_type
-
- " atomic
- syntax keyword cppSTLtype atomic
- syntax keyword cppSTLfunction atomic_is_lock_free
- syntax keyword cppSTLfunction atomic_store
- syntax keyword cppSTLfunction atomic_store_explicit
- syntax keyword cppSTLfunction atomic_load
- syntax keyword cppSTLfunction atomic_load_explicit
- syntax keyword cppSTLfunction atomic_exchange
- syntax keyword cppSTLfunction atomic_exchange_explicit
- syntax keyword cppSTLfunction atomic_compare_exchange_weak
- syntax keyword cppSTLfunction atomic_compare_exchange_weak_explicit
- syntax keyword cppSTLfunction atomic_compare_exchange_strong
- syntax keyword cppSTLfunction atomic_compare_exchange_strong_explicit
- syntax keyword cppSTLfunction atomic_fetch_add
- syntax keyword cppSTLfunction atomic_fetch_add_explicit
- syntax keyword cppSTLfunction atomic_fetch_sub
- syntax keyword cppSTLfunction atomic_fetch_sub_explicit
- syntax keyword cppSTLfunction atomic_fetch_and
- syntax keyword cppSTLfunction atomic_fetch_and_explicit
- syntax keyword cppSTLfunction atomic_fetch_or
- syntax keyword cppSTLfunction atomic_fetch_or_explicit
- syntax keyword cppSTLfunction atomic_fetch_xor
- syntax keyword cppSTLfunction atomic_fetch_xor_explicit
-
- syntax keyword cppSTLtype atomic_flag
- syntax keyword cppSTLfunction atomic_flag_test_and_set
- syntax keyword cppSTLfunction atomic_flag_test_and_set_explicit
- syntax keyword cppSTLfunction atomic_flag_clear
- syntax keyword cppSTLfunction atomic_flag_clear_explicit
-
- syntax keyword cppSTLtype atomic_bool
- syntax keyword cppSTLtype atomic_char
- syntax keyword cppSTLtype atomic_schar
- syntax keyword cppSTLtype atomic_uchar
- syntax keyword cppSTLtype atomic_short
- syntax keyword cppSTLtype atomic_ushort
- syntax keyword cppSTLtype atomic_int
- syntax keyword cppSTLtype atomic_uint
- syntax keyword cppSTLtype atomic_long
- syntax keyword cppSTLtype atomic_ulong
- syntax keyword cppSTLtype atomic_llong
- syntax keyword cppSTLtype atomic_ullong
- syntax keyword cppSTLtype atomic_char16_t
- syntax keyword cppSTLtype atomic_char32_t
- syntax keyword cppSTLtype atomic_wchar_t
- syntax keyword cppSTLtype atomic_int_least8_t
- syntax keyword cppSTLtype atomic_uint_least8_t
- syntax keyword cppSTLtype atomic_int_least16_t
- syntax keyword cppSTLtype atomic_uint_least16_t
- syntax keyword cppSTLtype atomic_int_least32_t
- syntax keyword cppSTLtype atomic_uint_least32_t
- syntax keyword cppSTLtype atomic_int_least64_t
- syntax keyword cppSTLtype atomic_uint_least64_t
- syntax keyword cppSTLtype atomic_int_fast8_t
- syntax keyword cppSTLtype atomic_uint_fast8_t
- syntax keyword cppSTLtype atomic_int_fast16_t
- syntax keyword cppSTLtype atomic_uint_fast16_t
- syntax keyword cppSTLtype atomic_int_fast32_t
- syntax keyword cppSTLtype atomic_uint_fast32_t
- syntax keyword cppSTLtype atomic_int_fast64_t
- syntax keyword cppSTLtype atomic_uint_fast64_t
- syntax keyword cppSTLtype atomic_intptr_t
- syntax keyword cppSTLtype atomic_uintptr_t
- syntax keyword cppSTLtype atomic_size_t
- syntax keyword cppSTLtype atomic_ptrdiff_t
- syntax keyword cppSTLtype atomic_intmax_t
- syntax keyword cppSTLtype atomic_uintmax_t
-
- syntax keyword cppSTLtype memory_order
- syntax keyword cppSTLfunction atomic_init
- syntax keyword cppSTLfunction ATOMIC_VAR_INIT
- syntax keyword cppSTLconstant ATOMIC_FLAG_INIT
- syntax keyword cppSTLfunction kill_dependency
- syntax keyword cppSTLfunction atomic_thread_fence
- syntax keyword cppSTLfunction atomic_signal_fence
-
- " thread
- syntax keyword cppSTLtype thread
- syntax keyword cppSTLnamespace this_thread
- syntax keyword cppSTLfunction yield
- syntax keyword cppSTLfunction get_id
- syntax keyword cppSTLfunction sleep_for
- syntax keyword cppSTLfunction sleep_until
-
- syntax keyword cppSTLfunction joinable
- syntax keyword cppSTLfunction get_id
- syntax keyword cppSTLfunction native_handle
- syntax keyword cppSTLfunction hardware_concurrency
- syntax keyword cppSTLfunction join
- syntax keyword cppSTLfunction detach
-
- syntax keyword cppSTLtype mutex
- syntax keyword cppSTLtype timed_mutex
- syntax keyword cppSTLtype recursive_mutex
- syntax keyword cppSTLtype recursive_timed_mutex
- syntax keyword cppSTLtype lock_guard
- syntax keyword cppSTLtype unique_lock
- syntax keyword cppSTLtype defer_lock_t
- syntax keyword cppSTLtype try_to_lock_t
- syntax keyword cppSTLtype adopt_lock_t
- syntax keyword cppSTLconstant defer_lock try_to_lock adopt_lock
- syntax keyword cppSTLfunction try_lock lock
- syntax keyword cppSTLfunction call_once
- syntax keyword cppSTLtype once_flag
- syntax keyword cppSTLtype condition_variable
- syntax keyword cppSTLtype condition_variable_any
- syntax keyword cppSTLfunction notify_all_at_thread_exit
- syntax keyword cppSTLenum cv_status
-
- syntax keyword cppSTLtype promise
- syntax keyword cppSTLtype packaged_task
- syntax keyword cppSTLtype future
- syntax keyword cppSTLtype shared_future
-
- syntax keyword cppSTLfunction async
- syntax keyword cppSTLenum launch
-
- syntax keyword cppSTLenum future_status
- syntax keyword cppSTLenum future_errc
- syntax keyword cppSTLtype future_error
- syntax keyword cppSTLfunction future_category
-
- " string
- syntax keyword cppSTLfunction stoi
- syntax keyword cppSTLfunction stol
- syntax keyword cppSTLfunction stoll
- syntax keyword cppSTLfunction stoul
- syntax keyword cppSTLfunction stoull
- syntax keyword cppSTLfunction stof
- syntax keyword cppSTLfunction stod
- syntax keyword cppSTLfunction stold
+ syntax keyword cppSTLfunction generate_canonical
" ratio
syntax keyword cppSTLtype ratio
@@ -1326,56 +1259,703 @@ if !exists("cpp_no_cpp11")
syntax keyword cppSTLtype ratio_greater
syntax keyword cppSTLtype ratio_greater_equal
- "limits
- syntax keyword cppSTLfunction lowest
+ " regex
+ syntax keyword cppSTLtype basic_regex
+ syntax keyword cppSTLtype sub_match
+ syntax keyword cppSTLtype match_results
+ syntax keyword cppSTLtype regex_traits
+ syntax keyword cppSTLtype regex_match regex_search regex_replace
+ syntax keyword cppSTLiterator regex_iterator
+ syntax keyword cppSTLiterator regex_token_iterator
+ syntax keyword cppSTLexception regex_error
+ syntax keyword cppSTLtype syntax_option_type match_flag_type error_type
- "cuchar
- syntax keyword cppSTLfunction mbrtoc16
- syntax keyword cppSTLfunction c16rtomb
- syntax keyword cppSTLfunction mbrtoc32
- syntax keyword cppSTLfunction c32rtomb
+ " string
+ syntax keyword cppSTLfunction stoi
+ syntax keyword cppSTLfunction stol
+ syntax keyword cppSTLfunction stoll
+ syntax keyword cppSTLfunction stoul
+ syntax keyword cppSTLfunction stoull
+ syntax keyword cppSTLfunction stof
+ syntax keyword cppSTLfunction stod
+ syntax keyword cppSTLfunction stold
- "cinttypes
- syntax keyword cppSTLfunction strtoimax
- syntax keyword cppSTLfunction strtoumax
- syntax keyword cppSTLfunction wcstoimax
- syntax keyword cppSTLfunction wcstoumax
+ " system_error
+ syntax keyword cppSTLenum errc
+ syntax keyword cppSTLtype system_error
+ syntax keyword cppSTLtype error_code
+ syntax keyword cppSTLtype error_condition
+ syntax keyword cppSTLtype error_category
+ syntax keyword cppSTLtype is_error_code_enum
+ syntax keyword cppSTLtype is_error_condition_enum
+ " syntax keyword cppSTLfunction default_error_condition
+ " syntax keyword cppSTLfunction generic_category
+ " syntax keyword cppSTLfunction system_category
+ " syntax keyword cppSTLfunction code
+ " syntax keyword cppSTLfunction category
+ " syntax keyword cppSTLfunction message
+ " syntax keyword cppSTLfunction equivalent
- syntax keyword cppSTLtype nanoseconds
- syntax keyword cppSTLtype microseconds
- syntax keyword cppSTLtype milliseconds
- syntax keyword cppSTLtype seconds
- syntax keyword cppSTLtype minutes
- syntax keyword cppSTLtype hours
+ " thread
+ syntax keyword cppSTLnamespace this_thread
+ syntax keyword cppSTLtype thread
+ syntax keyword cppSTLfunction get_id
+ syntax keyword cppSTLfunction sleep_for
+ syntax keyword cppSTLfunction sleep_until
+ syntax keyword cppSTLfunction joinable
+ syntax keyword cppSTLfunction native_handle
+ syntax keyword cppSTLfunction hardware_concurrency
+ " syntax keyword cppSTLfunction yield
+ " syntax keyword cppSTLfunction join
+ " syntax keyword cppSTLfunction detach
+
+ " tuple
+ syntax keyword cppSTLtype tuple
+ syntax keyword cppSTLtype tuple_size
+ syntax keyword cppSTLtype tuple_element
+ syntax keyword cppSTLfunction make_tuple
+ syntax keyword cppSTLfunction tie
+ syntax keyword cppSTLfunction forward_as_tuple
+ syntax keyword cppSTLfunction tuple_cat
+ " Note: 'ignore' is already set as cppSTLfunction
+ " syntax keyword cppSTLconstant ignore
+
+ " typeindex
+ syntax keyword cppSTLtype type_index
- "raw string literals
+ " type_traits
+ syntax keyword cppSTLtype is_void
+ syntax keyword cppSTLtype is_integral
+ syntax keyword cppSTLtype is_floating_point
+ syntax keyword cppSTLtype is_array
+ syntax keyword cppSTLtype is_enum
+ syntax keyword cppSTLtype is_union
+ syntax keyword cppSTLtype is_class
+ syntax keyword cppSTLtype is_function
+ syntax keyword cppSTLtype is_pointer
+ syntax keyword cppSTLtype is_lvalue_reference
+ syntax keyword cppSTLtype is_rvalue_reference
+ syntax keyword cppSTLtype is_member_object_pointer
+ syntax keyword cppSTLtype is_member_function_pointer
+ syntax keyword cppSTLtype is_fundamental
+ syntax keyword cppSTLtype is_arithmetic
+ syntax keyword cppSTLtype is_scalar
+ syntax keyword cppSTLtype is_object
+ syntax keyword cppSTLtype is_compound
+ syntax keyword cppSTLtype is_reference
+ syntax keyword cppSTLtype is_member_pointer
+ syntax keyword cppSTLtype is_const
+ syntax keyword cppSTLtype is_volatile
+ syntax keyword cppSTLtype is_trivial
+ syntax keyword cppSTLtype is_trivially_copyable
+ syntax keyword cppSTLtype is_standard_layout
+ syntax keyword cppSTLtype is_pod
+ syntax keyword cppSTLtype is_literal_type
+ syntax keyword cppSTLtype is_empty
+ syntax keyword cppSTLtype is_polymorphic
+ syntax keyword cppSTLtype is_abstract
+ syntax keyword cppSTLtype is_signed
+ syntax keyword cppSTLtype is_unsigned
+ syntax keyword cppSTLtype is_constructible
+ syntax keyword cppSTLtype is_trivially_constructible
+ syntax keyword cppSTLtype is_nothrow_constructible
+ syntax keyword cppSTLtype is_default_constructible
+ syntax keyword cppSTLtype is_trivially_default_constructible
+ syntax keyword cppSTLtype is_nothrow_default_constructible
+ syntax keyword cppSTLtype is_copy_constructible
+ syntax keyword cppSTLtype is_trivially_copy_constructible
+ syntax keyword cppSTLtype is_nothrow_copy_constructible
+ syntax keyword cppSTLtype is_move_constructible
+ syntax keyword cppSTLtype is_trivially_move_constructible
+ syntax keyword cppSTLtype is_nothrow_move_constructible
+ syntax keyword cppSTLtype is_assignable
+ syntax keyword cppSTLtype is_trivially_assignable
+ syntax keyword cppSTLtype is_nothrow_assignable
+ syntax keyword cppSTLtype is_copy_assignable
+ syntax keyword cppSTLtype is_trivially_copy_assignable
+ syntax keyword cppSTLtype is_nothrow_copy_assignable
+ syntax keyword cppSTLtype is_move_assignable
+ syntax keyword cppSTLtype is_trivially_move_assignable
+ syntax keyword cppSTLtype is_nothrow_move_assignable
+ syntax keyword cppSTLtype is_destructible
+ syntax keyword cppSTLtype is_trivially_destructible
+ syntax keyword cppSTLtype is_nothrow_destructible
+ syntax keyword cppSTLtype has_virtual_destructor
+ syntax keyword cppSTLtype alignment_of
+ syntax keyword cppSTLtype rank
+ syntax keyword cppSTLtype extent
+ syntax keyword cppSTLtype is_same
+ syntax keyword cppSTLtype is_base_of
+ syntax keyword cppSTLtype is_convertible
+ syntax keyword cppSTLtype remove_cv
+ syntax keyword cppSTLtype remove_const
+ syntax keyword cppSTLtype remove_volatile
+ syntax keyword cppSTLtype add_cv
+ syntax keyword cppSTLtype add_const
+ syntax keyword cppSTLtype add_volatile
+ syntax keyword cppSTLtype remove_reference
+ syntax keyword cppSTLtype add_lvalue_reference
+ syntax keyword cppSTLtype add_rvalue_reference
+ syntax keyword cppSTLtype remove_pointer
+ syntax keyword cppSTLtype add_pointer
+ syntax keyword cppSTLtype make_signed
+ syntax keyword cppSTLtype make_unsigned
+ syntax keyword cppSTLtype remove_extent
+ syntax keyword cppSTLtype remove_all_extents
+ syntax keyword cppSTLtype aligned_storage
+ syntax keyword cppSTLtype aligned_union
+ syntax keyword cppSTLtype decay
+ syntax keyword cppSTLtype enable_if
+ syntax keyword cppSTLtype conditional
+ syntax keyword cppSTLtype common_type
+ syntax keyword cppSTLtype underlying_type
+ syntax keyword cppSTLtype result_of
+ syntax keyword cppSTLtype integral_constant
+ syntax keyword cppSTLtype true_type
+ syntax keyword cppSTLtype false_type
+
+ " unordered_map, unordered_set, unordered_multimap, unordered_multiset
+ syntax keyword cppSTLtype unordered_map
+ syntax keyword cppSTLtype unordered_set
+ syntax keyword cppSTLtype unordered_multimap
+ syntax keyword cppSTLtype unordered_multiset
+ syntax keyword cppSTLtype hasher
+ syntax keyword cppSTLtype key_equal
+ syntax keyword cppSTLiterator local_iterator
+ syntax keyword cppSTLiterator const_local_iterator
+ syntax keyword cppSTLfunction bucket_count
+ syntax keyword cppSTLfunction max_bucket_count
+ syntax keyword cppSTLfunction bucket_size
+ syntax keyword cppSTLfunction bucket
+ syntax keyword cppSTLfunction load_factor
+ syntax keyword cppSTLfunction max_load_factor
+ syntax keyword cppSTLfunction rehash
+ syntax keyword cppSTLfunction reserve
+ syntax keyword cppSTLfunction hash_function
+ syntax keyword cppSTLfunction key_eq
+
+ " utility
+ syntax keyword cppSTLtype piecewise_construct_t
+ syntax keyword cppSTLconstant piecewise_construct
+ syntax keyword cppSTLfunction declval
+ syntax keyword cppSTLfunction forward
+ syntax keyword cppSTLfunction move_if_noexcept
+
+ " raw string literals
syntax region cppRawString matchgroup=cppRawDelimiter start=@\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(@ end=/)\z1"/ contains=@Spell
syn match cNumber "0b[01]\+"
endif " C++11
+
if !exists("cpp_no_cpp14")
- "dynarray
- syntax keyword cppSTLtype dynarray
+ " chrono
+ syntax keyword cppSTLnamespace literals
+ syntax keyword cppSTLnamespace chrono_literals
- "thread
- syntax keyword cppSTLtype shared_mutex
- syntax keyword cppSTLtype shared_lock
+ " iterator
+ syntax keyword cppSTLfunction make_reverse_iterator
- "memory
+ " memory
syntax keyword cppSTLfunction make_unique
+
+ " utility
+ syntax keyword cppSTLtype integer_sequence
+ syntax keyword cppSTLtype index_sequence
+ syntax keyword cppSTLtype make_integer_sequence
+ syntax keyword cppSTLtype make_index_sequence
+ syntax keyword cppSTLtype index_sequence_for
+
+ " shared_mutex
+ syntax keyword cppSTLtype shared_timed_mutex
+ syntax keyword cppSTLtype shared_lock
+ syntax keyword cppSTLfunction lock_shared
+ syntax keyword cppSTLfunction unlock_shared
+ syntax keyword cppSTLfunction try_lock_shared
+ syntax keyword cppSTLfunction try_lock_shared_for
+ syntax keyword cppSTLfunction try_lock_shared_until
+
+ " string
+ syntax keyword cppSTLnamespace string_literals
+
+ " tuple
+ syntax keyword cppSTLtype tuple_element_t
+
+ " type_traits
+ syntax keyword cppSTLtype is_null_pointer
+ syntax keyword cppSTLtype remove_cv_t
+ syntax keyword cppSTLtype remove_const_t
+ syntax keyword cppSTLtype remove_volatile_t
+ syntax keyword cppSTLtype add_cv_t
+ syntax keyword cppSTLtype add_const_t
+ syntax keyword cppSTLtype add_volatile_t
+ syntax keyword cppSTLtype remove_reference_t
+ syntax keyword cppSTLtype add_lvalue_reference_t
+ syntax keyword cppSTLtype add_rvalue_reference_t
+ syntax keyword cppSTLtype remove_pointer_t
+ syntax keyword cppSTLtype add_pointer_t
+ syntax keyword cppSTLtype make_signed_t
+ syntax keyword cppSTLtype make_unsigned_t
+ syntax keyword cppSTLtype remove_extent_t
+ syntax keyword cppSTLtype remove_all_extents_t
+ syntax keyword cppSTLtype aligned_storage_t
+ syntax keyword cppSTLtype aligned_union_t
+ syntax keyword cppSTLtype decay_t
+ syntax keyword cppSTLtype enable_if_t
+ syntax keyword cppSTLtype conditional_t
+ syntax keyword cppSTLtype common_type_t
+ syntax keyword cppSTLtype underlying_type_t
+ syntax keyword cppSTLtype result_of_t
endif " C++14
-if !exists("cpp_no_boost")
- "optional is not a part of C++14 anymore
+
+if !exists("cpp_no_cpp17")
+ " algorithm
+ syntax keyword cppSTLfunction clamp
+ syntax keyword cppSTLfunction for_each_n
+
+ " any
+ syntax keyword cppSTLtype any
+ syntax keyword cppSTLexception bad_any_cast
+ syntax keyword cppSTLcast any_cast
+ syntax keyword cppSTLfunction make_any
+
+ " array
+ syntax keyword cppSTLfunction to_array
+ syntax keyword cppSTLfunction make_array
+
+ " atomic
+ syntax keyword cppSTLconstant is_always_lock_free
+
+ " chrono
+ syntax keyword cppSTLbool treat_as_floating_point_v
+
+ " cmath
+ syntax keyword cppSTLfunction assoc_laguerre assoc_laguerref assoc_laguerrel
+ syntax keyword cppSTLfunction assoc_legendre assoc_legendref assoc_legendrel
+ syntax keyword cppSTLfunction beta betaf betal
+ syntax keyword cppSTLfunction comp_ellint_1 comp_ellint_1f comp_ellint_1l
+ syntax keyword cppSTLfunction comp_ellint_2 comp_ellint_2f comp_ellint_2l
+ syntax keyword cppSTLfunction comp_ellint_3 comp_ellint_3f comp_ellint_3l
+ syntax keyword cppSTLfunction cyl_bessel_i cyl_bessel_if cyl_bessel_il
+ syntax keyword cppSTLfunction cyl_bessel_j cyl_bessel_jf cyl_bessel_jl
+ syntax keyword cppSTLfunction cyl_bessel_k cyl_bessel_kf cyl_bessel_kl
+ syntax keyword cppSTLfunction cyl_neumann cyl_neumannf cyl_neumannl
+ syntax keyword cppSTLfunction ellint_1 ellint_1f ellint_1l
+ syntax keyword cppSTLfunction ellint_2 ellint_2f ellint_2l
+ syntax keyword cppSTLfunction ellint_3 ellint_3f ellint_3l
+ syntax keyword cppSTLfunction expint expintf expintl
+ syntax keyword cppSTLfunction hermite hermitef hermitel
+ syntax keyword cppSTLfunction legendre legendrefl egendrel
+ syntax keyword cppSTLfunction laguerre laguerref laguerrel
+ syntax keyword cppSTLfunction riemann_zeta riemann_zetaf riemann_zetal
+ syntax keyword cppSTLfunction sph_bessel sph_besself sph_bessell
+ syntax keyword cppSTLfunction sph_legendre sph_legendref sph_legendrel
+ syntax keyword cppSTLfunction sph_neumann sph_neumannf sph_neumannl
+
+ " cstdlib
+ syntax keyword cppSTLfunction aligned_alloc
+
+ " exception
+ syntax keyword cppSTLfunction uncaught_exceptions
+
+ " execution
+ syntax keyword cppSTLnamespace execution
+ syntax keyword cppSTLconstant seq par par_unseq
+ syntax keyword cppSTLbool is_execution_policy_v
+ syntax keyword cppSTLtype sequenced_policy
+ syntax keyword cppSTLtype parallel_policy
+ syntax keyword cppSTLtype parallel_unsequenced_policy
+ syntax keyword cppSTLtype is_execution_policy
+
+ " filesystem
+ syntax keyword cppSTLnamespace filesystem
+ syntax keyword cppSTLexception filesystem_error
+ syntax keyword cppSTLtype path
+ syntax keyword cppSTLtype directory_entry
+ syntax keyword cppSTLtype directory_iterator
+ syntax keyword cppSTLtype recursive_directory_iterator
+ syntax keyword cppSTLtype file_status
+ syntax keyword cppSTLtype space_info
+ syntax keyword cppSTLtype file_time_type
+ syntax keyword cppSTLenum file_type
+ syntax keyword cppSTLenum perms
+ syntax keyword cppSTLenum copy_options
+ syntax keyword cppSTLenum directory_options
+ syntax keyword cppSTLConstant preferred_separator
+ syntax keyword cppSTLconstant available
+ " Note: 'capacity' and 'free' are already set as cppSTLfunction
+ " syntax keyword cppSTLconstant capacity
+ " syntax keyword cppSTLconstant free
+ syntax keyword cppSTLfunction concat
+ syntax keyword cppSTLfunction make_preferred
+ syntax keyword cppSTLfunction remove_filename
+ syntax keyword cppSTLfunction replace_filename
+ syntax keyword cppSTLfunction replace_extension
+ syntax keyword cppSTLfunction native
+ syntax keyword cppSTLfunction string_type
+ " Note: wstring, u8string, u16string, u32string already set as cppSTLtype
+ " syntax keyword cppSTLfunction wstring
+ " syntax keyword cppSTLfunction u8string
+ " syntax keyword cppSTLfunction u16string
+ " syntax keyword cppSTLfunction u32string
+ syntax keyword cppSTLfunction generic_string
+ syntax keyword cppSTLfunction generic_wstring
+ syntax keyword cppSTLfunction generic_u8string
+ syntax keyword cppSTLfunction generic_u16string
+ syntax keyword cppSTLfunction generic_u32string
+ syntax keyword cppSTLfunction lexically_normal
+ syntax keyword cppSTLfunction lexically_relative
+ syntax keyword cppSTLfunction lexically_proximate
+ syntax keyword cppSTLfunction root_name
+ syntax keyword cppSTLfunction root_directory
+ syntax keyword cppSTLfunction root_path
+ syntax keyword cppSTLfunction relative_path
+ syntax keyword cppSTLfunction parent_path
+ " syntax keyword cppSTLfunction filename
+ syntax keyword cppSTLfunction stem
+ syntax keyword cppSTLfunction extension
+ syntax keyword cppSTLfunction has_root_name
+ syntax keyword cppSTLfunction has_root_directory
+ syntax keyword cppSTLfunction has_root_path
+ syntax keyword cppSTLfunction has_relative_path
+ syntax keyword cppSTLfunction has_parent_path
+ syntax keyword cppSTLfunction has_filename
+ syntax keyword cppSTLfunction has_stem
+ syntax keyword cppSTLfunction has_extension
+ syntax keyword cppSTLfunction is_absolute
+ syntax keyword cppSTLfunction is_relative
+ syntax keyword cppSTLfunction hash_value
+ syntax keyword cppSTLfunction u8path
+ syntax keyword cppSTLfunction path1
+ syntax keyword cppSTLfunction path2
+ " syntax keyword cppSTLfunction path
+ syntax keyword cppSTLfunction status
+ syntax keyword cppSTLfunction symlink_status
+ syntax keyword cppSTLfunction options
+ " syntax keyword cppSTLfunction depth
+ syntax keyword cppSTLfunction recursive_pending
+ syntax keyword cppSTLfunction disable_recursive_pending
+ " syntax keyword cppSTLfunction type
+ syntax keyword cppSTLfunction permissions
+ syntax keyword cppSTLfunction absolute
+ syntax keyword cppSTLfunction system_complete
+ syntax keyword cppSTLfunction canonical
+ syntax keyword cppSTLfunction weakly_canonical
+ syntax keyword cppSTLfunction relative
+ syntax keyword cppSTLfunction proximate
+ syntax keyword cppSTLfunction copy_file
+ syntax keyword cppSTLfunction copy_symlink
+ syntax keyword cppSTLfunction create_directory
+ syntax keyword cppSTLfunction create_directories
+ syntax keyword cppSTLfunction create_hard_link
+ syntax keyword cppSTLfunction create_symlink
+ syntax keyword cppSTLfunction create_directory_symlink
+ syntax keyword cppSTLfunction current_path
+ " syntax keyword cppSTLfunction exists
+ syntax keyword cppSTLfunction file_size
+ syntax keyword cppSTLfunction hard_link_count
+ syntax keyword cppSTLfunction last_write_time
+ syntax keyword cppSTLfunction read_symlink
+ syntax keyword cppSTLfunction remove_all
+ syntax keyword cppSTLfunction resize_file
+ syntax keyword cppSTLfunction space
+ syntax keyword cppSTLfunction temp_directory_path
+ syntax keyword cppSTLfunction is_block_file
+ syntax keyword cppSTLfunction is_character_file
+ syntax keyword cppSTLfunction is_directory
+ syntax keyword cppSTLfunction is_fifo
+ syntax keyword cppSTLfunction is_other
+ syntax keyword cppSTLfunction is_regular_file
+ syntax keyword cppSTLfunction is_socket
+ syntax keyword cppSTLfunction is_symlink
+ syntax keyword cppSTLfunction status_known
+ " Note: 'is_empty' already set as cppSTLtype
+ " syntax keyword cppSTLfunction is_empty
+
+ " functional
+ syntax keyword cppSTLtype default_order
+ syntax keyword cppSTLtype default_order_t
+ syntax keyword cppSTLtype default_searcher
+ syntax keyword cppSTLtype boyer_moore_searcher
+ syntax keyword cppSTLtype boyer_moore_horspool_searcher
+ syntax keyword cppSTLbool is_bind_expression_v
+ syntax keyword cppSTLbool is_placeholder_v
+ syntax keyword cppSTLfunction not_fn
+ syntax keyword cppSTLfunction make_default_searcher
+ syntax keyword cppSTLfunction make_boyer_moore_searcher
+ syntax keyword cppSTLfunction make_boyer_moore_horspool_searcher
+ " syntax keyword cppSTLfunction invoke
+
+ " memory
+ syntax keyword cppSTLcast reinterpret_pointer_cast
+ syntax keyword cppSTLfunction uninitialized_move
+ syntax keyword cppSTLfunction uninitialized_move_n
+ syntax keyword cppSTLfunction uninitialized_default_construct
+ syntax keyword cppSTLfunction uninitialized_default_construct_n
+ syntax keyword cppSTLfunction uninitialized_value_construct
+ syntax keyword cppSTLfunction uninitialized_value_construct_n
+ syntax keyword cppSTLfunction destroy_at
+ syntax keyword cppSTLfunction destroy_n
+
+ " memory_resource
+ syntax keyword cppSTLtype polymorphic_allocator
+ syntax keyword cppSTLtype memory_resource
+ syntax keyword cppSTLtype synchronized_pool_resource
+ syntax keyword cppSTLtype unsynchronized_pool_resource
+ syntax keyword cppSTLtype pool_options
+ syntax keyword cppSTLtype monotonic_buffer_resource
+ syntax keyword cppSTLfunction upstream_resource
+ syntax keyword cppSTLfunction get_default_resource
+ syntax keyword cppSTLfunction new_default_resource
+ syntax keyword cppSTLfunction set_default_resource
+ syntax keyword cppSTLfunction null_memory_resource
+ syntax keyword cppSTLfunction allocate
+ syntax keyword cppSTLfunction deallocate
+ syntax keyword cppSTLfunction construct
+ syntax keyword cppSTLfunction destruct
+ syntax keyword cppSTLfunction resource
+ syntax keyword cppSTLfunction select_on_container_copy_construction
+ syntax keyword cppSTLfunction do_allocate
+ syntax keyword cppSTLfunction do_deallocate
+ syntax keyword cppSTLfunction do_is_equal
+
+ " new
+ syntax keyword cppSTLconstant hardware_destructive_interference_size
+ syntax keyword cppSTLconstant hardware_constructive_interference_size
+ syntax keyword cppSTLfunction launder
+
+ " numeric
+ syntax keyword cppSTLfunction gcd
+ syntax keyword cppSTLfunction lcm
+ syntax keyword cppSTLfunction exclusive_scan
+ syntax keyword cppSTLfunction inclusive_scan
+ syntax keyword cppSTLfunction transform_reduce
+ syntax keyword cppSTLfunction transform_exclusive_scan
+ syntax keyword cppSTLfunction transform_inclusive_scan
+ " syntax keyword cppSTLfunction reduce
+
+ " optional
syntax keyword cppSTLtype optional
- "syntax keyword cppSTLfunction value
- syntax keyword cppSTLfunction value_or
+ syntax keyword cppSTLtype nullopt_t
+ syntax keyword cppSTLexception bad_optional_access
+ syntax keyword cppSTLconstant nullopt
syntax keyword cppSTLfunction make_optional
+ syntax keyword cppSTLfunction value_or
+ syntax keyword cppSTLfunction has_value
+ " syntax keyword cppSTLfunction value
+
+ " string_view
+ syntax keyword cppSTLtype basic_string_view
+ syntax keyword cppSTLtype string_view
+ syntax keyword cppSTLtype wstring_view
+ syntax keyword cppSTLtype u16string_view
+ syntax keyword cppSTLtype u32string_view
+ syntax keyword cppSTLfunction remove_prefix
+ syntax keyword cppSTLfunction remove_suffix
+
+ " system_error
+ syntax keyword cppSTLbool is_error_code_enum_v
+ syntax keyword cppSTLbool is_error_condition_enum_v
+
+ " thread
+ syntax keyword cppSTLtype shared_mutex
+
+ " tuple
+ syntax keyword cppSTLconstant tuple_size_v
+ syntax keyword cppSTLfunction make_from_tuple
+ " syntax keyword cppSTLfunction apply
+
+ " type_traits
+ syntax keyword cppSTLbool is_void_v
+ syntax keyword cppSTLbool is_null_pointer_v
+ syntax keyword cppSTLbool is_integral_v
+ syntax keyword cppSTLbool is_floating_point_v
+ syntax keyword cppSTLbool is_array_v
+ syntax keyword cppSTLbool is_enum_v
+ syntax keyword cppSTLbool is_union_v
+ syntax keyword cppSTLbool is_class_v
+ syntax keyword cppSTLbool is_function_v
+ syntax keyword cppSTLbool is_pointer_v
+ syntax keyword cppSTLbool is_lvalue_reference_v
+ syntax keyword cppSTLbool is_rvalue_reference_v
+ syntax keyword cppSTLbool is_member_object_pointer_v
+ syntax keyword cppSTLbool is_member_function_pointer_v
+ syntax keyword cppSTLbool is_fundamental_v
+ syntax keyword cppSTLbool is_arithmetic_v
+ syntax keyword cppSTLbool is_scalar_v
+ syntax keyword cppSTLbool is_object_v
+ syntax keyword cppSTLbool is_compound_v
+ syntax keyword cppSTLbool is_reference_v
+ syntax keyword cppSTLbool is_member_pointer_v
+ syntax keyword cppSTLbool is_const_v
+ syntax keyword cppSTLbool is_volatile_v
+ syntax keyword cppSTLbool is_trivial_v
+ syntax keyword cppSTLbool is_trivially_copyable_v
+ syntax keyword cppSTLbool is_standard_layout_v
+ syntax keyword cppSTLbool is_pod_v
+ syntax keyword cppSTLbool is_literal_type_v
+ syntax keyword cppSTLbool is_empty_v
+ syntax keyword cppSTLbool is_polymorphic_v
+ syntax keyword cppSTLbool is_abstract_v
+ syntax keyword cppSTLbool is_signed_v
+ syntax keyword cppSTLbool is_unsigned_v
+ syntax keyword cppSTLbool is_constructible_v
+ syntax keyword cppSTLbool is_trivially_constructible_v
+ syntax keyword cppSTLbool is_nothrow_constructible_v
+ syntax keyword cppSTLbool is_default_constructible_v
+ syntax keyword cppSTLbool is_trivially_default_constructible_v
+ syntax keyword cppSTLbool is_nothrow_default_constructible_v
+ syntax keyword cppSTLbool is_copy_constructible_v
+ syntax keyword cppSTLbool is_trivially_copy_constructible_v
+ syntax keyword cppSTLbool is_nothrow_copy_constructible_v
+ syntax keyword cppSTLbool is_move_constructible_v
+ syntax keyword cppSTLbool is_trivially_move_constructible_v
+ syntax keyword cppSTLbool is_nothrow_move_constructible_v
+ syntax keyword cppSTLbool is_assignable_v
+ syntax keyword cppSTLbool is_trivially_assignable_v
+ syntax keyword cppSTLbool is_nothrow_assignable_v
+ syntax keyword cppSTLbool is_copy_assignable_v
+ syntax keyword cppSTLbool is_trivially_copy_assignable_v
+ syntax keyword cppSTLbool is_nothrow_copy_assignable_v
+ syntax keyword cppSTLbool is_move_assignable_v
+ syntax keyword cppSTLbool is_trivially_move_assignable_v
+ syntax keyword cppSTLbool is_nothrow_move_assignable_v
+ syntax keyword cppSTLbool is_destructible_v
+ syntax keyword cppSTLbool is_trivially_destructible_v
+ syntax keyword cppSTLbool is_nothrow_destructible_v
+ syntax keyword cppSTLbool has_virtual_destructor_v
+ syntax keyword cppSTLbool is_same_v
+ syntax keyword cppSTLbool is_base_of_v
+ syntax keyword cppSTLbool is_convertible_v
+ syntax keyword cppSTLbool is_callable_v
+ syntax keyword cppSTLbool is_nowthrow_callable_v
+ syntax keyword cppSTLbool conjunction_v
+ syntax keyword cppSTLbool disjunction_v
+ syntax keyword cppSTLbool negation_v
+ syntax keyword cppSTLconstant alignment_of_v
+ syntax keyword cppSTLconstant rank_v
+ syntax keyword cppSTLconstant extent_v
+ syntax keyword cppSTLtype bool_constant
+ syntax keyword cppSTLtype is_callable
+ syntax keyword cppSTLtype is_nowthrow_callable
+ syntax keyword cppSTLtype conjunction
+ syntax keyword cppSTLtype disjunction
+ syntax keyword cppSTLtype negation
+
+ " unordered_map, unordered_set, unordered_multimap, unordered_multiset
+ syntax keyword cppSTLtype node_type
+ syntax keyword cppSTLtype insert_return_type
+ syntax keyword cppSTLfunction try_emplace
+ syntax keyword cppSTLfunction insert_or_assign
+ syntax keyword cppSTLfunction extract
+
+ " utility
+ syntax keyword cppSTLtype in_place_tag
+ syntax keyword cppSTLtype in_place_t
+ syntax keyword cppSTLtype in_place_type_t
+ syntax keyword cppSTLtype in_place_index_t
+ syntax keyword cppSTLfunction in_place
+ syntax keyword cppSTLfunction as_const
+
+ " variant
+ syntax keyword cppSTLtype variant
+ syntax keyword cppSTLtype monostate
+ syntax keyword cppSTLtype variant_size
+ syntax keyword cppSTLtype variant_alternative
+ syntax keyword cppSTLtype variant_alternative_t
+ syntax keyword cppSTLconstant variant_size_v
+ syntax keyword cppSTLconstant variant_npos
+ syntax keyword cppSTLexception bad_variant_access
+ syntax keyword cppSTLfunction valueless_by_exception
+ syntax keyword cppSTLfunction holds_alternative
+ syntax keyword cppSTLfunction get_if
+ syntax keyword cppSTLfunction visit
+ " syntax keyword cppSTLfunction index
+endif " C++17
+
+
+if exists('g:cpp_concepts_highlight') && g:cpp_concepts_highlight
+ syntax keyword cppStatement concept
+ syntax keyword cppStorageClass requires
+ syntax keyword cppSTLtype DefaultConstructible
+ syntax keyword cppSTLtype MoveConstructible
+ syntax keyword cppSTLtype CopyConstructible
+ syntax keyword cppSTLtype MoveAssignable
+ syntax keyword cppSTLtype CopyAssignable
+ syntax keyword cppSTLtype Destructible
+ syntax keyword cppSTLtype TriviallyCopyable
+ syntax keyword cppSTLtype TrivialType
+ syntax keyword cppSTLtype StandardLayoutType
+ syntax keyword cppSTLtype PODType
+ syntax keyword cppSTLtype EqualityComparable
+ syntax keyword cppSTLtype LessThanComparable
+ syntax keyword cppSTLtype Swappable
+ syntax keyword cppSTLtype ValueSwappable
+ syntax keyword cppSTLtype NullablePointer
+ syntax keyword cppSTLtype Hash
+ syntax keyword cppSTLtype Allocator
+ syntax keyword cppSTLtype FunctionObject
+ syntax keyword cppSTLtype Callable
+ syntax keyword cppSTLtype Predicate
+ syntax keyword cppSTLtype BinaryPredicate
+ syntax keyword cppSTLtype Compare
+ syntax keyword cppSTLtype Container
+ syntax keyword cppSTLtype ReversibleContainer
+ syntax keyword cppSTLtype AllocatorAwareContainer
+ syntax keyword cppSTLtype SequenceContainer
+ syntax keyword cppSTLtype ContiguousContainer
+ syntax keyword cppSTLtype AssociativeContainer
+ syntax keyword cppSTLtype UnorderedAssociativeContainer
+ syntax keyword cppSTLtype DefaultInsertable
+ syntax keyword cppSTLtype CopyInsertable
+ syntax keyword cppSTLtype CopyInsertable
+ syntax keyword cppSTLtype MoveInsertable
+ syntax keyword cppSTLtype EmplaceConstructible
+ syntax keyword cppSTLtype Erasable
+ syntax keyword cppSTLtype Iterator
+ syntax keyword cppSTLtype InputIterator
+ syntax keyword cppSTLtype OutputIterator
+ syntax keyword cppSTLtype ForwardIterator
+ syntax keyword cppSTLtype BidirectionalIterator
+ syntax keyword cppSTLtype RandomAccessIterator
+ syntax keyword cppSTLtype ContiguousIterator
+ syntax keyword cppSTLtype UnformattedInputFunction
+ syntax keyword cppSTLtype FormattedInputFunction
+ syntax keyword cppSTLtype UnformattedOutputFunction
+ syntax keyword cppSTLtype FormattedOutputFunction
+ syntax keyword cppSTLtype SeedSequence
+ syntax keyword cppSTLtype UniformRandomBitGenerator
+ syntax keyword cppSTLtype RandomNumberEngine
+ syntax keyword cppSTLtype RandomNumberEngineAdaptor
+ syntax keyword cppSTLtype RandomNumberDistribution
+ syntax keyword cppSTLtype BasicLockable
+ syntax keyword cppSTLtype Lockable
+ syntax keyword cppSTLtype TimedLockable
+ syntax keyword cppSTLtype Mutex
+ syntax keyword cppSTLtype TimedMutex
+ syntax keyword cppSTLtype SharedMutex
+ syntax keyword cppSTLtype SharedTimedMutex
+ syntax keyword cppSTLtype UnaryTypeTrait
+ syntax keyword cppSTLtype BinaryTypeTrait
+ syntax keyword cppSTLtype TransformationTrait
+ syntax keyword cppSTLtype Clock
+ syntax keyword cppSTLtype TrivialClock
+ syntax keyword cppSTLtype CharTraits
+ syntax keyword cppSTLtype pos_type
+ syntax keyword cppSTLtype off_type
+ syntax keyword cppSTLtype BitmaskType
+ syntax keyword cppSTLtype NumericType
+ syntax keyword cppSTLtype RegexTraits
+ syntax keyword cppSTLtype LiteralType
+endif " C++ concepts
+
+if !exists("cpp_no_boost")
syntax keyword cppSTLnamespace boost
syntax keyword cppSTLcast lexical_cast
-endif " Boost
+endif " boost
+
" Default highlighting
if version >= 508 || !exists("did_cpp_syntax_inits")
@@ -1385,6 +1965,9 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
else
command -nargs=+ HiLink hi def link <args>
endif
+ HiLink cppSTLbool Boolean
+ HiLink cppStorageClass StorageClass
+ HiLink cppStatement Statement
HiLink cppSTLfunction Function
HiLink cppSTLfunctional Typedef
HiLink cppSTLconstant Constant
@@ -1396,7 +1979,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
HiLink cppSTLenum Typedef
HiLink cppSTLios Function
HiLink cppSTLcast Statement " be consistent with official syntax
- HiLink cppRawString String
+ HiLink cppRawString String
HiLink cppRawDelimiter Delimiter
delcommand HiLink
endif