|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/SmallVector.h 75 AlignedCharArrayUnion<T> FirstEl;
114 using value_type = T;
115 using iterator = T *;
116 using const_iterator = const T *;
121 using reference = T &;
122 using const_reference = const T &;
123 using pointer = T *;
124 using const_pointer = const T *;
179 class SmallVectorTemplateBase : public SmallVectorTemplateCommon<T> {
183 static void destroy_range(T *S, T *E) {
183 static void destroy_range(T *S, T *E) {
211 void push_back(const T &Elt) {
214 ::new ((void*) this->end()) T(Elt);
218 void push_back(T &&Elt) {
240 T *NewElts = static_cast<T*>(llvm::safe_malloc(NewCapacity*sizeof(T)));
240 T *NewElts = static_cast<T*>(llvm::safe_malloc(NewCapacity*sizeof(T)));
315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
316 using SuperClass = SmallVectorTemplateBase<T>;
357 void resize(size_type N, const T &NV) {
374 LLVM_NODISCARD T pop_back_val() {
397 void append(size_type NumInputs, const T &Elt) {
405 void append(std::initializer_list<T> IL) {
412 void assign(size_type NumElts, const T &Elt) {
429 void assign(std::initializer_list<T> IL) {
467 iterator insert(iterator I, T &&Elt) {
497 iterator insert(iterator I, const T &Elt) {
511 ::new ((void*) this->end()) T(std::move(this->back()));
518 const T *EltPtr = &Elt;
526 iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
637 void insert(iterator I, std::initializer_list<T> IL) {
820 AlignedCharArrayUnion<T> InlineElts[N];
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
846 explicit SmallVector(size_t Size, const T &Value = T())
865 SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
884 SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/Support/AlignOf.h 30 T t;
39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
50 llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/type_traits.h 91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
tools/clang/include/clang/Parse/Parser.h 2706 SmallVectorImpl<DeclaratorChunk::ParamInfo> &ParamInfo);
2710 SmallVectorImpl<DeclaratorChunk::ParamInfo> &ParamInfo,
tools/clang/include/clang/Sema/DeclSpec.h 1538 case DeclaratorChunk::Function: return Fun.destroy();
1539 case DeclaratorChunk::Pointer: return Ptr.destroy();
1540 case DeclaratorChunk::BlockPointer: return Cls.destroy();
1541 case DeclaratorChunk::Reference: return Ref.destroy();
1542 case DeclaratorChunk::Array: return Arr.destroy();
1543 case DeclaratorChunk::MemberPointer: return Mem.destroy();
1544 case DeclaratorChunk::Paren: return;
1545 case DeclaratorChunk::Pipe: return PipeInfo.destroy();
1555 static DeclaratorChunk getPointer(unsigned TypeQuals, SourceLocation Loc,
1561 DeclaratorChunk I;
1574 static DeclaratorChunk getReference(unsigned TypeQuals, SourceLocation Loc,
1576 DeclaratorChunk I;
1585 static DeclaratorChunk getArray(unsigned TypeQuals,
1588 DeclaratorChunk I;
1601 static DeclaratorChunk getFunction(bool HasProto,
1626 static DeclaratorChunk getBlockPointer(unsigned TypeQuals,
1628 DeclaratorChunk I;
1636 static DeclaratorChunk getPipe(unsigned TypeQuals,
1638 DeclaratorChunk I;
1645 static DeclaratorChunk getMemberPointer(const CXXScopeSpec &SS,
1648 DeclaratorChunk I;
1658 static DeclaratorChunk getParen(SourceLocation LParenLoc,
1660 DeclaratorChunk I;
1793 SmallVector<DeclaratorChunk, 8> DeclTypeInfo;
1834 DeclaratorChunk::ParamInfo InlineParams[16];
2160 void AddTypeInfo(const DeclaratorChunk &TI, ParsedAttributes &&attrs,
2172 void AddTypeInfo(const DeclaratorChunk &TI, SourceLocation EndLoc) {
2180 void AddInnermostTypeInfo(const DeclaratorChunk &TI) {
2189 const DeclaratorChunk &getTypeObject(unsigned i) const {
2193 DeclaratorChunk &getTypeObject(unsigned i) {
2198 typedef SmallVectorImpl<DeclaratorChunk>::const_iterator type_object_iterator;
2215 const DeclaratorChunk *getInnermostNonParenChunk() const {
2226 const DeclaratorChunk *getOutermostNonParenChunk() const {
2238 const DeclaratorChunk *chunk = getInnermostNonParenChunk();
2239 return (chunk && chunk->Kind == DeclaratorChunk::Array &&
2250 case DeclaratorChunk::Function:
2253 case DeclaratorChunk::Paren:
2255 case DeclaratorChunk::Pointer:
2256 case DeclaratorChunk::Reference:
2257 case DeclaratorChunk::Array:
2258 case DeclaratorChunk::BlockPointer:
2259 case DeclaratorChunk::MemberPointer:
2260 case DeclaratorChunk::Pipe:
2278 DeclaratorChunk::FunctionTypeInfo &getFunctionTypeInfo() {
2287 const DeclaratorChunk::FunctionTypeInfo &getFunctionTypeInfo() const {
2387 if (getTypeObject(I).Kind != DeclaratorChunk::Paren)
2396 for (const auto &Chunk : type_objects())
2397 if (Chunk.Kind == DeclaratorChunk::Function &&
tools/clang/include/clang/Sema/Sema.h 8745 ObjCArgInfo *ArgInfo, DeclaratorChunk::ParamInfo *CParamInfo,
tools/clang/include/clang/Sema/SemaInternal.h 29 FTIHasSingleVoidParameter(const DeclaratorChunk::FunctionTypeInfo &FTI) {
36 FTIHasNonVoidParameters(const DeclaratorChunk::FunctionTypeInfo &FTI) {
tools/clang/lib/Parse/ParseDecl.cpp 470 DeclaratorChunk::FunctionTypeInfo FTI = D->getFunctionTypeInfo();
5487 if (DeclaratorChunk::Pipe == D.getTypeObject(Idx).Kind)
5561 D.AddTypeInfo(DeclaratorChunk::getMemberPointer(
5576 DeclaratorChunk::getPipe(DS.getTypeQualifiers(), DS.getPipeLoc()),
5609 D.AddTypeInfo(DeclaratorChunk::getPointer(
5617 DeclaratorChunk::getBlockPointer(DS.getTypeQualifiers(), Loc),
5655 DeclaratorChunk& InnerChunk = D.getTypeObject(D.getNumTypeObjects() - 1);
5656 if (InnerChunk.Kind == DeclaratorChunk::Reference) {
5671 D.AddTypeInfo(DeclaratorChunk::getReference(DS.getTypeQualifiers(), Loc,
6182 DeclaratorChunk::getParen(T.getOpenLocation(), T.getCloseLocation()),
6243 SmallVector<DeclaratorChunk::ParamInfo, 16> ParamInfo;
6422 D.AddTypeInfo(DeclaratorChunk::getFunction(
6490 SmallVectorImpl<DeclaratorChunk::ParamInfo> &ParamInfo) {
6567 SmallVectorImpl<DeclaratorChunk::ParamInfo> &ParamInfo,
6751 D.AddTypeInfo(DeclaratorChunk::getArray(0, false, false, nullptr,
6767 D.AddTypeInfo(DeclaratorChunk::getArray(0, false, false, ExprRes.get(),
6844 DeclaratorChunk::getArray(DS.getTypeQualifiers(), StaticLoc.isValid(),
6883 case DeclaratorChunk::Pointer:
6884 case DeclaratorChunk::Reference:
6885 case DeclaratorChunk::BlockPointer:
6886 case DeclaratorChunk::MemberPointer:
6887 case DeclaratorChunk::Pipe:
6890 case DeclaratorChunk::Array:
6891 case DeclaratorChunk::Function:
6892 case DeclaratorChunk::Paren:
6900 D.AddTypeInfo(DeclaratorChunk::getParen(SuggestParenLoc, EndLoc),
6906 const DeclaratorChunk &Chunk = TempDeclarator.getTypeObject(i);
tools/clang/lib/Parse/ParseDeclCXX.cpp 2163 DeclaratorChunk::FunctionTypeInfo &FTI
tools/clang/lib/Parse/ParseExpr.cpp 3061 DeclaratorChunk::getFunction(/*HasProto=*/true,
tools/clang/lib/Parse/ParseExprCXX.cpp 1295 SmallVector<DeclaratorChunk::ParamInfo, 16> ParamInfo;
1372 D.AddTypeInfo(DeclaratorChunk::getFunction(
1432 D.AddTypeInfo(DeclaratorChunk::getFunction(
3099 D.AddTypeInfo(DeclaratorChunk::getArray(0,
tools/clang/lib/Parse/ParseObjc.cpp 1373 SmallVector<DeclaratorChunk::ParamInfo, 8> CParamInfo;
tools/clang/lib/Parse/Parser.cpp 1134 const DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
1354 DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
tools/clang/lib/Sema/DeclSpec.cpp 151 DeclaratorChunk DeclaratorChunk::getFunction(bool hasProto,
179 DeclaratorChunk I;
234 I.Fun.Params = new DeclaratorChunk::ParamInfo[NumParams];
248 I.Fun.Exceptions = new DeclaratorChunk::TypeAndRange[NumExceptions];
315 case DeclaratorChunk::Function:
317 case DeclaratorChunk::Paren:
319 case DeclaratorChunk::Pointer:
320 case DeclaratorChunk::Reference:
321 case DeclaratorChunk::Array:
322 case DeclaratorChunk::BlockPointer:
323 case DeclaratorChunk::MemberPointer:
324 case DeclaratorChunk::Pipe:
tools/clang/lib/Sema/SemaDecl.cpp 5362 DeclaratorChunk &Chunk = D.getTypeObject(I);
5367 if (Chunk.Kind != DeclaratorChunk::MemberPointer)
8945 DeclaratorChunk::FunctionTypeInfo &FTI = D.getTypeObject(FTIIdx).Fun;
12330 D.AddTypeInfo(DeclaratorChunk::getReference(0, IdentLoc, /*lvalue*/ false),
13229 DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
13668 const auto &Outer = D.getTypeObject(D.getNumTypeObjects() - 1);
13669 if (Outer.Kind == DeclaratorChunk::Function &&
14175 D.AddTypeInfo(DeclaratorChunk::getFunction(/*HasProto=*/false,
tools/clang/lib/Sema/SemaDeclCXX.cpp 386 DeclaratorChunk &chunk = D.getTypeObject(i);
387 if (chunk.Kind == DeclaratorChunk::Function) {
415 } else if (chunk.Kind != DeclaratorChunk::Paren) {
798 D.getTypeObject(0).Kind != DeclaratorChunk::Reference)) {
802 D.getTypeObject(0).Kind == DeclaratorChunk::Paren))
8603 const DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
8665 DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
8844 DeclaratorChunk::FunctionTypeInfo &FTI = D.getFunctionTypeInfo();
8972 case DeclaratorChunk::Function:
8983 case DeclaratorChunk::Array:
8988 case DeclaratorChunk::Pointer:
8989 case DeclaratorChunk::BlockPointer:
8990 case DeclaratorChunk::Reference:
8991 case DeclaratorChunk::MemberPointer:
8992 case DeclaratorChunk::Pipe:
8996 case DeclaratorChunk::Paren:
9201 for (const DeclaratorChunk &Chunk : llvm::reverse(D.type_objects())) {
9202 if (Chunk.Kind == DeclaratorChunk::Paren)
9204 if (Chunk.Kind != DeclaratorChunk::Function || FoundFunction) {
tools/clang/lib/Sema/SemaDeclObjC.cpp 1590 D.AddTypeInfo(DeclaratorChunk::getPointer(/*TypeQuals=*/0, starLoc,
4545 ObjCArgInfo *ArgInfo, DeclaratorChunk::ParamInfo *CParamInfo,
tools/clang/lib/Sema/SemaExprCXX.cpp 1656 D.getTypeObject(0).Kind == DeclaratorChunk::Array) {
1657 DeclaratorChunk &Chunk = D.getTypeObject(0);
1675 if (D.getTypeObject(I).Kind != DeclaratorChunk::Array)
1678 DeclaratorChunk::ArrayTypeInfo &Array = D.getTypeObject(I).Arr;
tools/clang/lib/Sema/SemaLambda.cpp 938 DeclaratorChunk::FunctionTypeInfo &FTI = ParamInfo.getFunctionTypeInfo();
tools/clang/lib/Sema/SemaTemplateVariadic.cpp 891 const DeclaratorChunk &Chunk = D.getTypeObject(I);
893 case DeclaratorChunk::Pointer:
894 case DeclaratorChunk::Reference:
895 case DeclaratorChunk::Paren:
896 case DeclaratorChunk::Pipe:
897 case DeclaratorChunk::BlockPointer:
901 case DeclaratorChunk::Array:
906 case DeclaratorChunk::Function:
932 case DeclaratorChunk::MemberPointer:
tools/clang/lib/Sema/SemaType.cpp 58 D.getTypeObject(0).Kind == DeclaratorChunk::Function)
389 static DeclaratorChunk *maybeMovePastReturnType(Declarator &declarator,
394 DeclaratorChunk *result = nullptr;
398 DeclaratorChunk &fnChunk = declarator.getTypeObject(i-1);
400 case DeclaratorChunk::Paren:
404 case DeclaratorChunk::Pointer:
405 case DeclaratorChunk::BlockPointer:
406 case DeclaratorChunk::Array:
407 case DeclaratorChunk::Reference:
408 case DeclaratorChunk::MemberPointer:
409 case DeclaratorChunk::Pipe:
414 case DeclaratorChunk::Function:
416 DeclaratorChunk &ptrChunk = declarator.getTypeObject(i-1);
418 case DeclaratorChunk::Paren:
419 case DeclaratorChunk::Array:
420 case DeclaratorChunk::Function:
421 case DeclaratorChunk::Reference:
422 case DeclaratorChunk::Pipe:
425 case DeclaratorChunk::MemberPointer:
426 case DeclaratorChunk::Pointer:
432 case DeclaratorChunk::BlockPointer:
463 DeclaratorChunk &chunk = declarator.getTypeObject(i-1);
465 case DeclaratorChunk::Pointer:
466 case DeclaratorChunk::BlockPointer: {
469 DeclaratorChunk *destChunk = nullptr;
481 case DeclaratorChunk::Paren:
482 case DeclaratorChunk::Array:
486 case DeclaratorChunk::Function:
489 if (DeclaratorChunk *dest = maybeMovePastReturnType(
500 case DeclaratorChunk::Reference:
501 case DeclaratorChunk::MemberPointer:
502 case DeclaratorChunk::Pipe:
522 DeclaratorChunk &chunk = declarator.getTypeObject(i);
524 case DeclaratorChunk::Pointer:
525 case DeclaratorChunk::BlockPointer:
529 case DeclaratorChunk::Reference:
530 case DeclaratorChunk::MemberPointer:
531 case DeclaratorChunk::Paren:
532 case DeclaratorChunk::Array:
533 case DeclaratorChunk::Pipe:
536 case DeclaratorChunk::Function:
581 DeclaratorChunk &chunk = declarator.getTypeObject(i-1);
583 case DeclaratorChunk::Function:
588 case DeclaratorChunk::Paren:
589 case DeclaratorChunk::Pointer:
590 case DeclaratorChunk::BlockPointer:
591 case DeclaratorChunk::Array:
592 case DeclaratorChunk::Reference:
593 case DeclaratorChunk::MemberPointer:
594 case DeclaratorChunk::Pipe:
612 DeclaratorChunk &chunk = declarator.getTypeObject(i);
613 if (chunk.Kind != DeclaratorChunk::Function) continue;
749 declarator.AddInnermostTypeInfo(DeclaratorChunk::getFunction(
2699 DeclaratorChunk &chunk = declarator.getTypeObject(chunkIndex);
2701 case DeclaratorChunk::Paren:
2705 case DeclaratorChunk::Reference:
2706 case DeclaratorChunk::Pointer:
2714 case DeclaratorChunk::BlockPointer:
2726 case DeclaratorChunk::Array: // suppress if written (id[])?
2727 case DeclaratorChunk::Function:
2728 case DeclaratorChunk::MemberPointer:
2729 case DeclaratorChunk::Pipe:
2764 DeclaratorChunk &chunk = declarator.getTypeObject(outermostPointerIndex);
2765 if (chunk.Kind != DeclaratorChunk::Pointer &&
2766 chunk.Kind != DeclaratorChunk::BlockPointer)
2847 DeclaratorChunk &OuterChunk = D.getTypeObject(OuterChunkIndex);
2849 case DeclaratorChunk::Paren:
2852 case DeclaratorChunk::Pointer: {
2853 DeclaratorChunk::PointerTypeInfo &PTI = OuterChunk.Ptr;
2866 case DeclaratorChunk::Function:
2867 case DeclaratorChunk::BlockPointer:
2868 case DeclaratorChunk::Reference:
2869 case DeclaratorChunk::Array:
2870 case DeclaratorChunk::MemberPointer:
2871 case DeclaratorChunk::Pipe:
3227 DeclaratorChunk &DeclType, QualType RT) {
3228 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
3325 DeclaratorChunk &Paren = D.getTypeObject(D.getNumTypeObjects() - 1);
3346 case DeclaratorChunk::Paren:
3350 case DeclaratorChunk::Pointer:
3354 case DeclaratorChunk::Array:
3359 case DeclaratorChunk::Reference:
3368 case DeclaratorChunk::Function:
3378 case DeclaratorChunk::BlockPointer:
3379 case DeclaratorChunk::MemberPointer:
3380 case DeclaratorChunk::Pipe:
3445 const DeclaratorChunk::FunctionTypeInfo &FTI, unsigned ChunkIndex) {
3478 if (D.getTypeObject(I).Kind != DeclaratorChunk::Paren)
3486 D.getTypeObject(I).Kind == DeclaratorChunk::MemberPointer;
3620 DeclaratorChunk &chunk = declarator.getTypeObject(i);
3622 case DeclaratorChunk::Array:
3627 case DeclaratorChunk::Function:
3628 case DeclaratorChunk::Pipe:
3631 case DeclaratorChunk::BlockPointer:
3632 case DeclaratorChunk::MemberPointer:
3636 case DeclaratorChunk::Paren:
3639 case DeclaratorChunk::Reference:
3644 case DeclaratorChunk::Pointer:
3944 const DeclaratorChunk &DC = D.getTypeObject(i);
3946 case DeclaratorChunk::Paren:
3948 case DeclaratorChunk::Array:
3949 case DeclaratorChunk::Pointer:
3950 case DeclaratorChunk::Reference:
3951 case DeclaratorChunk::MemberPointer:
3953 case DeclaratorChunk::Function:
3954 case DeclaratorChunk::BlockPointer:
3955 case DeclaratorChunk::Pipe:
3963 static bool IsNoDerefableChunk(DeclaratorChunk Chunk) {
3964 return (Chunk.Kind == DeclaratorChunk::Pointer ||
3965 Chunk.Kind == DeclaratorChunk::Array);
4049 DeclaratorChunk &DeclChunk = D.getTypeObject(Index);
4055 case DeclaratorChunk::Paren:
4062 case DeclaratorChunk::Function: {
4074 case DeclaratorChunk::Pointer:
4075 case DeclaratorChunk::BlockPointer:
4076 case DeclaratorChunk::MemberPointer:
4079 case DeclaratorChunk::Reference:
4082 case DeclaratorChunk::Array:
4085 case DeclaratorChunk::Pipe:
4137 DeclaratorChunk &chunk = D.getTypeObject(i);
4139 case DeclaratorChunk::Array:
4140 case DeclaratorChunk::Function:
4141 case DeclaratorChunk::Pipe:
4144 case DeclaratorChunk::BlockPointer:
4145 case DeclaratorChunk::MemberPointer:
4149 case DeclaratorChunk::Paren:
4150 case DeclaratorChunk::Reference:
4153 case DeclaratorChunk::Pointer:
4224 if (const auto *InnermostChunk = D.getInnermostNonParenChunk()) {
4387 DeclaratorChunk &DeclType = D.getTypeObject(chunkIndex);
4388 IsQualifiedFunction &= DeclType.Kind == DeclaratorChunk::Paren;
4390 case DeclaratorChunk::Paren:
4395 case DeclaratorChunk::BlockPointer:
4414 case DeclaratorChunk::Pointer:
4450 case DeclaratorChunk::Reference: {
4464 case DeclaratorChunk::Array: {
4472 DeclaratorChunk::ArrayTypeInfo &ATI = DeclType.Arr;
4543 case DeclaratorChunk::Function: {
4547 DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
4711 DeclaratorChunk ReturnTypeChunk = D.getTypeObject(chunkIndex + 1);
4956 case DeclaratorChunk::MemberPointer: {
5017 case DeclaratorChunk::Pipe: {
5033 if (DeclType.Kind != DeclaratorChunk::Paren) {
5055 for (const DeclaratorChunk &DeclType : D.type_objects()) {
5057 case DeclaratorChunk::BlockPointer:
5060 case DeclaratorChunk::Function: {
5061 const DeclaratorChunk::FunctionTypeInfo &FTI = DeclType.Fun;
5133 const DeclaratorChunk &Chunk = D.getTypeObject(I);
5166 if (D.getTypeObject(i).Kind != DeclaratorChunk::Paren)
5317 DeclaratorChunk &chunk = D.getTypeObject(chunkIndex);
5356 DeclaratorChunk &chunk = D.getTypeObject(i);
5358 case DeclaratorChunk::Paren:
5362 case DeclaratorChunk::Array:
5363 case DeclaratorChunk::Reference:
5364 case DeclaratorChunk::Pointer:
5370 case DeclaratorChunk::BlockPointer:
5375 case DeclaratorChunk::Function:
5376 case DeclaratorChunk::MemberPointer:
5377 case DeclaratorChunk::Pipe:
5385 DeclaratorChunk &chunk = D.getTypeObject(inner);
5386 if (chunk.Kind == DeclaratorChunk::Pointer) {
5594 const DeclaratorChunk &Chunk;
5598 const DeclaratorChunk &Chunk)
5693 const DeclaratorChunk::FunctionTypeInfo &FTI = Chunk.Fun;
5721 static void fillAtomicQualLoc(AtomicTypeLoc ATL, const DeclaratorChunk &Chunk) {
5724 case DeclaratorChunk::Function:
5725 case DeclaratorChunk::Array:
5726 case DeclaratorChunk::Paren:
5727 case DeclaratorChunk::Pipe:
5730 case DeclaratorChunk::Pointer:
5734 case DeclaratorChunk::BlockPointer:
5735 case DeclaratorChunk::Reference:
5736 case DeclaratorChunk::MemberPointer:
6729 = chunk.Kind == DeclaratorChunk::Pointer ? (inFunction ? PK_FunctionPointer
6731 : chunk.Kind == DeclaratorChunk::BlockPointer ? PK_BlockPointer
6742 if (chunk.Kind != DeclaratorChunk::MemberPointer) {
6758 DeclaratorChunk &chunk = declarator.getTypeObject(i-1);
6760 case DeclaratorChunk::Pointer:
6761 case DeclaratorChunk::BlockPointer:
6762 case DeclaratorChunk::MemberPointer:
6765 case DeclaratorChunk::Paren:
6766 case DeclaratorChunk::Array:
6769 case DeclaratorChunk::Function:
6772 if (DeclaratorChunk *dest = maybeMovePastReturnType(
6781 case DeclaratorChunk::Reference:
6782 case DeclaratorChunk::Pipe:
7392 (D.getTypeObject(ChunkIndex - 1).Kind == DeclaratorChunk::Pointer ||
7393 D.getTypeObject(ChunkIndex - 1).Kind == DeclaratorChunk::Reference ||
7394 D.getTypeObject(ChunkIndex - 1).Kind == DeclaratorChunk::BlockPointer);
7399 if (D.getTypeObject(AdjustedCI).Kind == DeclaratorChunk::Array)
7403 D.getTypeObject(AdjustedCI).Kind == DeclaratorChunk::Paren)
7405 if (D.getTypeObject(AdjustedCI).Kind == DeclaratorChunk::Pointer ||
7406 D.getTypeObject(AdjustedCI).Kind == DeclaratorChunk::Reference)
7411 D.getTypeObject(ChunkIndex - 1).Kind == DeclaratorChunk::Function;
7414 D.getTypeObject(ChunkIndex).Kind == DeclaratorChunk::Function;
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_construct.h 74 _Construct(_T1* __p, _Args&&... __args)
74 _Construct(_T1* __p, _Args&&... __args)
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
97 _Destroy(_Tp* __pointer)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 123 typedef _Tp value_type;
181 typedef _Tp value_type;
183 typedef _Tp* pointer;
184 typedef _Tp& reference;
192 typedef _Tp value_type;
194 typedef const _Tp* pointer;
195 typedef const _Tp& reference;
usr/include/c++/7.4.0/initializer_list 50 typedef _E value_type;
51 typedef const _E& reference;
52 typedef const _E& const_reference;
54 typedef const _E* iterator;
55 typedef const _E* const_iterator;
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
825 : public __is_destructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
1160 : public is_constructible<_Tp, _Tp&&>
1160 : public is_constructible<_Tp, _Tp&&>
1166 : public __is_move_constructible_impl<_Tp>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };