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

Declarations

tools/clang/include/clang/AST/Decl.h
   73 class TemplateArgumentListInfo;
tools/clang/include/clang/AST/Type.h
  119 class TemplateArgumentListInfo;

References

include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   45   ValueT &getSecond() { return std::pair<KeyT, ValueT>::second; }
   46   const ValueT &getSecond() const { return std::pair<KeyT, ValueT>::second; }
   66   using mapped_type = ValueT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  299   ValueT &operator[](const KeyT &Key) {
  311   ValueT &operator[](KeyT &&Key) {
  380         ::new (&DestBucket->getSecond()) ValueT(std::move(B->getSecond()));
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  520     ::new (&TheBucket->getSecond()) ValueT(std::forward<ValueArgs>(Values)...);
  526                                       ValueT &&Value, LookupKeyT &Lookup) {
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
  853           ValueT, KeyInfoT, BucketT> {
 1031           ::new (&TmpEnd->getSecond()) ValueT(std::move(P->getSecond()));
tools/clang/include/clang/AST/ASTContext.h
 1452                                          const TemplateArgumentListInfo &Args,
 1457                                     const TemplateArgumentListInfo &Args,
 1476                                     const TemplateArgumentListInfo &Args) const;
tools/clang/include/clang/AST/Decl.h
 1876                           const TemplateArgumentListInfo *TemplateArgsAsWritten,
 2580                 const TemplateArgumentListInfo *TemplateArgsAsWritten = nullptr,
 2591                       const TemplateArgumentListInfo &TemplateArgs);
tools/clang/include/clang/AST/DeclTemplate.h
  507          const TemplateArgumentListInfo *TemplateArgsAsWritten,
  693                                  const TemplateArgumentListInfo &TemplateArgs);
  700          const TemplateArgumentListInfo &TemplateArgs);
 1947          const TemplateArgumentListInfo &ArgInfos,
 2453          const TemplateArgumentListInfo &TemplateArgs) {
 2525   TemplateArgumentListInfo TemplateArgsInfo;
 2579   void setTemplateArgsInfo(const TemplateArgumentListInfo &ArgsInfo);
 2581   const TemplateArgumentListInfo &getTemplateArgsInfo() const {
 2786          const TemplateArgumentListInfo &ArgInfos);
tools/clang/include/clang/AST/Expr.h
 1182               const TemplateArgumentListInfo *TemplateArgs, QualType T,
 1204          const TemplateArgumentListInfo *TemplateArgs = nullptr,
 1213          const TemplateArgumentListInfo *TemplateArgs = nullptr,
 1307   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
 2866                             const TemplateArgumentListInfo *TemplateArgs,
 2959   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
tools/clang/include/clang/AST/ExprCXX.h
 2859                const TemplateArgumentListInfo *TemplateArgs,
 3015   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
 3070                        const TemplateArgumentListInfo *TemplateArgs,
 3095          const TemplateArgumentListInfo *Args, UnresolvedSetIterator Begin,
 3174                             const TemplateArgumentListInfo *Args);
 3188          const TemplateArgumentListInfo *TemplateArgs);
 3247   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
 3581                               const TemplateArgumentListInfo *TemplateArgs);
 3592          const TemplateArgumentListInfo *TemplateArgs);
 3696   void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
 3812                        const TemplateArgumentListInfo *TemplateArgs,
 3832          const TemplateArgumentListInfo *TemplateArgs,
tools/clang/include/clang/AST/TemplateBase.h
  610   ASTTemplateArgumentListInfo(const TemplateArgumentListInfo &List);
  640   Create(ASTContext &C, const TemplateArgumentListInfo &List);
  667                       const TemplateArgumentListInfo &List,
  670                       const TemplateArgumentListInfo &List,
  677                 TemplateArgumentListInfo &List) const;
tools/clang/include/clang/AST/Type.h
 4941   static bool anyDependentTemplateArguments(const TemplateArgumentListInfo &,
 5034                                const TemplateArgumentListInfo &Args,
tools/clang/include/clang/Sema/Sema.h
 3092                       TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr,
 3116                                  TemplateArgumentListInfo *ExplicitTemplateArgs,
 3126       TemplateArgumentListInfo *ExplicitTemplateArgs, ArrayRef<Expr *> Args,
 3157       TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr);
 3172                                 TemplateArgumentListInfo *ExplicitTemplateArgs,
 4514                               TemplateArgumentListInfo &Buffer,
 4516                               const TemplateArgumentListInfo *&TemplateArgs);
 4521                       TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr,
 4536                                 const TemplateArgumentListInfo *TemplateArgs);
 4551                    const TemplateArgumentListInfo *TemplateArgs = nullptr);
 4558                    const TemplateArgumentListInfo *TemplateArgs = nullptr);
 4572                                 const TemplateArgumentListInfo *TemplateArgs,
 4577                                 const TemplateArgumentListInfo *TemplateArgs,
 4593                                 const TemplateArgumentListInfo *TemplateArgs);
 4602       const TemplateArgumentListInfo *TemplateArgs = nullptr,
 4609                       TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr);
 4705       const TemplateArgumentListInfo *TemplateArgs,
 4714                            const TemplateArgumentListInfo *TemplateArgs,
 4737                                const TemplateArgumentListInfo *TemplateArgs);
 4754                   const TemplateArgumentListInfo *TemplateArgs = nullptr);
 4762                   const TemplateArgumentListInfo *TemplateArgs = nullptr);
 6774                                   TemplateArgumentListInfo &Out);
 6782                               TemplateArgumentListInfo &TemplateArgs);
 6812                                 const TemplateArgumentListInfo &TemplateArgs);
 6818                                 const TemplateArgumentListInfo *TemplateArgs);
 6825                          const TemplateArgumentListInfo *TemplateArgs);
 6833                                const TemplateArgumentListInfo *TemplateArgs);
 6838                                const TemplateArgumentListInfo *TemplateArgs);
 6874                     const TemplateArgumentListInfo &ExplicitTemplateArgs,
 6878       FunctionDecl *FD, TemplateArgumentListInfo *ExplicitTemplateArgs,
 6963                                  TemplateArgumentListInfo &TemplateArgs,
 7526       TemplateArgumentListInfo &ExplicitTemplateArgs,
 7557       TemplateArgumentListInfo *ExplicitTemplateArgs, ArrayRef<Expr *> Args,
 7564                           TemplateArgumentListInfo *ExplicitTemplateArgs,
 7578                           TemplateArgumentListInfo *ExplicitTemplateArgs,
 8448              TemplateArgumentListInfo &Result,
 8464       const TemplateArgumentListInfo &TemplateArgsInfo,
 8482       VarTemplateDecl *VarTempl, const TemplateArgumentListInfo *TemplateArgs,
tools/clang/include/clang/Sema/Template.h
  547         const TemplateArgumentListInfo &TemplateArgsInfo,
tools/clang/lib/AST/ASTContext.cpp
 4153                                         const TemplateArgumentListInfo &Args,
 4173                                           const TemplateArgumentListInfo &Args,
 4376                                  const TemplateArgumentListInfo &Args) const {
tools/clang/lib/AST/ASTImporter.cpp
  216       auto operator()(Args &&... args)
  230                                                 Args &&... args) {
  246                                                 Args &&... args) {
  257                                    FromDeclT *FromD, Args &&... args) {
  410         const InContainerTy &Container, TemplateArgumentListInfo &ToTAInfo);
  415       const InContainerTy &Container, TemplateArgumentListInfo &Result);
  652     const InContainerTy &Container, TemplateArgumentListInfo &Result) {
  660   TemplateArgumentListInfo ToTAInfo(*ToLAngleLocOrErr, *ToRAngleLocOrErr);
  668 Error ASTNodeImporter::ImportTemplateArgumentListInfo<TemplateArgumentListInfo>(
  669     const TemplateArgumentListInfo &From, TemplateArgumentListInfo &Result) {
  669     const TemplateArgumentListInfo &From, TemplateArgumentListInfo &Result) {
  678         TemplateArgumentListInfo &Result) {
 1972     const InContainerTy &Container, TemplateArgumentListInfo &ToTAInfo) {
 2918     TemplateArgumentListInfo ToTAInfo;
 2952     TemplateArgumentListInfo ToTAInfo;
 5224     TemplateArgumentListInfo ToTAInfo;
 5476     TemplateArgumentListInfo ToTAInfo;
 5485       TemplateArgumentListInfo ArgInfos;
 6272   TemplateArgumentListInfo ToTAInfo;
 6273   TemplateArgumentListInfo *ToResInfo = nullptr;
 7221   TemplateArgumentListInfo ToTAInfo, *ResInfo = nullptr;
 7296   TemplateArgumentListInfo ToTAInfo, *ResInfo = nullptr;
 7340   TemplateArgumentListInfo ToTAInfo(ToLAngleLoc, ToRAngleLoc);
 7341   TemplateArgumentListInfo *ResInfo = nullptr;
 7402     TemplateArgumentListInfo ToTAInfo;
 7452   TemplateArgumentListInfo ToTAInfo;
 7453   TemplateArgumentListInfo *ResInfo = nullptr;
tools/clang/lib/AST/Decl.cpp
 3622                         const TemplateArgumentListInfo *TemplateArgsAsWritten,
 3644                              const TemplateArgumentListInfo &TemplateArgs) {
 3661     const TemplateArgumentListInfo &TArgs) {
 3670                                       const TemplateArgumentListInfo &TArgs)
tools/clang/lib/AST/DeclTemplate.cpp
  724     const TemplateArgumentListInfo *TemplateArgsAsWritten, SourceLocation POI,
  900        const TemplateArgumentListInfo &ArgInfos,
 1146     const TemplateArgumentListInfo &ArgsInfo) {
 1180     const TemplateArgumentListInfo &ArgInfos) {
tools/clang/lib/AST/Expr.cpp
  500                          const TemplateArgumentListInfo *TemplateArgs,
  548                                  const TemplateArgumentListInfo *TemplateArgs,
  563                                  const TemplateArgumentListInfo *TemplateArgs,
 1663     DeclarationNameInfo NameInfo, const TemplateArgumentListInfo *TemplateArgs,
tools/clang/lib/AST/ExprCXX.cpp
  387     const TemplateArgumentListInfo *TemplateArgs, UnresolvedSetIterator Begin,
  421     const TemplateArgumentListInfo *Args, UnresolvedSetIterator Begin,
  451                            const TemplateArgumentListInfo *TemplateArgs,
  527     const TemplateArgumentListInfo *Args)
  558     const TemplateArgumentListInfo *Args) {
 1401     const TemplateArgumentListInfo *TemplateArgs)
 1450     const TemplateArgumentListInfo *TemplateArgs) {
 1502     const TemplateArgumentListInfo *TemplateArgs, UnresolvedSetIterator Begin,
 1542     const TemplateArgumentListInfo *TemplateArgs, UnresolvedSetIterator Begin,
tools/clang/lib/AST/TemplateBase.cpp
  565                                     const TemplateArgumentListInfo &List) {
  572     const TemplateArgumentListInfo &Info) {
  583     SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &Info,
  603     SourceLocation TemplateKWLoc, const TemplateArgumentListInfo &Info,
  624                                         TemplateArgumentListInfo &Info) const {
tools/clang/lib/AST/Type.cpp
 3414 anyDependentTemplateArguments(const TemplateArgumentListInfo &Args,
tools/clang/lib/AST/TypePrinter.cpp
 1726                                       const TemplateArgumentListInfo &Args,
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  904   TemplateArgumentListInfo TemplateArgs(LAngleLoc, RAngleLoc);
tools/clang/lib/Sema/SemaCodeComplete.cpp
 5128     TemplateArgumentListInfo TemplateArgsBuffer, *TemplateArgs = nullptr;
tools/clang/lib/Sema/SemaCoroutine.cpp
   69   TemplateArgumentListInfo Args(KwLoc, KwLoc);
  169   TemplateArgumentListInfo Args(Loc, Loc);
tools/clang/lib/Sema/SemaDecl.cpp
 8593   TemplateArgumentListInfo TemplateArgs;
tools/clang/lib/Sema/SemaDeclCXX.cpp
  945                                      TemplateArgumentListInfo &Args) {
  960                                      TemplateArgumentListInfo &Args,
 1038   TemplateArgumentListInfo Args(Loc, Loc);
 1052     TemplateArgumentListInfo &Args;
 1053     ICEDiagnoser(LookupResult &R, TemplateArgumentListInfo &Args)
 1077   TemplateArgumentListInfo Args(Loc, Loc);
 1174     TemplateArgumentListInfo Args(Loc, Loc);
 9746   TemplateArgumentListInfo Args(Loc, Loc);
tools/clang/lib/Sema/SemaExpr.cpp
 1741     TemplateArgumentListInfo ExplicitArgs;
 1783                        const TemplateArgumentListInfo *TemplateArgs) {
 1818                        const TemplateArgumentListInfo *TemplateArgs) {
 1863                              TemplateArgumentListInfo &Buffer,
 1865                              const TemplateArgumentListInfo *&TemplateArgs) {
 1922                                TemplateArgumentListInfo *ExplicitTemplateArgs,
 2122                                const TemplateArgumentListInfo *TemplateArgs) {
 2170   TemplateArgumentListInfo TemplateArgsBuffer;
 2174   const TemplateArgumentListInfo *TemplateArgs;
 3493       TemplateArgumentListInfo ExplicitArgs;
16282   TemplateArgumentListInfo TemplateArgStorage;
16289   operator TemplateArgumentListInfo*()
tools/clang/lib/Sema/SemaExprMember.cpp
  238                                 const TemplateArgumentListInfo *TemplateArgs,
  486                                const TemplateArgumentListInfo *TemplateArgs) {
  750                                const TemplateArgumentListInfo *TemplateArgs,
  901     const TemplateArgumentListInfo *TemplateArgs) {
  914     const TemplateArgumentListInfo *TemplateArgs) {
  939                       const TemplateArgumentListInfo *TemplateArgs,
  966                                const TemplateArgumentListInfo *TemplateArgs,
 1701   TemplateArgumentListInfo TemplateArgsBuffer;
 1705   const TemplateArgumentListInfo *TemplateArgs;
 1837                               const TemplateArgumentListInfo *TemplateArgs,
tools/clang/lib/Sema/SemaOverload.cpp
 6565                                  TemplateArgumentListInfo *ExplicitTemplateArgs,
 6812     TemplateArgumentListInfo *ExplicitTemplateArgs, QualType ObjectType,
 6877     TemplateArgumentListInfo *ExplicitTemplateArgs, ArrayRef<Expr *> Args,
 7383     TemplateArgumentListInfo *ExplicitTemplateArgs) {
 9131                                  TemplateArgumentListInfo *ExplicitTemplateArgs,
11306   TemplateArgumentListInfo OvlExplicitTemplateArgs;
11832   TemplateArgumentListInfo ExplicitTemplateArgs;
11979                                  TemplateArgumentListInfo *ExplicitTemplateArgs,
12052   TemplateArgumentListInfo TABuffer;
12053   TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr;
12094                        TemplateArgumentListInfo *ExplicitTemplateArgs,
12246   TemplateArgumentListInfo TABuffer;
12247   TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr;
13396     TemplateArgumentListInfo TemplateArgsBuffer, *TemplateArgs = nullptr;
13989                                        TemplateArgumentListInfo *TemplateArgs) {
14243     TemplateArgumentListInfo TemplateArgsBuffer, *TemplateArgs = nullptr;
14259     TemplateArgumentListInfo TemplateArgsBuffer, *TemplateArgs = nullptr;
tools/clang/lib/Sema/SemaTemplate.cpp
  904                                       TemplateArgumentListInfo &TemplateArgs) {
 2993                            TemplateArgumentListInfo &TemplateArgs) {
 3019     TemplateArgumentListInfo SyntheticTemplateArgs;
 3198                                    TemplateArgumentListInfo &TemplateArgs) {
 3494   TemplateArgumentListInfo TemplateArgs(LAngleLoc, RAngleLoc);
 3560   TemplateArgumentListInfo TemplateArgs(LAngleLoc, RAngleLoc);
 3711 static TemplateArgumentListInfo
 3713   TemplateArgumentListInfo TemplateArgs(TemplateId.LAngleLoc,
 3841   TemplateArgumentListInfo TemplateArgs =
 4038                          const TemplateArgumentListInfo &TemplateArgs) {
 5171                                     TemplateArgumentListInfo &Args) {
 5207     TemplateArgumentListInfo &TemplateArgs, bool PartialTemplateArgs,
 5213   TemplateArgumentListInfo NewArgs = TemplateArgs;
 7784   TemplateArgumentListInfo TemplateArgs =
 8331                    const TemplateArgumentListInfo &ExplicitTemplateArgs,
 8394     FunctionDecl *FD, TemplateArgumentListInfo *ExplicitTemplateArgs,
 8402   llvm::SmallDenseMap<FunctionDecl *, TemplateArgumentListInfo, 8>
 8434       TemplateArgumentListInfo Args;
 9036   TemplateArgumentListInfo TemplateArgs(LAngleLoc, RAngleLoc);
 9503       TemplateArgumentListInfo TemplateArgs =
 9567   TemplateArgumentListInfo TemplateArgs;
 9863   TemplateArgumentListInfo TemplateArgs(LAngleLoc, RAngleLoc);
tools/clang/lib/Sema/SemaTemplateDeduction.cpp
 2754   TemplateArgumentListInfo InstArgs(PartialTemplArgInfo->LAngleLoc,
 2966                                TemplateArgumentListInfo &ExplicitTemplateArgs,
 3515   TemplateArgumentListInfo ExplicitTemplateArgs;
 3810     TemplateArgumentListInfo *ExplicitTemplateArgs, ArrayRef<Expr *> Args,
 4027     TemplateArgumentListInfo *ExplicitTemplateArgs, QualType ArgFunctionType,
 4283     TemplateArgumentListInfo *ExplicitTemplateArgs,
 5223     TemplateArgumentListInfo PArgList(P->getLAngleLoc(), P->getRAngleLoc());
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 2968                  TemplateArgumentListInfo &Result,
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 1936     TemplateArgumentListInfo ExplicitArgs(Info->getLAngleLoc(),
 1964     TemplateArgumentListInfo ExplicitArgs(Info->getLAngleLoc(),
 2255     TemplateArgumentListInfo ExplicitArgs(Info->getLAngleLoc(),
 2282     TemplateArgumentListInfo ExplicitArgs(Info->getLAngleLoc(),
 3266   TemplateArgumentListInfo InstTemplateArgs(Loc.getLAngleLoc(),
 3380   TemplateArgumentListInfo VarTemplateArgsInfo;
 3392   const TemplateArgumentListInfo &TemplateArgsInfo = D->getTemplateArgsInfo();
 3426     const TemplateArgumentListInfo &TemplateArgsInfo,
 3578   TemplateArgumentListInfo InstTemplateArgs(TemplArgInfo->LAngleLoc,
 3705   TemplateArgumentListInfo InstTemplateArgs(TemplArgInfo->LAngleLoc,
 4408     const TemplateArgumentListInfo &TemplateArgsInfo,
 5444           TemplateArgumentListInfo Args(Loc, Loc);
tools/clang/lib/Sema/TreeTransform.h
  568                                   TemplateArgumentListInfo &Outputs,
  591                                   TemplateArgumentListInfo &Outputs,
  964                                              TemplateArgumentListInfo &Args);
  999                                           TemplateArgumentListInfo &Args,
 4117     InputIterator First, InputIterator Last, TemplateArgumentListInfo &Outputs,
 6047   TemplateArgumentListInfo NewTemplateArgs;
 6102   TemplateArgumentListInfo NewTemplateArgs;
 6366   TemplateArgumentListInfo NewTemplateArgs;
 9302   TemplateArgumentListInfo TransArgs, *TemplateArgs = nullptr;
 9722   TemplateArgumentListInfo TransArgs;
10956   TemplateArgumentListInfo TransArgs(Old->getLAngleLoc(), Old->getRAngleLoc());
11107   TemplateArgumentListInfo TransArgs(Old->LAngleLoc, Old->RAngleLoc);
11225   TemplateArgumentListInfo TransArgs(E->getLAngleLoc(), E->getRAngleLoc());
11859   TemplateArgumentListInfo TransArgs(E->getLAngleLoc(), E->getRAngleLoc());
11924   TemplateArgumentListInfo TransArgs;
12089   TemplateArgumentListInfo TransformedPackArgs(E->getPackLoc(),
13119                                      TemplateArgumentListInfo &TemplateArgs) {
tools/clang/lib/Serialization/ASTReader.cpp
 7592   TemplateArgumentListInfo TemplArgsInfo(LAngleLoc, RAngleLoc);
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  931     TemplateArgumentListInfo TemplArgsInfo(LAngleLoc, RAngleLoc);
  985     TemplateArgumentListInfo TemplArgs;
tools/clang/lib/Serialization/ASTReaderStmt.cpp
  141   TemplateArgumentListInfo ArgInfo;
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   83     constexpr _Tp&&
   98     move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_pair.h
  209     : private __pair_base<_T1, _T2>
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  215       _T2 second;                /// @c second is a copy of the second 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)
  318        explicit constexpr pair(_U1&& __x, const _T2& __y)
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_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
  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;
  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
 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>
 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>>
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1664     : public __add_rvalue_reference_helper<_Tp>