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

References

include/llvm/ADT/Optional.h
  144     T value;
  160   explicit OptionalStorage(in_place_t, Args &&... args)
  161       : value(std::forward<Args>(args)...), hasVal(true) {}
  172   T &getValue() LLVM_LVALUE_FUNCTION noexcept {
  176   T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
  181   T &&getValue() && noexcept {
  197       ::new ((void *)std::addressof(value)) T(y);
  206       ::new ((void *)std::addressof(value)) T(std::move(y));
  216   optional_detail::OptionalStorage<T> Storage;
  219   using value_type = T;
  224   Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
  227   Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
  230   Optional &operator=(T &&y) {
  241   static inline Optional create(const T *y) {
  245   Optional &operator=(const T &y) {
  253   const T *getPointer() const { return &Storage.getValue(); }
  254   T *getPointer() { return &Storage.getValue(); }
  255   const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  256   T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
  260   const T *operator->() const { return getPointer(); }
  261   T *operator->() { return getPointer(); }
  262   const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
  263   T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
  266   constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
  271   T &&getValue() && { return std::move(Storage.getValue()); }
  272   T &&operator*() && { return std::move(Storage.getValue()); }
  275   T getValueOr(U &&value) && {
  316 bool operator==(const Optional<T> &X, NoneType) {
  321 bool operator==(NoneType, const Optional<T> &X) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
  367 template <typename T> bool operator==(const Optional<T> &X, const T &Y) {
  371 template <typename T> bool operator==(const T &X, const Optional<T> &Y) {
  371 template <typename T> bool operator==(const T &X, const Optional<T> &Y) {
include/llvm/ADT/STLExtras.h
 1224 bool is_contained(R &&Range, const E &Element) {
include/llvm/ADT/StringSwitch.h
   48   Optional<T> Result;
   67   StringSwitch &Case(StringLiteral S, T Value) {
   74   StringSwitch& EndsWith(StringLiteral S, T Value) {
   81   StringSwitch& StartsWith(StringLiteral S, T Value) {
   88   StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
   93                       T Value) {
   98                       StringLiteral S3, T Value) {
  103                       StringLiteral S3, StringLiteral S4, T Value) {
  109                       T Value) {
  115                       StringLiteral S6, T Value) {
  121                       StringLiteral S6, StringLiteral S7, T Value) {
  128                       T Value) {
  135                       StringLiteral S9, T Value) {
  140   StringSwitch &CaseLower(StringLiteral S, T Value) {
  147   StringSwitch &EndsWithLower(StringLiteral S, T Value) {
  154   StringSwitch &StartsWithLower(StringLiteral S, T Value) {
  161   StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
  166                            T Value) {
  171                            StringLiteral S3, T Value) {
  176                            StringLiteral S3, StringLiteral S4, T Value) {
  181   R Default(T Value) {
  181   R Default(T Value) {
  188   operator R() {
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/Driver/Action.h
  102   types::ID Type;
  128   Action(ActionClass Kind, types::ID Type) : Action(Kind, ActionList(), Type) {}
  129   Action(ActionClass Kind, Action *Input, types::ID Type)
  133   Action(ActionClass Kind, const ActionList &Inputs, types::ID Type)
  142   types::ID getType() const { return Type; }
  220   InputAction(const llvm::opt::Arg &Input, types::ID Type);
  337   OffloadAction(const DeviceDependences &DDeps, types::ID Ty);
  379   JobAction(ActionClass Kind, Action *Input, types::ID Type);
  380   JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type);
  393   PreprocessJobAction(Action *Input, types::ID OutputType);
  404   PrecompileJobAction(ActionClass Kind, Action *Input, types::ID OutputType);
  407   PrecompileJobAction(Action *Input, types::ID OutputType);
  421   HeaderModulePrecompileJobAction(Action *Input, types::ID OutputType,
  439   AnalyzeJobAction(Action *Input, types::ID OutputType);
  450   MigrateJobAction(Action *Input, types::ID OutputType);
  461   CompileJobAction(Action *Input, types::ID OutputType);
  472   BackendJobAction(Action *Input, types::ID OutputType);
  483   AssembleJobAction(Action *Input, types::ID OutputType);
  494   IfsMergeJobAction(ActionList &Inputs, types::ID Type);
  505   LinkJobAction(ActionList &Inputs, types::ID Type);
  516   LipoJobAction(ActionList &Inputs, types::ID Type);
  527   DsymutilJobAction(ActionList &Inputs, types::ID Type);
  538   VerifyJobAction(ActionClass Kind, Action *Input, types::ID Type);
  550   VerifyDebugInfoJobAction(Action *Input, types::ID Type);
  561   VerifyPCHJobAction(Action *Input, types::ID Type);
  633   OffloadWrapperJobAction(ActionList &Inputs, types::ID Type);
tools/clang/include/clang/Driver/Compilation.h
  196   template <typename T, typename... Args> T *MakeAction(Args &&... Arg) {
  197     T *RawPtr = new T(std::forward<Args>(Arg)...);
tools/clang/include/clang/Driver/Driver.h
  168   typedef SmallVector<std::pair<types::ID, const llvm::opt::Arg *>, 16>
  407                               StringRef Value, types::ID Ty,
tools/clang/include/clang/Driver/ToolChain.h
  328   virtual types::ID LookupTypeForExtension(StringRef Ext) const;
  490                     types::ID InputType = types::TY_INVALID) const;
  499       types::ID InputType = types::TY_INVALID) const;
tools/clang/include/clang/Driver/Types.h
   32   const char *getTypeName(ID Id);
   37   ID getPreprocessedType(ID Id);
   37   ID getPreprocessedType(ID Id);
   42   ID getPrecompiledType(ID Id);
   42   ID getPrecompiledType(ID Id);
   46   const char *getTypeTempSuffix(ID Id, bool CLMode = false);
   49   bool onlyAssembleType(ID Id);
   52   bool onlyPrecompileType(ID Id);
   57   bool canTypeBeUserSpecified(ID Id);
   62   bool appendSuffixForType(ID Id);
   67   bool canLipoType(ID Id);
   70   bool isAcceptedByClang(ID Id);
   73   bool isCXX(ID Id);
   76   bool isLLVMIR(ID Id);
   79   bool isCuda(ID Id);
   82   bool isHIP(ID Id);
   85   bool isObjC(ID Id);
   90   bool isSrcFile(ID Id);
   94   ID lookupTypeForExtension(llvm::StringRef Ext);
   98   ID lookupTypeForTypeSpecifier(const char *Name);
  103     ID Id,
  106                             llvm::opt::DerivedArgList &DAL, ID Id,
  111   ID lookupCXXTypeForCType(ID Id);
  111   ID lookupCXXTypeForCType(ID Id);
  115   ID lookupHeaderTypeForSourceType(ID Id);
  115   ID lookupHeaderTypeForSourceType(ID Id);
tools/clang/lib/Driver/Action.cpp
  166 InputAction::InputAction(const Arg &_Input, types::ID _Type)
  184 OffloadAction::OffloadAction(const DeviceDependences &DDeps, types::ID Ty)
  309 JobAction::JobAction(ActionClass Kind, Action *Input, types::ID Type)
  312 JobAction::JobAction(ActionClass Kind, const ActionList &Inputs, types::ID Type)
  317 PreprocessJobAction::PreprocessJobAction(Action *Input, types::ID OutputType)
  322 PrecompileJobAction::PrecompileJobAction(Action *Input, types::ID OutputType)
  326                                          types::ID OutputType)
  334     Action *Input, types::ID OutputType, const char *ModuleName)
  340 AnalyzeJobAction::AnalyzeJobAction(Action *Input, types::ID OutputType)
  345 MigrateJobAction::MigrateJobAction(Action *Input, types::ID OutputType)
  350 CompileJobAction::CompileJobAction(Action *Input, types::ID OutputType)
  355 BackendJobAction::BackendJobAction(Action *Input, types::ID OutputType)
  360 AssembleJobAction::AssembleJobAction(Action *Input, types::ID OutputType)
  365 IfsMergeJobAction::IfsMergeJobAction(ActionList &Inputs, types::ID Type)
  370 LinkJobAction::LinkJobAction(ActionList &Inputs, types::ID Type)
  375 LipoJobAction::LipoJobAction(ActionList &Inputs, types::ID Type)
  380 DsymutilJobAction::DsymutilJobAction(ActionList &Inputs, types::ID Type)
  386                                  types::ID Type)
  395                                                    types::ID Type)
  400 VerifyPCHJobAction::VerifyPCHJobAction(Action *Input, types::ID Type)
  416                                                  types::ID Type)
tools/clang/lib/Driver/Driver.cpp
 2013                                     types::ID Ty, bool TypoCorrect) const {
 2067   types::ID InputType = types::TY_Nothing;
 2099       types::ID Ty = types::TY_INVALID;
 2139             types::ID OldTy = Ty;
 2391         auto Ty = IA->getType() == types::TY_HIP ? types::TY_HIP_DEVICE
 3258     types::ID InputType = I.first;
 3306         const types::ID HeaderType = lookupHeaderTypeForSourceType(InputType);
 3391     types::ID InputType = I.first;
 3532     types::ID OutputTy;
 3552     types::ID OutputTy = getPrecompiledType(Input->getType());
 3600       types::ID Output =
 3605       types::ID Output =
 4333                                         types::ID FileType) {
tools/clang/lib/Driver/InputInfo.h
   42   types::ID Type;
   45   static types::ID GetActionType(const Action *A) {
   54   InputInfo(types::ID _Type, const char *_Filename, const char *_BaseInput)
   63   InputInfo(types::ID _Type, const llvm::opt::Arg *_InputArg,
   77   types::ID getType() const { return Type; }
tools/clang/lib/Driver/ToolChain.cpp
  543 types::ID ToolChain::LookupTypeForExtension(StringRef Ext) const {
  593                                          types::ID InputType) const {
  714                                                    types::ID InputType) const {
tools/clang/lib/Driver/ToolChains/Clang.cpp
  326 static void addExceptionArgs(const ArgList &Args, types::ID InputType,
 3414       types::ID Expected = HeaderModuleInput.getType();
 4117   types::ID InputType = Input.getType();
 5781 void Clang::AddClangCLArgs(const ArgList &Args, types::ID InputType,
tools/clang/lib/Driver/ToolChains/Clang.h
   83   void AddClangCLArgs(const llvm::opt::ArgList &Args, types::ID InputType,
tools/clang/lib/Driver/ToolChains/Darwin.cpp
  739 types::ID MachO::LookupTypeForExtension(StringRef Ext) const {
  740   types::ID Ty = types::lookupTypeForExtension(Ext);
  856                                                 types::ID InputType) const {
tools/clang/lib/Driver/ToolChains/Darwin.h
  209   types::ID LookupTypeForExtension(StringRef Ext) const override;
  309                                           types::ID InputType) const override;
tools/clang/lib/Driver/ToolChains/Fuchsia.cpp
  225                                                  types::ID InputType) const {
tools/clang/lib/Driver/ToolChains/Fuchsia.h
   67                                           types::ID InputType) const override;
tools/clang/lib/Driver/ToolChains/MSVC.cpp
 1339                                            types::ID InputType) const {
tools/clang/lib/Driver/ToolChains/MSVC.h
  137                                           types::ID InputType) const override;
tools/clang/lib/Driver/ToolChains/NaCl.cpp
  354                                            types::ID InputType) const {
tools/clang/lib/Driver/ToolChains/NaCl.h
   74                                           types::ID InputType) const override;
tools/clang/lib/Driver/Types.cpp
   26   ID PreprocessedType;
   43 const char *types::getTypeName(ID Id) {
   47 types::ID types::getPreprocessedType(ID Id) {
   47 types::ID types::getPreprocessedType(ID Id) {
   48   ID PPT = getInfo(Id).PreprocessedType;
   55 static bool isPrepeocessedModuleType(ID Id) {
   59 types::ID types::getPrecompiledType(ID Id) {
   59 types::ID types::getPrecompiledType(ID Id) {
   67 const char *types::getTypeTempSuffix(ID Id, bool CLMode) {
   84 bool types::onlyAssembleType(ID Id) {
   90 bool types::onlyPrecompileType(ID Id) {
   95 bool types::canTypeBeUserSpecified(ID Id) {
   96   static const clang::driver::types::ID kStaticLangageTypes[] = {
  107 bool types::appendSuffixForType(ID Id) {
  112 bool types::canLipoType(ID Id) {
  119 bool types::isAcceptedByClang(ID Id) {
  147 bool types::isObjC(ID Id) {
  160 bool types::isCXX(ID Id) {
  178 bool types::isLLVMIR(ID Id) {
  191 bool types::isCuda(ID Id) {
  203 bool types::isHIP(ID Id) {
  215 bool types::isSrcFile(ID Id) {
  219 types::ID types::lookupTypeForExtension(llvm::StringRef Ext) {
  281 types::ID types::lookupTypeForTypeSpecifier(const char *Name) {
  283     types::ID Id = (types::ID) (i + 1);
  295 void types::getCompilationPhases(ID Id, llvm::SmallVectorImpl<phases::ID> &P) {
  302                                  llvm::opt::DerivedArgList &DAL, ID Id,
  366 ID types::lookupCXXTypeForCType(ID Id) {
  366 ID types::lookupCXXTypeForCType(ID Id) {
  382 ID types::lookupHeaderTypeForSourceType(ID Id) {
  382 ID types::lookupHeaderTypeForSourceType(ID Id) {
tools/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp
   92 types::ID guessType(StringRef Filename, bool *Certain = nullptr) {
   94   auto Lang =
  103 static types::ID foldType(types::ID Lang) {
  103 static types::ID foldType(types::ID Lang) {
  127   Optional<types::ID> Type;
  207     auto TargetType = guessType(Filename, &TypeCertain);
  252   static types::ID toType(Language Lang) {
  268   static StringRef toCLFlag(types::ID Type) {
  282   Optional<types::ID> tryParseTypeArg(const llvm::opt::Arg &Arg) {
  348                         types::ID PreferLanguage) const {
  416                                     types::ID PreferredLanguage) const {
  494   std::vector<types::ID> Types;
  513     auto Lang = guessType(Filename, &TypeCertain);
tools/clang/tools/clang-import-test/clang-import-test.cpp
  175     ID Id = lookupTypeForTypeSpecifier(Input.c_str());
tools/clang/tools/extra/clangd/QueryDriverDatabase.cpp
  230       auto Type = driver::types::lookupTypeForExtension(Ext);
tools/clang/tools/extra/clangd/index/Background.cpp
  209   auto Type =
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  475 	{ __a.construct(__p, std::forward<_Args>(__args)...); }
  486 	destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
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
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  136     inline _GLIBCXX17_CONSTEXPR _Tp*
  137     addressof(_Tp& __r) noexcept
  143     const _Tp* addressof(const _Tp&&) = delete;
  143     const _Tp* addressof(const _Tp&&) = delete;
usr/include/c++/7.4.0/bits/stl_algo.h
 3900 	 const _Tp& __val)
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_construct.h
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
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;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _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>;
  291         constexpr pair(const pair<_U1, _U2>& __p)
  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)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  361 	: first(std::forward<_U1>(__p.first)),
  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)
  522     constexpr pair<typename __decay_and_strip<_T1>::__type,
  524     make_pair(_T1&& __x, _T2&& __y)
  526       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
  962 	emplace_back(_Args&&... __args);
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/bits/vector.tcc
  101 				     std::forward<_Args>(__args)...);
  105 	  _M_realloc_insert(end(), std::forward<_Args>(__args)...);
  418 				   std::forward<_Args>(__args)...);
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
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
  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
  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>>>
  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>
 1215     : public __and_<is_constructible<_Tp, _Args...>,
 1216 		    __is_nt_constructible_impl<_Tp, _Args...>>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1246     : public is_nothrow_constructible<_Tp, _Tp&&>
 1252     : public __is_nothrow_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; };
 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>
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2118       typedef typename remove_reference<_Tp>::type __remove_type;
 2131       typedef _Tp __type;
 2144 	typename decay<_Tp>::type>::__type __type;