atilaneves / dpp

Directly include C headers in D source code
Boost Software License 1.0
230 stars 31 forks source link

#include <vector> fails with GCC 9.2.0 STL #209

Open gmueckl opened 4 years ago

gmueckl commented 4 years ago

To reproduce, try to preprocess

#include <vector>

The result is this error:

Could not translate cursor Cursor(FunctionTemplate, "emplace_back", Type(FunctionProto, "typename vector<_Tp, _Alloc>::reference (_Args &&...)"))
msg: Could not find namespaceless 'vector::reference' in type 'typename vector<_Tp, _Alloc>::reference'
sourceRange: SourceRange("/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/vector.tcc", 103:5, 125:8)
children: [Cursor(TemplateTypeParameter, "_Args", Type(Unexposed, "_Args")), Cursor(TemplateTypeParameter, "_Tp", Type(Unexposed, "_Tp")), Cursor(TemplateTypeParameter, "_Alloc", Type(Unexposed, "_Alloc")), Cursor(TemplateRef, "vector", Type(Invalid, "")), Cursor(TypeRef, "_Tp", Type(Unexposed, "_Tp")), Cursor(TypeRef, "_Alloc", Type(Unexposed, "_Alloc")), Cursor(TypeRef, "std::vector::reference", Type(Typedef, "std::vector::reference")), Cursor(TemplateRef, "vector", Type(Invalid, "")), Cursor(TypeRef, "_Tp", Type(Unexposed, "_Tp")), Cursor(TypeRef, "_Alloc", Type(Unexposed, "_Alloc")), Cursor(ParmDecl, "__args", Type(Unexposed, "_Args &&...")), Cursor(CompoundStmt, "", Type(Invalid, ""))]

Could not translate cursor Cursor(Namespace, "std", Type(Invalid, ""))
msg: Could not find namespaceless 'vector::reference' in type 'typename vector<_Tp, _Alloc>::reference'
sourceRange: SourceRange("", 0:0, 0:0)
children: [Cursor(StructDecl, "__allocator_traits_base", Type(Record, "std::__allocator_traits_base")), Cursor(TypeAliasTemplateDecl, "__alloc_rebind", Type(Invalid, "")), Cursor(ClassTemplate, "allocator_traits", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "allocator_traits", Type(Unexposed, "allocator_traits<allocator<type-parameter-0-0> >")), Cursor(FunctionTemplate, "__do_alloc_on_copy", Type(FunctionProto, "void (_Alloc &, const _Alloc &, std::true_type)")), Cursor(FunctionTemplate, "__alloc_on_copy", Type(FunctionProto, "void (_Alloc &, const _Alloc &)")), Cursor(FunctionTemplate, "__do_alloc_on_move", Type(FunctionProto, "void (_Alloc &, _Alloc &, std::true_type)")), Cursor(FunctionTemplate, "__alloc_on_move", Type(FunctionProto, "void (_Alloc &, _Alloc &)")), Cursor(FunctionTemplate, "__do_alloc_on_swap", Type(FunctionProto, "void (_Alloc &, _Alloc &, std::true_type)")), Cursor(FunctionTemplate, "__alloc_on_swap", Type(FunctionProto, "void (_Alloc &, _Alloc &)")), Cursor(ClassTemplate, "__is_alloc_insertable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_alloc_insertable_impl", Type(Unexposed, "__is_alloc_insertable_impl<type-parameter-0-0, type-parameter-0-1, type-parameter-0-2, void>")), Cursor(ClassTemplate, "__is_copy_insertable", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_copy_insertable", Type(Unexposed, "__is_copy_insertable<allocator<type-parameter-0-0> >")), Cursor(ClassTemplate, "__is_move_insertable", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_move_insertable", Type(Unexposed, "__is_move_insertable<allocator<type-parameter-0-0> >")), Cursor(ClassTemplate, "__is_allocator", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_allocator", Type(Unexposed, "__is_allocator<type-parameter-0-0, void>")), Cursor(TypeAliasTemplateDecl, "_RequireAllocator", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "_RequireNotAllocator", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "allocator", Type(Unexposed, "allocator<const type-parameter-0-0>")), Cursor(ClassTemplate, "__alloc_swap", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__alloc_swap", Type(Unexposed, "__alloc_swap<type-parameter-0-0, false>")), Cursor(ClassTemplate, "__alloc_neq", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__alloc_neq", Type(Unexposed, "__alloc_neq<type-parameter-0-0, false>")), Cursor(ClassTemplate, "__shrink_to_fit_aux", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__shrink_to_fit_aux", Type(Unexposed, "__shrink_to_fit_aux<type-parameter-0-0, true>")), Cursor(ClassDecl, "type_info", Type(Record, "std::type_info")), Cursor(FunctionDecl, "__throw_bad_exception", Type(FunctionProto, "void () __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_bad_alloc", Type(FunctionProto, "void () __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_bad_cast", Type(FunctionProto, "void () __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_bad_typeid", Type(FunctionProto, "void () __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_logic_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_domain_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_invalid_argument", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_length_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_out_of_range", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_out_of_range_fmt", Type(FunctionProto, "void (const char *, ...) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_runtime_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_range_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_overflow_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_underflow_error", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_ios_failure", Type(FunctionProto, "void (const char *) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_system_error", Type(FunctionProto, "void (int) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_future_error", Type(FunctionProto, "void (int) __attribute__((noreturn))"), Type(Void, "void")), Cursor(FunctionDecl, "__throw_bad_function_call", Type(FunctionProto, "void () __attribute__((noreturn))"), Type(Void, "void")), Cursor(ClassTemplate, "__hash_base", Type(Invalid, "")), Cursor(ClassTemplate, "hash", Type(Invalid, "")), Cursor(ClassTemplate, "__poison_hash", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__poison_hash", Type(Unexposed, "__poison_hash<type-parameter-0-0, void>")), Cursor(ClassTemplate, "__hash_enum", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__hash_enum", Type(Unexposed, "__hash_enum<type-parameter-0-0, true>")), Cursor(StructDecl, "hash", Type(Record, "std::hash<bool>")), Cursor(StructDecl, "_Hash_impl", Type(Record, "std::_Hash_impl")), Cursor(StructDecl, "_Fnv_hash_impl", Type(Record, "std::_Fnv_hash_impl")), Cursor(ClassTemplate, "__is_fast_hash", Type(Invalid, "")), Cursor(StructDecl, "__is_fast_hash", Type(Record, "std::__is_fast_hash<hash<long double> >")), Cursor(FunctionDecl, "_Hash_bytes", Type(FunctionProto, "std::size_t (const void *, std::size_t, std::size_t)"), Type(Typedef, "std::size_t")), Cursor(FunctionDecl, "_Fnv_hash_bytes", Type(FunctionProto, "std::size_t (const void *, std::size_t, std::size_t)"), Type(Typedef, "std::size_t")), Cursor(ClassTemplate, "allocator", Type(Invalid, "")), Cursor(ClassDecl, "allocator", Type(Record, "std::allocator<void>")), Cursor(ClassTemplate, "uses_allocator", Type(Invalid, "")), Cursor(FunctionTemplate, "__addressof", Type(FunctionProto, "_Tp *(_Tp &) noexcept")), Cursor(FunctionTemplate, "forward", Type(FunctionProto, "_Tp &&(typename std::remove_reference<_Tp>::type &) noexcept")), Cursor(ClassTemplate, "__move_if_noexcept_cond", Type(Invalid, "")), Cursor(FunctionTemplate, "move_if_noexcept", Type(FunctionProto, "typename conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp &, _Tp &&>::type (_Tp &) noexcept")), Cursor(FunctionTemplate, "addressof", Type(FunctionProto, "_Tp *(_Tp &) noexcept")), Cursor(FunctionTemplate, "__exchange", Type(FunctionProto, "_Tp (_Tp &, _Up &&)")), Cursor(ClassDecl, "__undefined", Type(Record, "std::__undefined")), Cursor(ClassTemplate, "__get_first_arg", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__get_first_arg", Type(Unexposed, "__get_first_arg<<type-parameter-0-1, type-parameter-0-2...> >")), Cursor(TypeAliasTemplateDecl, "__get_first_arg_t", Type(Invalid, "")), Cursor(ClassTemplate, "__replace_first_arg", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__replace_first_arg", Type(Unexposed, "__replace_first_arg<<type-parameter-0-2, type-parameter-0-3...>, type-parameter-0-1>")), Cursor(TypeAliasTemplateDecl, "__replace_first_arg_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__make_not_void", Type(Invalid, "")), Cursor(ClassTemplate, "pointer_traits", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "pointer_traits", Type(Unexposed, "pointer_traits<type-parameter-0-0 *>")), Cursor(TypeAliasTemplateDecl, "__ptr_rebind", Type(Invalid, "")), Cursor(FunctionTemplate, "__to_address", Type(FunctionProto, "_Tp *(_Tp *) noexcept")), Cursor(FunctionTemplate, "begin", Type(FunctionProto, "auto (_Container &) -> decltype(__cont.begin())")), Cursor(FunctionTemplate, "end", Type(FunctionProto, "auto (_Container &) -> decltype(__cont.end())")), Cursor(ClassTemplate, "valarray", Type(Invalid, "")), Cursor(FunctionTemplate, "cbegin", Type(FunctionProto, "auto (const _Container &) noexcept(noexcept(std::begin(__cont))) -> decltype(std::begin(__cont))")), Cursor(FunctionTemplate, "cend", Type(FunctionProto, "auto (const _Container &) noexcept(noexcept(std::end(__cont))) -> decltype(std::end(__cont))")), Cursor(FunctionTemplate, "rbegin", Type(FunctionProto, "auto (_Container &) -> decltype(__cont.rbegin())")), Cursor(FunctionTemplate, "rend", Type(FunctionProto, "auto (_Container &) -> decltype(__cont.rend())")), Cursor(FunctionTemplate, "crbegin", Type(FunctionProto, "auto (const _Container &) -> decltype(std::rbegin(__cont))")), Cursor(FunctionTemplate, "crend", Type(FunctionProto, "auto (const _Container &) -> decltype(std::rend(__cont))")), Cursor(FunctionTemplate, "size", Type(FunctionProto, "auto (const _Container &) noexcept(noexcept(__cont.size())) -> decltype(__cont.size())")), Cursor(FunctionTemplate, "empty", Type(FunctionProto, "auto (const _Container &) noexcept(noexcept(__cont.empty())) -> decltype(__cont.empty())")), Cursor(FunctionTemplate, "data", Type(FunctionProto, "auto (_Container &) noexcept(noexcept(__cont.data())) -> decltype(__cont.data())")), Cursor(FunctionTemplate, "iter_swap", Type(FunctionProto, "void (_ForwardIterator1, _ForwardIterator2)")), Cursor(FunctionTemplate, "swap_ranges", Type(FunctionProto, "_ForwardIterator2 (_ForwardIterator1, _ForwardIterator1, _ForwardIterator2)")), Cursor(FunctionTemplate, "min", Type(FunctionProto, "const _Tp &(const _Tp &, const _Tp &)")), Cursor(FunctionTemplate, "max", Type(FunctionProto, "const _Tp &(const _Tp &, const _Tp &)")), Cursor(FunctionTemplate, "__niter_base", Type(FunctionProto, "_Iterator (_Iterator) noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)")), Cursor(FunctionTemplate, "__niter_wrap", Type(FunctionProto, "_From (_From, _To)")), Cursor(ClassTemplate, "__copy_move", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__copy_move", Type(Unexposed, "__copy_move<true, false, type-parameter-0-0>")), Cursor(StructDecl, "__copy_move", Type(Record, "std::__copy_move<false, false, std::random_access_iterator_tag>")), Cursor(FunctionTemplate, "__copy_move_a", Type(FunctionProto, "_OI (_II, _II, _OI)")), Cursor(ClassTemplate, "char_traits", Type(Invalid, "")), Cursor(ClassTemplate, "istreambuf_iterator", Type(Invalid, "")), Cursor(ClassTemplate, "ostreambuf_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "__copy_move_a2", Type(FunctionProto, "_OI (_II, _II, _OI)")), Cursor(FunctionTemplate, "copy", Type(FunctionProto, "_OI (_II, _II, _OI)")), Cursor(FunctionTemplate, "move", Type(FunctionProto, "_OI (_II, _II, _OI)")), Cursor(ClassTemplate, "__copy_move_backward", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__copy_move_backward", Type(Unexposed, "__copy_move_backward<true, false, type-parameter-0-0>")), Cursor(StructDecl, "__copy_move_backward", Type(Record, "std::__copy_move_backward<false, false, std::random_access_iterator_tag>")), Cursor(FunctionTemplate, "__copy_move_backward_a", Type(FunctionProto, "_BI2 (_BI1, _BI1, _BI2)")), Cursor(FunctionTemplate, "__copy_move_backward_a2", Type(FunctionProto, "_BI2 (_BI1, _BI1, _BI2)")), Cursor(FunctionTemplate, "copy_backward", Type(FunctionProto, "_BI2 (_BI1, _BI1, _BI2)")), Cursor(FunctionTemplate, "move_backward", Type(FunctionProto, "_BI2 (_BI1, _BI1, _BI2)")), Cursor(FunctionTemplate, "__fill_a", Type(FunctionProto, "typename __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type (_ForwardIterator, _ForwardIterator, const _Tp &)")), Cursor(FunctionTemplate, "fill", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator, const _Tp &)")), Cursor(FunctionTemplate, "__fill_n_a", Type(FunctionProto, "typename __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type (_OutputIterator, _Size, const _Tp &)")), Cursor(FunctionTemplate, "fill_n", Type(FunctionProto, "_OI (_OI, _Size, const _Tp &)")), Cursor(ClassTemplate, "__equal", Type(Invalid, "")), Cursor(StructDecl, "__equal", Type(Record, "std::__equal<true>")), Cursor(FunctionTemplate, "__equal_aux", Type(FunctionProto, "bool (_II1, _II1, _II2)")), Cursor(ClassTemplate, "__lc_rai", Type(Invalid, "")), Cursor(StructDecl, "__lc_rai", Type(Record, "std::__lc_rai<std::random_access_iterator_tag, std::random_access_iterator_tag>")), Cursor(FunctionTemplate, "__lexicographical_compare_impl", Type(FunctionProto, "bool (_II1, _II1, _II2, _II2, _Compare)")), Cursor(ClassTemplate, "__lexicographical_compare", Type(Invalid, "")), Cursor(FunctionTemplate, "__lc", Type(FunctionProto, "bool (_II1, _II1, _II2, _II2)")), Cursor(StructDecl, "__lexicographical_compare", Type(Record, "std::__lexicographical_compare<true>")), Cursor(FunctionTemplate, "__lexicographical_compare_aux", Type(FunctionProto, "bool (_II1, _II1, _II2, _II2)")), Cursor(FunctionTemplate, "__lower_bound", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _ForwardIterator, const _Tp &, _Compare)")), Cursor(FunctionTemplate, "lower_bound", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _ForwardIterator, const _Tp &)")), Cursor(FunctionDecl, "__lg", Type(FunctionProto, "int (int)"), Type(Int, "int")), Cursor(FunctionTemplate, "equal", Type(FunctionProto, "bool (_II1, _II1, _II2)")), Cursor(FunctionTemplate, "__equal4", Type(FunctionProto, "bool (_II1, _II1, _II2, _II2)")), Cursor(FunctionTemplate, "lexicographical_compare", Type(FunctionProto, "bool (_II1, _II1, _II2, _II2)")), Cursor(FunctionTemplate, "__mismatch", Type(FunctionProto, "pair<_InputIterator1, _InputIterator2> (_InputIterator1, _InputIterator1, _InputIterator2, _BinaryPredicate)")), Cursor(FunctionTemplate, "mismatch", Type(FunctionProto, "pair<_InputIterator1, _InputIterator2> (_InputIterator1, _InputIterator1, _InputIterator2)")), Cursor(TypedefDecl, "_Bit_type", Type(Typedef, "std::_Bit_type")), Cursor(EnumDecl, "", Type(Enum, "std::(anonymous enum at /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../include/c++/9.2.0/bits/stl_bvector.h:70:3)")), Cursor(StructDecl, "_Bit_reference", Type(Record, "std::_Bit_reference")), Cursor(FunctionDecl, "swap", Type(FunctionProto, "void (std::_Bit_reference, std::_Bit_reference) noexcept"), Type(Void, "void")), Cursor(StructDecl, "_Bit_iterator_base", Type(Record, "std::_Bit_iterator_base")), Cursor(FunctionDecl, "operator-", Type(FunctionProto, "std::ptrdiff_t (const std::_Bit_iterator_base &, const std::_Bit_iterator_base &)"), Type(Typedef, "std::ptrdiff_t")), Cursor(StructDecl, "_Bit_iterator", Type(Record, "std::_Bit_iterator")), Cursor(FunctionDecl, "operator+", Type(FunctionProto, "std::_Bit_iterator (std::ptrdiff_t, const std::_Bit_iterator &)"), Type(Record, "std::_Bit_iterator")), Cursor(StructDecl, "_Bit_const_iterator", Type(Record, "std::_Bit_const_iterator")), Cursor(FunctionDecl, "__fill_bvector", Type(FunctionProto, "void (std::_Bit_type *, unsigned int, unsigned int, bool)"), Type(Void, "void")), Cursor(FunctionDecl, "fill", Type(FunctionProto, "void (std::_Bit_iterator, std::_Bit_iterator, const bool &)"), Type(Void, "void")), Cursor(ClassTemplate, "_Bvector_base", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "vector", Type(Unexposed, "vector<bool, type-parameter-0-0>")), Cursor(CXXMethod, "_M_reallocate", Type(FunctionProto, "void (std::vector<bool, type-parameter-0-0>::size_type)")), Cursor(FunctionTemplate, "_M_insert_range", Type(FunctionProto, "void (std::vector<bool, type-parameter-0-0>::iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag)")), Cursor(CXXMethod, "_M_insert_aux", Type(FunctionProto, "void (std::vector<bool, type-parameter-0-0>::iterator, bool)")), Cursor(ClassTemplatePartialSpecialization, "hash", Type(Unexposed, "hash<vector<bool, type-parameter-0-0> >")), Cursor(CXXMethod, "operator()", Type(FunctionProto, "std::size_t (const std::vector<bool, _Alloc> &) const noexcept")), Cursor(FunctionTemplate, "_Construct", Type(FunctionProto, "void (_T1 *, _Args &&...)")), Cursor(FunctionTemplate, "_Construct_novalue", Type(FunctionProto, "void (_T1 *)")), Cursor(FunctionTemplate, "_Destroy", Type(FunctionProto, "void (_Tp *)")), Cursor(ClassTemplate, "_Destroy_aux", Type(Invalid, "")), Cursor(StructDecl, "_Destroy_aux", Type(Record, "std::_Destroy_aux<true>")), Cursor(ClassTemplate, "_Destroy_n_aux", Type(Invalid, "")), Cursor(StructDecl, "_Destroy_n_aux", Type(Record, "std::_Destroy_n_aux<true>")), Cursor(FunctionTemplate, "_Destroy_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(FunctionTemplate, "destroy_at", Type(FunctionProto, "void (_Tp *)")), Cursor(FunctionTemplate, "destroy", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "destroy_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(ClassTemplate, "reverse_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "__make_reverse_iterator", Type(FunctionProto, "reverse_iterator<_Iterator> (_Iterator)")), Cursor(FunctionTemplate, "make_reverse_iterator", Type(FunctionProto, "reverse_iterator<_Iterator> (_Iterator)")), Cursor(ClassTemplate, "back_insert_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "back_inserter", Type(FunctionProto, "back_insert_iterator<_Container> (_Container &)")), Cursor(ClassTemplate, "front_insert_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "front_inserter", Type(FunctionProto, "front_insert_iterator<_Container> (_Container &)")), Cursor(ClassTemplate, "insert_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "inserter", Type(FunctionProto, "insert_iterator<_Container> (_Container &, _Iterator)")), Cursor(ClassTemplate, "move_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "operator-", Type(FunctionProto, "auto (const move_iterator<_IteratorL> &, const move_iterator<_IteratorR> &) -> decltype(__x.base() - __y.base())")), Cursor(FunctionTemplate, "operator+", Type(FunctionProto, "move_iterator<_Iterator> (typename move_iterator<_Iterator>::difference_type, const move_iterator<_Iterator> &)")), Cursor(FunctionTemplate, "make_move_iterator", Type(FunctionProto, "move_iterator<_Iterator> (_Iterator)")), Cursor(FunctionTemplate, "__make_move_if_noexcept_iterator", Type(FunctionProto, "_ReturnType (_Iterator)")), Cursor(ClassTemplatePartialSpecialization, "__is_move_iterator", Type(Unexposed, "__is_move_iterator<move_iterator<type-parameter-0-0> >")), Cursor(FunctionTemplate, "__miter_base", Type(FunctionProto, "auto (move_iterator<_Iterator>) -> decltype(__miter_base(__it.base()))")), Cursor(TypeAliasTemplateDecl, "__iter_key_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__iter_val_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__iter_to_alloc_t", Type(Invalid, "")), Cursor(ClassTemplate, "_List_iterator", Type(Invalid, "")), Cursor(ClassTemplate, "_List_const_iterator", Type(Invalid, "")), Cursor(FunctionTemplate, "__distance", Type(FunctionProto, "typename iterator_traits<_InputIterator>::difference_type (_InputIterator, _InputIterator, std::input_iterator_tag)")), Cursor(FunctionTemplate, "distance", Type(FunctionProto, "typename iterator_traits<_InputIterator>::difference_type (_InputIterator, _InputIterator)")), Cursor(FunctionTemplate, "__advance", Type(FunctionProto, "void (_InputIterator &, _Distance, std::input_iterator_tag)")), Cursor(FunctionTemplate, "advance", Type(FunctionProto, "void (_InputIterator &, _Distance)")), Cursor(FunctionTemplate, "next", Type(FunctionProto, "_InputIterator (_InputIterator, typename iterator_traits<_InputIterator>::difference_type)")), Cursor(FunctionTemplate, "prev", Type(FunctionProto, "_BidirectionalIterator (_BidirectionalIterator, typename iterator_traits<_BidirectionalIterator>::difference_type)")), Cursor(StructDecl, "input_iterator_tag", Type(Record, "std::input_iterator_tag")), Cursor(StructDecl, "output_iterator_tag", Type(Record, "std::output_iterator_tag")), Cursor(StructDecl, "forward_iterator_tag", Type(Record, "std::forward_iterator_tag")), Cursor(StructDecl, "bidirectional_iterator_tag", Type(Record, "std::bidirectional_iterator_tag")), Cursor(StructDecl, "random_access_iterator_tag", Type(Record, "std::random_access_iterator_tag")), Cursor(ClassTemplate, "iterator", Type(Invalid, "")), Cursor(ClassTemplate, "__iterator_traits", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__iterator_traits", Type(Unexposed, "__iterator_traits<type-parameter-0-0, void>")), Cursor(ClassTemplate, "iterator_traits", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "iterator_traits", Type(Unexposed, "iterator_traits<type-parameter-0-0 *>")), Cursor(FunctionTemplate, "__iterator_category", Type(FunctionProto, "typename iterator_traits<_Iter>::iterator_category (const _Iter &)")), Cursor(TypeAliasTemplateDecl, "_RequireInputIter", Type(Invalid, "")), Cursor(StructDecl, "piecewise_construct_t", Type(Record, "std::piecewise_construct_t")), Cursor(VarDecl, "piecewise_construct", Type(Record, "const std::piecewise_construct_t")), Cursor(ClassTemplate, "_Index_tuple", Type(Invalid, "")), Cursor(ClassTemplate, "_PCC", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "_PCC", Type(Unexposed, "_PCC<false, type-parameter-0-0, type-parameter-0-1>")), Cursor(StructDecl, "__nonesuch_no_braces", Type(Record, "std::__nonesuch_no_braces")), Cursor(ClassTemplate, "__pair_base", Type(Invalid, "")), Cursor(ClassTemplate, "pair", Type(Invalid, "")), Cursor(FunctionTemplate, "<deduction guide for pair>", Type(FunctionProto, "auto (_T1, _T2) -> pair<_T1, _T2>")), Cursor(FunctionTemplate, "make_pair", Type(FunctionProto, "pair<typename __decay_and_strip<_T1>::__type, typename __decay_and_strip<_T2>::__type> (_T1 &&, _T2 &&)")), Cursor(ClassTemplate, "__uninitialized_copy", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_copy", Type(Record, "std::__uninitialized_copy<true>")), Cursor(FunctionTemplate, "uninitialized_copy", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator)")), Cursor(ClassTemplate, "__uninitialized_fill", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_fill", Type(Record, "std::__uninitialized_fill<true>")), Cursor(FunctionTemplate, "uninitialized_fill", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator, const _Tp &)")), Cursor(ClassTemplate, "__uninitialized_fill_n", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_fill_n", Type(Record, "std::__uninitialized_fill_n<true>")), Cursor(FunctionTemplate, "uninitialized_fill_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size, const _Tp &)")), Cursor(FunctionTemplate, "__uninitialized_copy_a", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_move_a", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_move_if_noexcept_a", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_fill_a", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator, const _Tp &, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_fill_n_a", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size, const _Tp &, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_copy_move", Type(FunctionProto, "_ForwardIterator (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_move_copy", Type(FunctionProto, "_ForwardIterator (_InputIterator1, _InputIterator1, _InputIterator2, _InputIterator2, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_fill_move", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _ForwardIterator, const _Tp &, _InputIterator, _InputIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_move_fill", Type(FunctionProto, "void (_InputIterator, _InputIterator, _ForwardIterator, _ForwardIterator, const _Tp &, _Allocator &)")), Cursor(ClassTemplate, "__uninitialized_default_1", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_default_1", Type(Record, "std::__uninitialized_default_1<true>")), Cursor(ClassTemplate, "__uninitialized_default_n_1", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_default_n_1", Type(Record, "std::__uninitialized_default_n_1<true>")), Cursor(FunctionTemplate, "__uninitialized_default", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "__uninitialized_default_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(FunctionTemplate, "__uninitialized_default_a", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator, _Allocator &)")), Cursor(FunctionTemplate, "__uninitialized_default_n_a", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size, _Allocator &)")), Cursor(ClassTemplate, "__uninitialized_default_novalue_1", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_default_novalue_1", Type(Record, "std::__uninitialized_default_novalue_1<true>")), Cursor(ClassTemplate, "__uninitialized_default_novalue_n_1", Type(Invalid, "")), Cursor(StructDecl, "__uninitialized_default_novalue_n_1", Type(Record, "std::__uninitialized_default_novalue_n_1<true>")), Cursor(FunctionTemplate, "__uninitialized_default_novalue", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "__uninitialized_default_novalue_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(FunctionTemplate, "__uninitialized_copy_n", Type(FunctionProto, "_ForwardIterator (_InputIterator, _Size, _ForwardIterator, std::input_iterator_tag)")), Cursor(FunctionTemplate, "__uninitialized_copy_n_pair", Type(FunctionProto, "pair<_InputIterator, _ForwardIterator> (_InputIterator, _Size, _ForwardIterator, std::input_iterator_tag)")), Cursor(FunctionTemplate, "uninitialized_copy_n", Type(FunctionProto, "_ForwardIterator (_InputIterator, _Size, _ForwardIterator)")), Cursor(FunctionTemplate, "uninitialized_default_construct", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "uninitialized_default_construct_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(FunctionTemplate, "uninitialized_value_construct", Type(FunctionProto, "void (_ForwardIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "uninitialized_value_construct_n", Type(FunctionProto, "_ForwardIterator (_ForwardIterator, _Size)")), Cursor(FunctionTemplate, "uninitialized_move", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator)")), Cursor(FunctionTemplate, "uninitialized_move_n", Type(FunctionProto, "pair<_InputIterator, _ForwardIterator> (_InputIterator, _Size, _ForwardIterator)")), Cursor(FunctionTemplate, "__relocate_object_a", Type(FunctionProto, "void (_Tp *, _Up *, _Allocator &) noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc, __dest, std::move(*__orig))) && noexcept(std::allocator_traits<_Allocator>::destroy(__alloc, std::__addressof(*__orig))))")), Cursor(ClassTemplate, "__is_bitwise_relocatable", Type(Invalid, "")), Cursor(FunctionTemplate, "__relocate_a_1", Type(FunctionProto, "__enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp *> (_Tp *, _Tp *, _Tp *, allocator<_Up> &) noexcept")), Cursor(FunctionTemplate, "__relocate_a", Type(FunctionProto, "_ForwardIterator (_InputIterator, _InputIterator, _ForwardIterator, _Allocator &) noexcept(noexcept(__relocate_a_1(std::__niter_base(__first), std::__niter_base(__last), std::__niter_base(__result), __alloc)))")), Cursor(ClassTemplate, "_Vector_base", Type(Invalid, "")), Cursor(ClassTemplate, "vector", Type(Invalid, "")), Cursor(CXXMethod, "operator=", Type(FunctionProto, "vector<_Tp, _Alloc> &(const vector<_Tp, _Alloc> &)")), Cursor(CXXMethod, "reserve", Type(FunctionProto, "void (std::vector::size_type)")), Cursor(FunctionTemplate, "emplace_back", Type(FunctionProto, "typename vector<_Tp, _Alloc>::reference (_Args &&...)")), Cursor(CXXMethod, "insert", Type(FunctionProto, "typename vector<_Tp, _Alloc>::iterator (std::vector::const_iterator, const std::vector::value_type &)")), Cursor(FunctionTemplate, "_M_assign_aux", Type(FunctionProto, "void (_InputIterator, _InputIterator, std::input_iterator_tag)")), Cursor(CXXMethod, "_M_fill_assign", Type(FunctionProto, "void (std::size_t, const std::vector::value_type &)")), Cursor(FunctionTemplate, "_M_range_insert", Type(FunctionProto, "void (std::vector::iterator, _InputIterator, _InputIterator, std::input_iterator_tag)")), Cursor(CXXMethod, "_M_fill_insert", Type(FunctionProto, "void (std::vector::iterator, std::vector::size_type, const std::vector::value_type &)")), Cursor(CXXMethod, "_M_default_append", Type(FunctionProto, "void (std::vector::size_type)")), Cursor(CXXMethod, "_M_shrink_to_fit", Type(FunctionProto, "bool ()")), Cursor(FunctionTemplate, "_M_insert_aux", Type(FunctionProto, "void (std::vector::iterator, _Arg &&)")), Cursor(FunctionTemplate, "_M_realloc_insert", Type(FunctionProto, "void (std::vector::iterator, _Args &&...)")), Cursor(CXXMethod, "_M_insert_rval", Type(FunctionProto, "auto (std::vector::const_iterator, std::vector::value_type &&) -> std::vector::iterator")), Cursor(FunctionTemplate, "_M_emplace_aux", Type(FunctionProto, "auto (std::vector::const_iterator, _Args &&...) -> std::vector::iterator")), Cursor(CXXMethod, "_M_erase", Type(FunctionProto, "typename vector<_Tp, _Alloc>::iterator (std::vector::iterator)")), Cursor(FunctionTemplate, "<deduction guide for vector>", Type(FunctionProto, "auto (_InputIterator, _InputIterator, _Allocator) -> vector<_ValT, _Allocator>")), Cursor(FunctionTemplate, "operator==", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "operator<", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "operator!=", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "operator>", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "operator<=", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "operator>=", Type(FunctionProto, "bool (const vector<_Tp, _Alloc> &, const vector<_Tp, _Alloc> &)")), Cursor(FunctionTemplate, "swap", Type(FunctionProto, "void (vector<_Tp, _Alloc> &, vector<_Tp, _Alloc> &) noexcept(noexcept(__x.swap(__y)))")), Cursor(VisibilityAttr, "default", Type(Invalid, "")), Cursor(ClassTemplate, "initializer_list", Type(Invalid, "")), Cursor(FunctionTemplate, "launder", Type(FunctionProto, "_Tp *(_Tp *) noexcept")), Cursor(FunctionDecl, "launder", Type(FunctionProto, "void (void *)"), Type(Void, "void")), Cursor(ClassTemplate, "integral_constant", Type(Invalid, "")), Cursor(VarDecl, "value", Type(Unexposed, "const _Tp")), Cursor(TypedefDecl, "true_type", Type(Typedef, "std::true_type")), Cursor(TypedefDecl, "false_type", Type(Typedef, "std::false_type")), Cursor(TypeAliasTemplateDecl, "__bool_constant", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "bool_constant", Type(Invalid, "")), Cursor(ClassTemplate, "conditional", Type(Invalid, "")), Cursor(ClassTemplate, "__or_", Type(Invalid, "")), Cursor(StructDecl, "__or_", Type(Record, "std::__or_<>")), Cursor(ClassTemplatePartialSpecialization, "__or_", Type(Unexposed, "__or_<type-parameter-0-0>")), Cursor(ClassTemplate, "__and_", Type(Invalid, "")), Cursor(StructDecl, "__and_", Type(Record, "std::__and_<>")), Cursor(ClassTemplatePartialSpecialization, "__and_", Type(Unexposed, "__and_<type-parameter-0-0>")), Cursor(ClassTemplate, "__not_", Type(Invalid, "")), Cursor(UnexposedDecl, "__or_v", Type(Invalid, "")), Cursor(UnexposedDecl, "__and_v", Type(Invalid, "")), Cursor(ClassTemplate, "conjunction", Type(Invalid, "")), Cursor(ClassTemplate, "disjunction", Type(Invalid, "")), Cursor(ClassTemplate, "negation", Type(Invalid, "")), Cursor(UnexposedDecl, "conjunction_v", Type(Invalid, "")), Cursor(UnexposedDecl, "disjunction_v", Type(Invalid, "")), Cursor(UnexposedDecl, "negation_v", Type(Invalid, "")), Cursor(ClassTemplate, "__success_type", Type(Invalid, "")), Cursor(StructDecl, "__failure_type", Type(Record, "std::__failure_type")), Cursor(ClassTemplate, "remove_cv", Type(Invalid, "")), Cursor(ClassTemplate, "__is_void_helper", Type(Invalid, "")), Cursor(StructDecl, "__is_void_helper", Type(Record, "std::__is_void_helper<void>")), Cursor(ClassTemplate, "is_void", Type(Invalid, "")), Cursor(ClassTemplate, "__is_integral_helper", Type(Invalid, "")), Cursor(StructDecl, "__is_integral_helper", Type(Record, "std::__is_integral_helper<bool>")), Cursor(ClassTemplate, "is_integral", Type(Invalid, "")), Cursor(ClassTemplate, "__is_floating_point_helper", Type(Invalid, "")), Cursor(StructDecl, "__is_floating_point_helper", Type(Record, "std::__is_floating_point_helper<float>")), Cursor(ClassTemplate, "is_floating_point", Type(Invalid, "")), Cursor(ClassTemplate, "is_array", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_array", Type(Unexposed, "is_array<type-parameter-0-0 [_Size]>")), Cursor(ClassTemplate, "__is_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_pointer_helper", Type(Unexposed, "__is_pointer_helper<type-parameter-0-0 *>")), Cursor(ClassTemplate, "is_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "is_lvalue_reference", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_lvalue_reference", Type(Unexposed, "is_lvalue_reference<type-parameter-0-0 &>")), Cursor(ClassTemplate, "is_rvalue_reference", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_rvalue_reference", Type(Unexposed, "is_rvalue_reference<type-parameter-0-0 &&>")), Cursor(ClassTemplate, "is_function", Type(Invalid, "")), Cursor(ClassTemplate, "__is_member_object_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_member_object_pointer_helper", Type(Unexposed, "__is_member_object_pointer_helper<type-parameter-0-0 type-parameter-0-1::*>")), Cursor(ClassTemplate, "is_member_object_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "__is_member_function_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_member_function_pointer_helper", Type(Unexposed, "__is_member_function_pointer_helper<type-parameter-0-0 type-parameter-0-1::*>")), Cursor(ClassTemplate, "is_member_function_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "is_enum", Type(Invalid, "")), Cursor(ClassTemplate, "is_union", Type(Invalid, "")), Cursor(ClassTemplate, "is_class", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_function", Type(Unexposed, "is_function<type-parameter-0-0 (type-parameter-0-1...) noexcept(_NE)>")), Cursor(ClassTemplate, "__is_null_pointer_helper", Type(Invalid, "")), Cursor(StructDecl, "__is_null_pointer_helper", Type(Record, "std::__is_null_pointer_helper<std::nullptr_t>")), Cursor(ClassTemplate, "is_null_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nullptr_t", Type(Invalid, "")), Cursor(ClassTemplate, "is_reference", Type(Invalid, "")), Cursor(ClassTemplate, "is_arithmetic", Type(Invalid, "")), Cursor(ClassTemplate, "is_fundamental", Type(Invalid, "")), Cursor(ClassTemplate, "is_object", Type(Invalid, "")), Cursor(ClassTemplate, "is_member_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "is_scalar", Type(Invalid, "")), Cursor(ClassTemplate, "is_compound", Type(Invalid, "")), Cursor(ClassTemplate, "__is_member_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_member_pointer_helper", Type(Unexposed, "__is_member_pointer_helper<type-parameter-0-0 type-parameter-0-1::*>")), Cursor(ClassTemplate, "__is_referenceable", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_referenceable", Type(Unexposed, "__is_referenceable<type-parameter-0-0 (type-parameter-0-1...) noexcept(_NE)>")), Cursor(ClassTemplate, "is_const", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_const", Type(Unexposed, "is_const<const type-parameter-0-0>")), Cursor(ClassTemplate, "is_volatile", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_volatile", Type(Unexposed, "is_volatile<volatile type-parameter-0-0>")), Cursor(ClassTemplate, "is_trivial", Type(Invalid, "")), Cursor(ClassTemplate, "is_trivially_copyable", Type(Invalid, "")), Cursor(ClassTemplate, "is_standard_layout", Type(Invalid, "")), Cursor(ClassTemplate, "is_pod", Type(Invalid, "")), Cursor(ClassTemplate, "is_literal_type", Type(Invalid, "")), Cursor(ClassTemplate, "is_empty", Type(Invalid, "")), Cursor(ClassTemplate, "is_polymorphic", Type(Invalid, "")), Cursor(ClassTemplate, "is_final", Type(Invalid, "")), Cursor(ClassTemplate, "is_abstract", Type(Invalid, "")), Cursor(ClassTemplate, "__is_signed_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_signed_helper", Type(Unexposed, "__is_signed_helper<type-parameter-0-0, true>")), Cursor(ClassTemplate, "is_signed", Type(Invalid, "")), Cursor(ClassTemplate, "is_unsigned", Type(Invalid, "")), Cursor(FunctionTemplate, "__declval", Type(FunctionProto, "_Up (int)")), Cursor(FunctionTemplate, "declval", Type(FunctionProto, "auto () noexcept -> decltype(__declval<_Tp>(0))")), Cursor(ClassTemplate, "extent", Type(Invalid, "")), Cursor(ClassTemplate, "remove_all_extents", Type(Invalid, "")), Cursor(ClassTemplate, "__is_array_known_bounds", Type(Invalid, "")), Cursor(ClassTemplate, "__is_array_unknown_bounds", Type(Invalid, "")), Cursor(StructDecl, "__do_is_destructible_impl", Type(Record, "std::__do_is_destructible_impl")), Cursor(ClassTemplate, "__is_destructible_impl", Type(Invalid, "")), Cursor(ClassTemplate, "__is_destructible_safe", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_destructible_safe", Type(Unexposed, "__is_destructible_safe<type-parameter-0-0, false, false>")), Cursor(ClassTemplate, "is_destructible", Type(Invalid, "")), Cursor(StructDecl, "__do_is_nt_destructible_impl", Type(Record, "std::__do_is_nt_destructible_impl")), Cursor(ClassTemplate, "__is_nt_destructible_impl", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_destructible_safe", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_destructible_safe", Type(Unexposed, "__is_nt_destructible_safe<type-parameter-0-0, false, false>")), Cursor(ClassTemplate, "is_nothrow_destructible", Type(Invalid, "")), Cursor(ClassTemplate, "is_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "is_default_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_copy_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_copy_constructible_impl", Type(Unexposed, "__is_copy_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_copy_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_move_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_move_constructible_impl", Type(Unexposed, "__is_move_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_move_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_default_constructible_atom", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_default_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_default_constructible_impl", Type(Unexposed, "__is_nt_default_constructible_impl<type-parameter-0-0, true>")), Cursor(ClassTemplate, "is_nothrow_default_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_constructible_impl", Type(Unexposed, "__is_nt_constructible_impl<type-parameter-0-0, type-parameter-0-1>")), Cursor(ClassTemplate, "is_nothrow_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nothrow_copy_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nothrow_copy_constructible_impl", Type(Unexposed, "__is_nothrow_copy_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_nothrow_copy_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nothrow_move_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nothrow_move_constructible_impl", Type(Unexposed, "__is_nothrow_move_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_nothrow_move_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "is_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_copy_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_copy_assignable_impl", Type(Unexposed, "__is_copy_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_copy_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_move_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_move_assignable_impl", Type(Unexposed, "__is_move_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_move_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplate, "is_nothrow_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_copy_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_copy_assignable_impl", Type(Unexposed, "__is_nt_copy_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_nothrow_copy_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_move_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_move_assignable_impl", Type(Unexposed, "__is_nt_move_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_nothrow_move_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "is_trivially_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "is_trivially_default_constructible", Type(Invalid, "")), Cursor(StructDecl, "__do_is_implicitly_default_constructible_impl", Type(Record, "std::__do_is_implicitly_default_constructible_impl")), Cursor(ClassTemplate, "__is_implicitly_default_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplate, "__is_implicitly_default_constructible_safe", Type(Invalid, "")), Cursor(ClassTemplate, "__is_implicitly_default_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_trivially_copy_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_trivially_copy_constructible_impl", Type(Unexposed, "__is_trivially_copy_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_trivially_copy_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "__is_trivially_move_constructible_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_trivially_move_constructible_impl", Type(Unexposed, "__is_trivially_move_constructible_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_trivially_move_constructible", Type(Invalid, "")), Cursor(ClassTemplate, "is_trivially_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_trivially_copy_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_trivially_copy_assignable_impl", Type(Unexposed, "__is_trivially_copy_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_trivially_copy_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_trivially_move_assignable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_trivially_move_assignable_impl", Type(Unexposed, "__is_trivially_move_assignable_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "is_trivially_move_assignable", Type(Invalid, "")), Cursor(ClassTemplate, "is_trivially_destructible", Type(Invalid, "")), Cursor(ClassTemplate, "has_virtual_destructor", Type(Invalid, "")), Cursor(ClassTemplate, "alignment_of", Type(Invalid, "")), Cursor(ClassTemplate, "rank", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "rank", Type(Unexposed, "rank<type-parameter-0-0 [_Size]>")), Cursor(ClassTemplatePartialSpecialization, "extent", Type(Unexposed, "extent<type-parameter-0-0 [_Size], _Uint>")), Cursor(ClassTemplate, "is_same", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "is_same", Type(Unexposed, "is_same<type-parameter-0-0, type-parameter-0-0>")), Cursor(ClassTemplate, "is_base_of", Type(Invalid, "")), Cursor(ClassTemplate, "__is_convertible_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_convertible_helper", Type(Unexposed, "__is_convertible_helper<type-parameter-0-0, type-parameter-0-1, false>")), Cursor(ClassTemplate, "is_convertible", Type(Invalid, "")), Cursor(ClassTemplate, "remove_const", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "remove_const", Type(Unexposed, "remove_const<const type-parameter-0-0>")), Cursor(ClassTemplate, "remove_volatile", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "remove_volatile", Type(Unexposed, "remove_volatile<volatile type-parameter-0-0>")), Cursor(ClassTemplate, "add_const", Type(Invalid, "")), Cursor(ClassTemplate, "add_volatile", Type(Invalid, "")), Cursor(ClassTemplate, "add_cv", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_const_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_volatile_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_cv_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_const_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_volatile_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_cv_t", Type(Invalid, "")), Cursor(ClassTemplate, "remove_reference", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "remove_reference", Type(Unexposed, "remove_reference<type-parameter-0-0 &>")), Cursor(ClassTemplate, "__add_lvalue_reference_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__add_lvalue_reference_helper", Type(Unexposed, "__add_lvalue_reference_helper<type-parameter-0-0, true>")), Cursor(ClassTemplate, "add_lvalue_reference", Type(Invalid, "")), Cursor(ClassTemplate, "__add_rvalue_reference_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__add_rvalue_reference_helper", Type(Unexposed, "__add_rvalue_reference_helper<type-parameter-0-0, true>")), Cursor(ClassTemplate, "add_rvalue_reference", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_reference_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_lvalue_reference_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_rvalue_reference_t", Type(Invalid, "")), Cursor(ClassTemplate, "__cv_selector", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__cv_selector", Type(Unexposed, "__cv_selector<type-parameter-0-0, false, false>")), Cursor(ClassTemplate, "__match_cv_qualifiers", Type(Invalid, "")), Cursor(ClassTemplate, "__make_unsigned", Type(Invalid, "")), Cursor(StructDecl, "__make_unsigned", Type(Record, "std::__make_unsigned<char>")), Cursor(ClassTemplate, "__make_unsigned_selector", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__make_unsigned_selector", Type(Unexposed, "__make_unsigned_selector<type-parameter-0-0, true, false>")), Cursor(ClassDecl, "__make_unsigned_selector_base", Type(Record, "std::__make_unsigned_selector_base")), Cursor(ClassTemplate, "make_unsigned", Type(Invalid, "")), Cursor(StructDecl, "make_unsigned", Type(Record, "std::make_unsigned<bool>")), Cursor(ClassTemplate, "__make_signed", Type(Invalid, "")), Cursor(StructDecl, "__make_signed", Type(Record, "std::__make_signed<char>")), Cursor(ClassTemplate, "__make_signed_selector", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__make_signed_selector", Type(Unexposed, "__make_signed_selector<type-parameter-0-0, true, false>")), Cursor(ClassTemplate, "make_signed", Type(Invalid, "")), Cursor(StructDecl, "make_signed", Type(Record, "std::make_signed<bool>")), Cursor(TypeAliasTemplateDecl, "make_signed_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "make_unsigned_t", Type(Invalid, "")), Cursor(ClassTemplate, "remove_extent", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "remove_extent", Type(Unexposed, "remove_extent<type-parameter-0-0 [_Size]>")), Cursor(ClassTemplatePartialSpecialization, "remove_all_extents", Type(Unexposed, "remove_all_extents<type-parameter-0-0 [_Size]>")), Cursor(TypeAliasTemplateDecl, "remove_extent_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_all_extents_t", Type(Invalid, "")), Cursor(ClassTemplate, "__remove_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__remove_pointer_helper", Type(Unexposed, "__remove_pointer_helper<type-parameter-0-0, type-parameter-0-1 *>")), Cursor(ClassTemplate, "remove_pointer", Type(Invalid, "")), Cursor(ClassTemplate, "__add_pointer_helper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__add_pointer_helper", Type(Unexposed, "__add_pointer_helper<type-parameter-0-0, true>")), Cursor(ClassTemplate, "add_pointer", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "remove_pointer_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "add_pointer_t", Type(Invalid, "")), Cursor(ClassTemplate, "__aligned_storage_msa", Type(Invalid, "")), Cursor(ClassTemplate, "aligned_storage", Type(Invalid, "")), Cursor(ClassTemplate, "__strictest_alignment", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__strictest_alignment", Type(Unexposed, "__strictest_alignment<type-parameter-0-0, type-parameter-0-1...>")), Cursor(ClassTemplate, "aligned_union", Type(Invalid, "")), Cursor(VarDecl, "alignment_value", Type(Typedef, "const std::size_t")), Cursor(ClassTemplate, "__decay_selector", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__decay_selector", Type(Unexposed, "__decay_selector<type-parameter-0-0, false, false>")), Cursor(ClassTemplate, "decay", Type(Invalid, "")), Cursor(ClassTemplate, "reference_wrapper", Type(Invalid, "")), Cursor(ClassTemplate, "__strip_reference_wrapper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__strip_reference_wrapper", Type(Unexposed, "__strip_reference_wrapper<reference_wrapper<type-parameter-0-0> >")), Cursor(ClassTemplate, "__decay_and_strip", Type(Invalid, "")), Cursor(ClassTemplate, "enable_if", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "enable_if", Type(Unexposed, "enable_if<true, type-parameter-0-0>")), Cursor(TypeAliasTemplateDecl, "_Require", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "conditional", Type(Unexposed, "conditional<false, type-parameter-0-0, type-parameter-0-1>")), Cursor(ClassTemplate, "common_type", Type(Invalid, "")), Cursor(StructDecl, "__do_common_type_impl", Type(Record, "std::__do_common_type_impl")), Cursor(ClassTemplate, "__common_type_impl", Type(Invalid, "")), Cursor(StructDecl, "__do_member_type_wrapper", Type(Record, "std::__do_member_type_wrapper")), Cursor(ClassTemplate, "__member_type_wrapper", Type(Invalid, "")), Cursor(ClassTemplate, "__expanded_common_type_wrapper", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__expanded_common_type_wrapper", Type(Unexposed, "__expanded_common_type_wrapper<std::__failure_type, type-parameter-0-0...>")), Cursor(StructDecl, "common_type", Type(Record, "std::common_type<>")), Cursor(ClassTemplatePartialSpecialization, "common_type", Type(Unexposed, "common_type<type-parameter-0-0>")), Cursor(ClassTemplate, "__underlying_type_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__underlying_type_impl", Type(Unexposed, "__underlying_type_impl<type-parameter-0-0, false>")), Cursor(ClassTemplate, "underlying_type", Type(Invalid, "")), Cursor(ClassTemplate, "__declval_protector", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__remove_cvref_t", Type(Invalid, "")), Cursor(ClassTemplate, "result_of", Type(Invalid, "")), Cursor(StructDecl, "__invoke_memfun_ref", Type(Record, "std::__invoke_memfun_ref")), Cursor(StructDecl, "__invoke_memfun_deref", Type(Record, "std::__invoke_memfun_deref")), Cursor(StructDecl, "__invoke_memobj_ref", Type(Record, "std::__invoke_memobj_ref")), Cursor(StructDecl, "__invoke_memobj_deref", Type(Record, "std::__invoke_memobj_deref")), Cursor(StructDecl, "__invoke_other", Type(Record, "std::__invoke_other")), Cursor(ClassTemplate, "__result_of_success", Type(Invalid, "")), Cursor(StructDecl, "__result_of_memfun_ref_impl", Type(Record, "std::__result_of_memfun_ref_impl")), Cursor(ClassTemplate, "__result_of_memfun_ref", Type(Invalid, "")), Cursor(StructDecl, "__result_of_memfun_deref_impl", Type(Record, "std::__result_of_memfun_deref_impl")), Cursor(ClassTemplate, "__result_of_memfun_deref", Type(Invalid, "")), Cursor(StructDecl, "__result_of_memobj_ref_impl", Type(Record, "std::__result_of_memobj_ref_impl")), Cursor(ClassTemplate, "__result_of_memobj_ref", Type(Invalid, "")), Cursor(StructDecl, "__result_of_memobj_deref_impl", Type(Record, "std::__result_of_memobj_deref_impl")), Cursor(ClassTemplate, "__result_of_memobj_deref", Type(Invalid, "")), Cursor(ClassTemplate, "__result_of_memobj", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__result_of_memobj", Type(Unexposed, "__result_of_memobj<type-parameter-0-0 type-parameter-0-1::*, type-parameter-0-2>")), Cursor(ClassTemplate, "__result_of_memfun", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__result_of_memfun", Type(Unexposed, "__result_of_memfun<type-parameter-0-0 type-parameter-0-1::*, type-parameter-0-2, type-parameter-0-3...>")), Cursor(ClassTemplate, "__inv_unwrap", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__inv_unwrap", Type(Unexposed, "__inv_unwrap<type-parameter-0-0, reference_wrapper<type-parameter-0-1> >")), Cursor(ClassTemplate, "__result_of_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__result_of_impl", Type(Unexposed, "__result_of_impl<true, false, type-parameter-0-0, type-parameter-0-1>")), Cursor(StructDecl, "__result_of_other_impl", Type(Record, "std::__result_of_other_impl")), Cursor(ClassTemplate, "__invoke_result", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "result_of", Type(Unexposed, "result_of<type-parameter-0-0 (type-parameter-0-1...)>")), Cursor(TypeAliasTemplateDecl, "aligned_storage_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "aligned_union_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "decay_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "enable_if_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "conditional_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "common_type_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "underlying_type_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "result_of_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__enable_if_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__void_t", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "void_t", Type(Invalid, "")), Cursor(ClassTemplate, "__detector", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__detector", Type(Unexposed, "__detector<type-parameter-0-0, void, _Op, type-parameter-0-2...>")), Cursor(TypeAliasTemplateDecl, "__detected_or", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__detected_or_t", Type(Invalid, "")), Cursor(ClassTemplate, "__is_swappable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nothrow_swappable", Type(Invalid, "")), Cursor(ClassTemplate, "tuple", Type(Invalid, "")), Cursor(ClassTemplate, "__is_tuple_like_impl", Type(Invalid, "")), Cursor(ClassTemplate, "__is_tuple_like", Type(Invalid, "")), Cursor(ClassTemplate, "__is_swappable_impl", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nothrow_swappable_impl", Type(Invalid, "")), Cursor(ClassTemplate, "is_swappable", Type(Invalid, "")), Cursor(ClassTemplate, "is_nothrow_swappable", Type(Invalid, "")), Cursor(UnexposedDecl, "is_swappable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_swappable_v", Type(Invalid, "")), Cursor(ClassTemplate, "__is_swappable_with_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_swappable_with_impl", Type(Unexposed, "__is_swappable_with_impl<type-parameter-0-0 &, type-parameter-0-0 &>")), Cursor(ClassTemplate, "__is_nothrow_swappable_with_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nothrow_swappable_with_impl", Type(Unexposed, "__is_nothrow_swappable_with_impl<type-parameter-0-0 &, type-parameter-0-0 &>")), Cursor(ClassTemplate, "is_swappable_with", Type(Invalid, "")), Cursor(ClassTemplate, "is_nothrow_swappable_with", Type(Invalid, "")), Cursor(UnexposedDecl, "is_swappable_with_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_swappable_with_v", Type(Invalid, "")), Cursor(ClassTemplate, "__is_invocable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_invocable_impl", Type(Unexposed, "__is_invocable_impl<type-parameter-0-0, type-parameter-0-1, void>")), Cursor(ClassTemplate, "__is_invocable", Type(Invalid, "")), Cursor(FunctionTemplate, "__call_is_nt", Type(FunctionProto, "bool (std::__invoke_memfun_ref)")), Cursor(ClassTemplate, "__call_is_nothrow", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__call_is_nothrow_", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nothrow_invocable", Type(Invalid, "")), Cursor(StructDecl, "__nonesuch", Type(Record, "std::__nonesuch")), Cursor(ClassTemplate, "invoke_result", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "invoke_result_t", Type(Invalid, "")), Cursor(ClassTemplate, "is_invocable", Type(Invalid, "")), Cursor(ClassTemplate, "is_invocable_r", Type(Invalid, "")), Cursor(ClassTemplate, "is_nothrow_invocable", Type(Invalid, "")), Cursor(ClassTemplate, "__is_nt_invocable_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_nt_invocable_impl", Type(Unexposed, "__is_nt_invocable_impl<type-parameter-0-0, type-parameter-0-1, void>")), Cursor(ClassTemplate, "is_nothrow_invocable_r", Type(Invalid, "")), Cursor(UnexposedDecl, "is_invocable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_invocable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_invocable_r_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_invocable_r_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_void_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_null_pointer_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_integral_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_floating_point_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_array_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_pointer_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_lvalue_reference_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_rvalue_reference_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_member_object_pointer_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_member_function_pointer_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_enum_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_union_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_class_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_function_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_reference_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_arithmetic_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_fundamental_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_object_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_scalar_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_compound_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_member_pointer_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_const_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_volatile_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivial_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_copyable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_standard_layout_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_pod_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_literal_type_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_empty_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_polymorphic_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_abstract_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_final_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_signed_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_unsigned_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_default_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_copy_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_move_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_copy_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_move_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_destructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_default_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_copy_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_move_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_copy_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_move_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_trivially_destructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_default_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_copy_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_move_constructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_copy_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_move_assignable_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_nothrow_destructible_v", Type(Invalid, "")), Cursor(UnexposedDecl, "has_virtual_destructor_v", Type(Invalid, "")), Cursor(UnexposedDecl, "alignment_of_v", Type(Invalid, "")), Cursor(UnexposedDecl, "rank_v", Type(Invalid, "")), Cursor(UnexposedDecl, "extent_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_same_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_base_of_v", Type(Invalid, "")), Cursor(UnexposedDecl, "is_convertible_v", Type(Invalid, "")), Cursor(ClassTemplate, "has_unique_object_representations", Type(Invalid, "")), Cursor(UnexposedDecl, "has_unique_object_representations_v", Type(Invalid, "")), Cursor(ClassTemplate, "is_aggregate", Type(Invalid, "")), Cursor(UnexposedDecl, "is_aggregate_v", Type(Invalid, "")), Cursor(ClassTemplate, "tuple_size", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__enable_if_has_tuple_size", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "tuple_size", Type(Unexposed, "tuple_size<const type-parameter-0-0>")), Cursor(ClassTemplate, "tuple_element", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__tuple_element_t", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "tuple_element", Type(Unexposed, "tuple_element<__i, const type-parameter-0-1>")), Cursor(TypeAliasTemplateDecl, "tuple_element_t", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_tuple_like_impl", Type(Unexposed, "__is_tuple_like_impl<pair<type-parameter-0-0, type-parameter-0-1> >")), Cursor(ClassTemplate, "__pair_get", Type(Invalid, "")), Cursor(StructDecl, "__pair_get", Type(Record, "std::__pair_get<0>")), Cursor(FunctionTemplate, "get", Type(FunctionProto, "typename tuple_element<_Int, std::pair<_Tp1, _Tp2> >::type &(std::pair<_Tp1, _Tp2> &) noexcept")), Cursor(FunctionTemplate, "exchange", Type(FunctionProto, "_Tp (_Tp &, _Up &&)")), Cursor(ClassTemplate, "_Build_index_tuple", Type(Invalid, "")), Cursor(ClassTemplate, "integer_sequence", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "make_integer_sequence", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "index_sequence", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "make_index_sequence", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "index_sequence_for", Type(Invalid, "")), Cursor(StructDecl, "in_place_t", Type(Record, "std::in_place_t")), Cursor(VarDecl, "in_place", Type(Record, "const std::in_place_t")), Cursor(ClassTemplate, "in_place_type_t", Type(Invalid, "")), Cursor(UnexposedDecl, "in_place_type", Type(Invalid, "")), Cursor(ClassTemplate, "in_place_index_t", Type(Invalid, "")), Cursor(UnexposedDecl, "in_place_index", Type(Invalid, "")), Cursor(ClassTemplate, "__is_in_place_type_impl", Type(Invalid, "")), Cursor(ClassTemplatePartialSpecialization, "__is_in_place_type_impl", Type(Unexposed, "__is_in_place_type_impl<in_place_type_t<type-parameter-0-0> >")), Cursor(ClassTemplate, "__is_in_place_type", Type(Invalid, "")), Cursor(FunctionTemplate, "as_const", Type(FunctionProto, "add_const_t<_Tp> &(_Tp &) noexcept")), Cursor(TypedefDecl, "size_t", Type(Typedef, "std::size_t")), Cursor(TypedefDecl, "ptrdiff_t", Type(Typedef, "std::ptrdiff_t")), Cursor(TypedefDecl, "nullptr_t", Type(Typedef, "std::nullptr_t")), Cursor(Namespace, "__cxx11", Type(Invalid, "")), Cursor(Namespace, "__debug", Type(Invalid, "")), Cursor(Namespace, "__detail", Type(Invalid, "")), Cursor(Namespace, "__swappable_details", Type(Invalid, "")), Cursor(Namespace, "__swappable_with_details", Type(Invalid, "")), Cursor(Namespace, "pmr", Type(Invalid, "")), Cursor(Namespace, "rel_ops", Type(Invalid, "")), Cursor(TypeAliasTemplateDecl, "__allocator_base", Type(Invalid, ""))]

Error: Could not find namespaceless 'vector::reference' in type 'typename vector<_Tp, _Alloc>::reference'

I suppose that the culprit is the return type of std::vector::emplace_back which changes from void to std::vector::reference with C++14 or higher.

atilaneves commented 4 years ago

#include <vector> has never worked, and is in fact one of dpp's holy grails. C++14 has nothing to do with it, I've been using C++17 the whole time.

gmueckl commented 4 years ago

The specific error message I quoted can only appear in C++14 and above because the function signature of emplace_back changes. There's an #ifdef on the C++ version in the header (one of many, actually). In C++11 and older, the return type is simply void.

The root issue is that dpp doesn't find the right scope for a successful name lookup, but I can't figure out how the lookup algorithm goes wrong.

andre2007 commented 4 years ago

While trying to access Azure Storage API (C++) I receive and error: Could not find namespaceless 'vector::iterator' in type 'storage_type::iterator' Is this also related to the issue #include <vector> is not working?

FROM dlang2/ldc-ubuntu:1.19.0 as ldc

RUN apt-get install -y unzip libxml2-dev uuid-dev build-essential cmake libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev g++-5 gcc-5

RUN curl -L -o cpprestsdk.zip https://github.com/microsoft/cpprestsdk/archive/v2.10.14.zip \
    && unzip cpprestsdk.zip -d / \
    && ls /cpprestsdk-2.10.14

RUN apt-get install -y ninja-build

RUN cd /cpprestsdk-2.10.14 \
    && mkdir build.release \
    && cd build.release \
    && cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/cpprest-2.10.14 \
    && ninja

RUN apt-get install -y libboost-all-dev

RUN curl -L -o azure_storage_cpp.zip https://github.com/Azure/azure-storage-cpp/archive/v7.1.0.zip \
    && unzip azure_storage_cpp.zip -d / \
    && ls /azure-storage-cpp-7.1.0

RUN ls /cpprestsdk-2.10.14/build.release/Release/Binaries

RUN cd /azure-storage-cpp-7.1.0/Microsoft.WindowsAzure.Storage \
    && mkdir build.release \
    && cd build.release \
    && CXX=g++-5 cmake .. -DCMAKE_BUILD_TYPE=Release -DCASABLANCA_LIBRARY=/cpprestsdk-2.10.14/build.release/Release/Binaries -DCASABLANCA_INCLUDE_DIR=/cpprestsdk-2.10.14/Release/include \
    && make

RUN apt-get install -y clang-9 libclang-9-dev
RUN ln -s /usr/bin/clang-9 /usr/bin/clang
COPY was.dpp /tmp/

RUN DFLAGS="-L=-L/usr/lib/llvm-9/lib/" dub run dpp -- /tmp/was.dpp \
    --include-path /cpprestsdk-2.10.14/Release/include \
    --include-path /azure-storage-cpp-7.1.0/Microsoft.WindowsAzure.Storage/includes \
    --include-path /usr/include/c++/7.4.0 \
    --preprocess-only \
    --parse-as-cpp

File was.dpp

#include <was/auth.h>
#include <was/blob.h>