reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/AST/ExprCXX.h
   55 class DeclAccessPair;
tools/clang/include/clang/Sema/Sema.h
  108   class DeclAccessPair;

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 *;
  259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
  264   static void destroy_range(T *, T *) {}
  264   static void destroy_range(T *, T *) {}
  286       T1 *I, T1 *E, T2 *Dest,
  286       T1 *I, T1 *E, T2 *Dest,
  286       T1 *I, T1 *E, T2 *Dest,
  287       typename std::enable_if<std::is_same<typename std::remove_const<T1>::type,
  288                                            T2>::value>::type * = nullptr) {
  294       memcpy(reinterpret_cast<void *>(Dest), I, (E - I) * sizeof(T));
  299   void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
  302   void push_back(const T &Elt) {
  305     memcpy(reinterpret_cast<void *>(this->end()), &Elt, 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() {
  375     T Result = ::std::move(this->back());
  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) {
  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/Alignment.h
  103     return Constant<std::alignment_of<T>::value>();
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
include/llvm/Support/TrailingObjects.h
   65     FirstAlignment = alignof(First),
  134     : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
  137   typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  141     static const bool value = alignof(PrevTy) < alignof(NextTy);
  161   static const NextTy *
  163                          TrailingObjectsBase::OverloadToken<NextTy>) {
  176   static NextTy *
  178                          TrailingObjectsBase::OverloadToken<NextTy>) {
  179     auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
  185       return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
  197         (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
  199             sizeof(NextTy) * Count1,
  231                                 TrailingTys...>::Alignment,
  232                             BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
  233                             BaseTy, TrailingTys...> {
  241       trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  242       BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
  284                                        TrailingObjectsBase::OverloadToken<T>) {
  302   template <typename T> const T *getTrailingObjects() const {
  314   template <typename T> T *getTrailingObjects() {
  332                         TrailingTys, size_t>::type... Counts) {
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  342       std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
  344                    TrailingTys, size_t>::type... Counts) {
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/AST/ASTUnresolvedSet.h
   32   struct DeclsTy : ASTVector<DeclAccessPair> {
   56     Decls.push_back(DeclAccessPair::make(D, AS), C);
   87   DeclAccessPair &operator[](unsigned I) { return Decls[I]; }
   88   const DeclAccessPair &operator[](unsigned I) const { return Decls[I]; }
tools/clang/include/clang/AST/ASTVector.h
   38   T *Begin = nullptr;
   39   T *End = nullptr;
   40   llvm::PointerIntPair<T *, 1, bool> Capacity;
   42   void setEnd(T *P) { this->End = P; }
   76     if (std::is_class<T>::value) {
   84   using value_type = T;
   85   using iterator = T *;
   86   using const_iterator = const T *;
   91   using reference = T &;
   92   using const_reference = const T &;
   93   using pointer = T *;
   94   using const_pointer = const T *;
  139   T pop_back_val() {
  140     T Result = back();
  146     if (std::is_class<T>::value) {
  165       new (End) T(Elt);
  202   void append(const ASTContext &C, size_type NumInputs, const T &Elt) {
  219   iterator insert(const ASTContext &C, iterator I, const T &Elt) {
  241                   const T &Elt) {
  341   void resize(const ASTContext &C, unsigned N, const T &NV) {
  358   void construct_range(T *S, T *E, const T &Elt) {
  358   void construct_range(T *S, T *E, const T &Elt) {
  358   void construct_range(T *S, T *E, const T &Elt) {
  363   void destroy_range(T *S, T *E) {
  363   void destroy_range(T *S, T *E) {
  388   T *NewElts = new (C, alignof(T)) T[NewCapacity];
  388   T *NewElts = new (C, alignof(T)) T[NewCapacity];
  388   T *NewElts = new (C, alignof(T)) T[NewCapacity];
  392     if (std::is_class<T>::value) {
  398       memcpy(NewElts, Begin, CurSize * sizeof(T));
tools/clang/include/clang/AST/DeclAccessPair.h
   35   static DeclAccessPair make(NamedDecl *D, AccessSpecifier AS) {
   36     DeclAccessPair p;
tools/clang/include/clang/AST/Expr.h
 2806   DeclAccessPair FoundDecl;
 2864                             DeclAccessPair FoundDecl,
 2878                   DeclAccessPair::make(MemberDecl, MemberDecl->getAccess()),
 2898   DeclAccessPair getFoundDecl() const {
 2900       return DeclAccessPair::make(getMemberDecl(),
tools/clang/include/clang/AST/ExprCXX.h
 2868   inline DeclAccessPair *getTrailingResults();
 2869   const DeclAccessPair *getTrailingResults() const {
 3039       private llvm::TrailingObjects<UnresolvedLookupExpr, DeclAccessPair,
 3076   unsigned numTrailingObjects(OverloadToken<DeclAccessPair>) const {
 3773       private llvm::TrailingObjects<UnresolvedMemberExpr, DeclAccessPair,
 3818   unsigned numTrailingObjects(OverloadToken<DeclAccessPair>) const {
 3925 DeclAccessPair *OverloadExpr::getTrailingResults() {
 3927     return ULE->getTrailingObjects<DeclAccessPair>();
 3928   return cast<UnresolvedMemberExpr>(this)->getTrailingObjects<DeclAccessPair>();
tools/clang/include/clang/AST/UnresolvedSet.h
   32                                   UnresolvedSetIterator, DeclAccessPair *,
   39   explicit UnresolvedSetIterator(DeclAccessPair *Iter)
   41   explicit UnresolvedSetIterator(const DeclAccessPair *Iter)
   53   const DeclAccessPair &getPair() const { return *I; }
   61   using DeclsTy = SmallVectorImpl<DeclAccessPair>;
   93     decls().push_back(DeclAccessPair::make(D, AS));
  128   DeclAccessPair &operator[](unsigned I) { return decls()[I]; }
  129   const DeclAccessPair &operator[](unsigned I) const { return decls()[I]; }
  145   SmallVector<DeclAccessPair, InlineCapacity> Decls;
tools/clang/include/clang/Sema/DelayedDiagnostic.h
   63                  DeclAccessPair FoundDecl,
tools/clang/include/clang/Sema/Initialization.h
  910       DeclAccessPair FoundDecl;
 1218                                         DeclAccessPair Found,
 1257                              DeclAccessPair FoundDecl,
 1282   void AddConstructorInitializationStep(DeclAccessPair FoundDecl,
tools/clang/include/clang/Sema/Overload.h
  328     DeclAccessPair FoundCopyConstructor;
  409     DeclAccessPair FoundConversionFunction;
  776     DeclAccessPair FoundDecl;
 1106     DeclAccessPair FoundDecl;
 1122     ConstructorInfo Info = {DeclAccessPair::make(ND, D->getAccess()), nullptr,
tools/clang/include/clang/Sema/Sema.h
 3079   void AddOverloadCandidate(FunctionDecl *Function, DeclAccessPair FoundDecl,
 3096   void AddMethodCandidate(DeclAccessPair FoundDecl,
 3104                           DeclAccessPair FoundDecl,
 3114                                   DeclAccessPair FoundDecl,
 3125       FunctionTemplateDecl *FunctionTemplate, DeclAccessPair FoundDecl,
 3139       CXXConversionDecl *Conversion, DeclAccessPair FoundDecl,
 3144       FunctionTemplateDecl *FunctionTemplate, DeclAccessPair FoundDecl,
 3149                              DeclAccessPair FoundDecl,
 3238                                      DeclAccessPair &Found,
 3243                                               DeclAccessPair &FoundResult);
 3251                                               DeclAccessPair *Found = nullptr);
 3263                                        DeclAccessPair FoundDecl,
 3266                                             DeclAccessPair FoundDecl,
 4565       DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_none),
 4565       DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_none),
 4722                                      DeclAccessPair FoundDecl,
 4750                   ValueDecl *Member, DeclAccessPair FoundDecl,
 4758                   ValueDecl *Member, DeclAccessPair FoundDecl,
 6526                                            DeclAccessPair FoundDecl);
 6528                                            DeclAccessPair FoundDecl);
 6532                                      DeclAccessPair FoundDecl,
 6536                                       DeclAccessPair FoundDecl,
 6541                                       DeclAccessPair FoundDecl,
 6551                                  DeclAccessPair Found);
 6555                                      DeclAccessPair Field);
 6559                                          DeclAccessPair FoundDecl);
 6561                                           DeclAccessPair FoundDecl);
11007       SmallVectorImpl<std::pair<DeclAccessPair, FunctionDecl *>> &Matches);
tools/clang/include/clang/Sema/TemplateDeduction.h
  279   DeclAccessPair FoundDecl;
  288   void set(DeclAccessPair Found, Decl *Spec, DeductionFailureInfo Info) {
tools/clang/lib/AST/ASTImporter.cpp
 7216   DeclAccessPair ToFoundDecl =
 7217       DeclAccessPair::make(ToDecl, E->getFoundDecl().getAccess());
tools/clang/lib/AST/Expr.cpp
 1662     ValueDecl *MemberDecl, DeclAccessPair FoundDecl,
tools/clang/lib/AST/ExprCXX.cpp
  409   unsigned Size = totalSizeToAlloc<DeclAccessPair, ASTTemplateKWAndArgsInfo,
  427       totalSizeToAlloc<DeclAccessPair, ASTTemplateKWAndArgsInfo,
  439   unsigned Size = totalSizeToAlloc<DeclAccessPair, ASTTemplateKWAndArgsInfo,
  485     DeclAccessPair *Results = getTrailingResults();
  486     memcpy(Results, Begin.I, NumResults * sizeof(DeclAccessPair));
 1547   unsigned Size = totalSizeToAlloc<DeclAccessPair, ASTTemplateKWAndArgsInfo,
 1560   unsigned Size = totalSizeToAlloc<DeclAccessPair, ASTTemplateKWAndArgsInfo,
tools/clang/lib/Analysis/BodyFarm.cpp
  217   DeclAccessPair FoundDecl = DeclAccessPair::make(MemberDecl, AS_public);
  217   DeclAccessPair FoundDecl = DeclAccessPair::make(MemberDecl, AS_public);
tools/clang/lib/Sema/SemaAccess.cpp
  157                DeclAccessPair FoundDecl,
 1515                         DeclAccessPair::make(TargetDecl, Access),
 1531                                                      DeclAccessPair Found) {
 1547                                                      DeclAccessPair Found) {
 1572                       DeclAccessPair::make(decl, access), objectType);
 1602                       DeclAccessPair::make(Dtor, Access),
 1612                                                 DeclAccessPair Found,
 1655                                                 DeclAccessPair Found,
 1687       DeclAccessPair::make(Constructor, Found.getAccess()),
 1698                                                DeclAccessPair Found,
 1717                                            DeclAccessPair Found) {
 1733                                          DeclAccessPair Field) {
 1750                                                    DeclAccessPair Found) {
 1782                       DeclAccessPair::make(target, access),
 1800                                                     DeclAccessPair Found) {
 1902                         DeclAccessPair::make(Target, AS_none), BaseType);
tools/clang/lib/Sema/SemaCUDA.cpp
  215     SmallVectorImpl<std::pair<DeclAccessPair, FunctionDecl *>> &Matches) {
  219   using Pair = std::pair<DeclAccessPair, FunctionDecl*>;
tools/clang/lib/Sema/SemaCast.cpp
 1540   DeclAccessPair FoundOverload;
 2514       DeclAccessPair Found;
 2606     DeclAccessPair DAP;
tools/clang/lib/Sema/SemaCodeComplete.cpp
 5155         AddOverloadCandidate(FD, DeclAccessPair::make(FD, FD->getAccess()),
 5220       AddOverloadCandidate(FD, DeclAccessPair::make(FD, C->getAccess()), Args,
 5227           FTD, DeclAccessPair::make(FTD, C->getAccess()),
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1255 static DeclAccessPair findDecomposableBaseClass(Sema &S, SourceLocation Loc,
 1277       return DeclAccessPair::make(const_cast<CXXRecordDecl*>(RD), AS_public);
 1323   return DeclAccessPair::make(const_cast<CXXRecordDecl*>(ClassWithFields), AS);
 1334   DeclAccessPair BasePair =
 1380         DeclAccessPair::make(FD, CXXRecordDecl::MergeAccess(
 1393                                   DeclAccessPair::make(FD, FD->getAccess()),
tools/clang/lib/Sema/SemaExpr.cpp
 2031                 FTD, DeclAccessPair::make(FTD, AS_none), ExplicitTemplateArgs,
 2035               AddOverloadCandidate(FD, DeclAccessPair::make(FD, AS_none),
 4999             S.AddOverloadCandidate(FD, DeclAccessPair::make(FD, AS_none), Args,
 8605     DeclAccessPair DAP;
tools/clang/lib/Sema/SemaExprCXX.cpp
 1486     UsualDeallocFnInfo(Sema &S, DeclAccessPair Found)
 1543     DeclAccessPair Found;
 2487   SmallVector<std::pair<DeclAccessPair,FunctionDecl*>, 2> Matches;
 2597                               DeclAccessPair::make(OperatorDelete, AS_public));
 3365                                DeclAccessPair::make(OperatorDelete, AS_public))
 3929     DeclAccessPair Found;
 7226                       DeclAccessPair::make(FoundDecl, FoundDecl->getAccess()),
tools/clang/lib/Sema/SemaExprMember.cpp
  806                                                DeclAccessPair foundDecl,
  870     DeclAccessPair fakeFoundDecl =
  871         DeclAccessPair::make(field, field->getAccess());
  898     SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl,
  911     SourceLocation TemplateKWLoc, ValueDecl *Member, DeclAccessPair FoundDecl,
 1075   DeclAccessPair FoundDecl = R.begin().getPair();
 1758                               FieldDecl *Field, DeclAccessPair FoundDecl,
tools/clang/lib/Sema/SemaInit.cpp
 3519                                    DeclAccessPair Found,
 3566                                               DeclAccessPair FoundDecl,
 3623     DeclAccessPair FoundDecl, CXXConstructorDecl *Constructor, QualType T,
 4156     DeclAccessPair Found;
 5906     DeclAccessPair dap;
 8047       DeclAccessPair FoundFn = Step->Function.FoundDecl;
 8779     DeclAccessPair Found;
tools/clang/lib/Sema/SemaLookup.cpp
 3218     DeclAccessPair Cand = DeclAccessPair::make(CandDecl, AS_public);
 3218     DeclAccessPair Cand = DeclAccessPair::make(CandDecl, AS_public);
tools/clang/lib/Sema/SemaOverload.cpp
 1310         DeclAccessPair Found = ICS.UserDefined.FoundConversionFunction;
 1653     DeclAccessPair AccessPair;
 3436         DeclAccessPair FoundDecl = I.getPair();
 4611     DeclAccessPair Found;
 5041         DeclAccessPair Found;
 5731     DeclAccessPair Found = ExplicitConversions[0];
 5769                              DeclAccessPair &Found) {
 5809     DeclAccessPair FoundDecl = ViableConversions[I];
 5987       DeclAccessPair Found =
 5988           DeclAccessPair::make(Best->Function, Best->FoundDecl.getAccess());
 6020       DeclAccessPair Found = ViableConversions[0];
 6083     FunctionDecl *Function, DeclAccessPair FoundDecl, ArrayRef<Expr *> Args,
 6632 void Sema::AddMethodCandidate(DeclAccessPair FoundDecl, QualType ObjectType,
 6666 Sema::AddMethodCandidate(CXXMethodDecl *Method, DeclAccessPair FoundDecl,
 6810     FunctionTemplateDecl *MethodTmpl, DeclAccessPair FoundDecl,
 6876     FunctionTemplateDecl *FunctionTemplate, DeclAccessPair FoundDecl,
 7044     CXXConversionDecl *Conversion, DeclAccessPair FoundDecl,
 7232     FunctionTemplateDecl *FunctionTemplate, DeclAccessPair FoundDecl,
 7274                                  DeclAccessPair FoundDecl,
 7489   Candidate.FoundDecl = DeclAccessPair::make(nullptr, AS_none);
 9159     DeclAccessPair FoundDecl = DeclAccessPair::make(*I, AS_none);
 9159     DeclAccessPair FoundDecl = DeclAccessPair::make(*I, AS_none);
11307   SmallVector<std::pair<DeclAccessPair, FunctionDecl*>, 4> Matches;
11331       DeclAccessPair dap;
11430                                    const DeclAccessPair& CurAccessFunPair) {
11476                                       const DeclAccessPair& CurAccessFunPair) {
11678   const DeclAccessPair* getMatchingFunctionAccessPair() const {
11704                                          DeclAccessPair &FoundResult,
11748                                                   DeclAccessPair &Pair) {
11752   DeclAccessPair DAP;
11788   DeclAccessPair DAP;
11820                                                   DeclAccessPair *FoundResult) {
11910   DeclAccessPair found;
11978                                        DeclAccessPair FoundDecl,
13374   DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_public);
13374   DeclAccessPair FoundDecl = DeclAccessPair::make(nullptr, AS_public);
14134 Expr *Sema::FixOverloadedFunctionReference(Expr *E, DeclAccessPair Found,
14308                                                 DeclAccessPair Found,
tools/clang/lib/Sema/SemaTemplate.cpp
 4099             DeclAccessPair::make(Template, AS_public), Partial,
 6730   DeclAccessPair FoundResult; // temporary for ResolveOverloadedFunction
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 3506     DeclAccessPair DAP;
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 2523             DeclAccessPair::make(Template, AS_public), Partial,
tools/clang/lib/Sema/TreeTransform.h
 2321           DeclAccessPair::make(FoundDecl, FoundDecl->getAccess()), MemberNameInfo);
tools/clang/lib/Serialization/ASTReaderStmt.cpp
  806     DeclAccessPair FoundDecl;
  810       FoundDecl = DeclAccessPair::make(FoundD, AS);
  812       FoundDecl = DeclAccessPair::make(E->MemberDecl,
 1777   DeclAccessPair *Results = E->getTrailingResults();
tools/clang/lib/Serialization/ASTWriterStmt.cpp
  721     DeclAccessPair FoundDecl = E->getFoundDecl();
usr/include/c++/7.4.0/bits/move.h
   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_algobase.h
  356         static _Tp*
  357         __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
  357         __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
  357         __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
  361 					   is_move_assignable<_Tp>,
  362 					   is_copy_assignable<_Tp>>;
  368 	    __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
usr/include/c++/7.4.0/bits/stl_pair.h
  100 	return __and_<is_constructible<_T1, const _U1&>,
  100 	return __and_<is_constructible<_T1, const _U1&>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  214       _T1 first;                 /// @c first is a copy of the first object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  379 		__and_<is_copy_assignable<_T1>,
  390 		__and_<is_move_assignable<_T1>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  405 	operator=(const pair<_U1, _U2>& __p)
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  416 	operator=(pair<_U1, _U2>&& __p)
  524     make_pair(_T1&& __x, _T2&& __y)
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
  762     typename add_rvalue_reference<_Tp>::type declval() noexcept;
  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
  889       typedef decltype(__test<_Tp>(0)) type;
  894     : public __and_<__not_<is_void<_Tp>>,
  895                     __is_default_constructible_impl<_Tp>>
  915     : public __is_default_constructible_atom<_Tp>::type
  921     : public __is_default_constructible_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>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1286     : public is_assignable<_Tp&, const _Tp&>
 1292     : public __is_copy_assignable_impl<_Tp>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1304     : public is_assignable<_Tp&, _Tp&&>
 1310     : public __is_move_assignable_impl<_Tp>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_move_assignable_impl<_Tp>
 1377     static void __helper(const _Tp&);
 1380     static true_type __test(const _Tp&,
 1381                             decltype(__helper<const _Tp&>({}))* = 0);
 1390     typedef decltype(__test(declval<_Tp>())) type;
 1395       : public __is_implicitly_default_constructible_impl<_Tp>::type
 1400       : public __and_<is_default_constructible<_Tp>,
 1401                       __is_implicitly_default_constructible_safe<_Tp>>
 1526 	static void __test_aux(_To1);
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1554     { typedef _Tp     type; };
 1558     { 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; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2131       typedef _Tp __type;