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

References

include/llvm/ADT/ArrayRef.h
   43     using iterator = const T *;
   44     using const_iterator = const T *;
   50     const T *Data = nullptr;
   66     /*implicit*/ ArrayRef(const T &OneElt)
   70     /*implicit*/ ArrayRef(const T *data, size_t length)
   74     ArrayRef(const T *begin, const T *end)
   74     ArrayRef(const T *begin, const T *end)
   81     /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
   87     /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
   92     /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
   97     /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
  100     /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
  145     const T *data() const { return Data; }
  151     const T &front() const {
  157     const T &back() const {
  163     template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
  178     ArrayRef<T> slice(size_t N, size_t M) const {
  184     ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
  187     ArrayRef<T> drop_front(size_t N = 1) const {
  193     ArrayRef<T> drop_back(size_t N = 1) const {
  200     template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
  206     template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
  211     ArrayRef<T> take_front(size_t N = 1) const {
  218     ArrayRef<T> take_back(size_t N = 1) const {
  226     template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
  232     template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
  239     const T &operator[](size_t Index) const {
  249     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  257     typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
  263     std::vector<T> vec() const {
  270     operator std::vector<T>() const {
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 *) {}
  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() {
  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) {
  644     ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
  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/CodeGen/CallingConvLower.h
  302   void AnalyzeReturn(const SmallVectorImpl<ISD::OutputArg> &Outs,
  308   bool CheckReturn(const SmallVectorImpl<ISD::OutputArg> &Outs,
  313   void AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
  323   void AnalyzeArguments(const SmallVectorImpl<ISD::OutputArg> &Outs,
  543   void AnalyzeArgumentsSecondPass(const SmallVectorImpl<T> &Args,
  549     SmallVector<T, 16> SecPassArg;
  551     for (auto Arg : Args) {
include/llvm/CodeGen/TargetLowering.h
 3460     SmallVector<ISD::OutputArg, 32> Outs;
 3655                const SmallVectorImpl<ISD::OutputArg> &/*Outs*/,
 3667                               const SmallVectorImpl<ISD::OutputArg> & /*Outs*/,
 4278                    SmallVectorImpl<ISD::OutputArg> &Outs,
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;
  181   static_assert(value == std::is_trivially_copyable<T>::value,
lib/CodeGen/CallingConvLower.cpp
  100 bool CCState::CheckReturn(const SmallVectorImpl<ISD::OutputArg> &Outs,
  114 void CCState::AnalyzeReturn(const SmallVectorImpl<ISD::OutputArg> &Outs,
  127 void CCState::AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/CodeGen/SelectionDAG/FastISel.cpp
 1142   SmallVector<ISD::OutputArg, 4> Outs;
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
   92   SmallVector<ISD::OutputArg, 4> Outs;
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1768   SmallVector<ISD::OutputArg, 8> Outs;
 9015   SmallVector<ISD::OutputArg, 4> Outs;
 9238         ISD::OutputArg MyFlags(Flags, Parts[j].getValueType(), VT,
lib/CodeGen/TargetLoweringBase.cpp
 1465                          SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AArch64/AArch64FastISel.cpp
 3861     SmallVector<ISD::OutputArg, 4> Outs;
lib/Target/AArch64/AArch64ISelLowering.cpp
 3560     const SmallVectorImpl<ISD::OutputArg> &Outs,
 3720   SmallVector<ISD::OutputArg, 32> &Outs = CLI.Outs;
 4150     const SmallVectorImpl<ISD::OutputArg> &Outs, LLVMContext &Context) const {
 4162                                    const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AArch64/AArch64ISelLowering.h
  605       const SmallVectorImpl<ISD::OutputArg> &Outs,
  622                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  626                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 1022   const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AMDGPU/AMDGPUISelLowering.h
  202                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AMDGPU/SIISelLowering.cpp
 2245   const SmallVectorImpl<ISD::OutputArg> &Outs,
 2261                               const SmallVectorImpl<ISD::OutputArg> &Outs,
 2279   SmallVector<ISD::OutputArg, 48> Splits;
 2586     const SmallVectorImpl<ISD::OutputArg> &Outs,
 2672   SmallVector<ISD::OutputArg, 32> &Outs = CLI.Outs;
lib/Target/AMDGPU/SIISelLowering.h
  298                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  302                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  325     const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/ARC/ARCISelLowering.cpp
  227   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
  594     const SmallVectorImpl<ISD::OutputArg> &Outs, LLVMContext &Context) const {
  607                                const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/ARC/ARCISelLowering.h
  105                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  111                       const SmallVectorImpl<ISD::OutputArg> &ArgsFlags,
lib/Target/ARM/ARMFastISel.cpp
 2109     SmallVector<ISD::OutputArg, 4> Outs;
lib/Target/ARM/ARMISelLowering.cpp
 2054   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 2554     const SmallVectorImpl<ISD::OutputArg> &Outs,
 2679                                   const SmallVectorImpl<ISD::OutputArg> &Outs,
 2722                                const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/ARM/ARMISelLowering.h
  799         const SmallVectorImpl<ISD::OutputArg> &Outs,
  806                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  810                         const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AVR/AVRISelLowering.cpp
  900 static void parseExternFuncCallArgs(const SmallVectorImpl<ISD::OutputArg> &In,
  934                                      const SmallVectorImpl<ISD::OutputArg> *Outs,
 1010                                     const SmallVectorImpl<ISD::OutputArg> *Outs,
 1028                              const SmallVectorImpl<ISD::OutputArg> *Outs,
 1149   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 1359                                   const SmallVectorImpl<ISD::OutputArg> &Outs,
 1372                                const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/AVR/AVRISelLowering.h
  153                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  157                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/BPF/BPFISelLowering.cpp
  310   for (auto &Arg : Outs) {
  409                                const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/BPF/BPFISelLowering.h
   98                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Hexagon/HexagonISelLowering.cpp
  178     const SmallVectorImpl<ISD::OutputArg> &Outs,
  194                                    const SmallVectorImpl<ISD::OutputArg> &Outs,
  318   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 3120                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Hexagon/HexagonISelLowering.h
  117         bool isCallerStructRet, const SmallVectorImpl<ISD::OutputArg> &Outs,
  220                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  224                         const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Lanai/LanaiISelLowering.cpp
  413   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
  536                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
  598     bool /*IsTailCall*/, const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Lanai/LanaiISelLowering.h
  116                          const SmallVectorImpl<ISD::OutputArg> &Outs,
  144                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/MSP430/MSP430ISelLowering.cpp
  405 static void ParseFunctionArgs(const SmallVectorImpl<ArgT> &Args,
  426                            const SmallVectorImpl<ISD::OutputArg> &Outs) {
  442                              const SmallVectorImpl<ArgT> &Args) {
  540                              const SmallVectorImpl<ISD::OutputArg> &Outs) {
  547                                 const SmallVectorImpl<ArgT> &Args) {
  574   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
  711                                      const SmallVectorImpl<ISD::OutputArg> &Outs,
  721                                   const SmallVectorImpl<ISD::OutputArg> &Outs,
  790     bool isTailCall, const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/MSP430/MSP430ISelLowering.h
  139                            const SmallVectorImpl<ISD::OutputArg> &Outs,
  169                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  173                         const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Mips/MipsCCState.cpp
   99     const SmallVectorImpl<ISD::OutputArg> &Outs) {
  121     const SmallVectorImpl<ISD::OutputArg> &Outs) {
  123     ISD::OutputArg Out = Outs[i];
  132     const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Mips/MipsCCState.h
   37   void PreAnalyzeReturnForF128(const SmallVectorImpl<ISD::OutputArg> &Outs);
   42   PreAnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
   59   PreAnalyzeReturnForVectorFloat(const SmallVectorImpl<ISD::OutputArg> &Outs);
   89   AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
  104   void AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
  130   void AnalyzeReturn(const SmallVectorImpl<ISD::OutputArg> &Outs,
  140   bool CheckReturn(const SmallVectorImpl<ISD::OutputArg> &ArgsFlags,
lib/Target/Mips/MipsCallLowering.cpp
  398                        const SmallVectorImpl<T> &Arguments) {
  435     SmallVector<ISD::OutputArg, 8> Outs;
  602   SmallVector<ISD::OutputArg, 8> Outs;
lib/Target/Mips/MipsCallLowering.h
   81                                       SmallVectorImpl<T> &ISDArgs) const;
lib/Target/Mips/MipsFastISel.cpp
 1700     SmallVector<ISD::OutputArg, 4> Outs;
lib/Target/Mips/MipsISelLowering.cpp
 3020   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 3621                                    const SmallVectorImpl<ISD::OutputArg> &Outs,
 3651                                 const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Mips/MipsISelLowering.h
  616                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  620                         const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/NVPTX/NVPTXISelLowering.cpp
 1260     const SmallVectorImpl<ISD::OutputArg> &Outs, unsigned retAlignment,
 1426   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 2662                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/NVPTX/NVPTXISelLowering.h
  493                            const SmallVectorImpl<ISD::OutputArg> &,
  498                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/PowerPC/PPCCCState.cpp
   17     const SmallVectorImpl<ISD::OutputArg> &Outs) {
   18   for (const auto &I : Outs) {
lib/Target/PowerPC/PPCCCState.h
   22   PreAnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs);
lib/Target/PowerPC/PPCFastISel.cpp
 1702     SmallVector<ISD::OutputArg, 4> Outs;
lib/Target/PowerPC/PPCISelLowering.cpp
 4544                             const SmallVectorImpl<ISD::OutputArg> &Outs) {
 4568   for (const ISD::OutputArg& Param : Outs) {
 4634                                     const SmallVectorImpl<ISD::OutputArg> &Outs,
 5340   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 5414     const SmallVectorImpl<ISD::OutputArg> &Outs,
 5667     const SmallVectorImpl<ISD::OutputArg> &Outs,
 6328     const SmallVectorImpl<ISD::OutputArg> &Outs,
 6784     const SmallVectorImpl<ISD::OutputArg> &Outs,
 6876                                   const SmallVectorImpl<ISD::OutputArg> &Outs,
 6889                                const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/PowerPC/PPCISelLowering.h
 1024                                     const SmallVectorImpl<ISD::OutputArg> &Outs,
 1107                         const SmallVectorImpl<ISD::OutputArg> &Outs,
 1111                         const SmallVectorImpl<ISD::OutputArg> &Outs,
 1140                              const SmallVectorImpl<ISD::OutputArg> &Outs,
 1149                              const SmallVectorImpl<ISD::OutputArg> &Outs,
 1158                              const SmallVectorImpl<ISD::OutputArg> &Outs,
 1167                           const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/RISCV/RISCVISelLowering.cpp
 1646     const SmallVectorImpl<ISD::OutputArg> &Outs, bool IsRet,
 2078   for (auto &Arg : Outs)
 2091   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 2363     const SmallVectorImpl<ISD::OutputArg> &Outs, LLVMContext &Context) const {
 2380                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/RISCV/RISCVISelLowering.h
  155                          const SmallVectorImpl<ISD::OutputArg> &Outs,
  165                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  168                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/Sparc/SparcISelLowering.cpp
  199                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
  210                                     const SmallVectorImpl<ISD::OutputArg> &Outs,
  295                                     const SmallVectorImpl<ISD::OutputArg> &Outs,
  721   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 1047                                    ArrayRef<ISD::OutputArg> Outs) {
lib/Target/Sparc/SparcISelLowering.h
  151                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  156                            const SmallVectorImpl<ISD::OutputArg> &Outs,
  161                            const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/SystemZ/SystemZCallingConv.h
   58   void AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/SystemZ/SystemZISelLowering.cpp
 1232 static void VerifyVectorTypes(const SmallVectorImpl<ISD::OutputArg> &Outs) {
 1439                               SmallVectorImpl<ISD::OutputArg> &Outs) {
 1463   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 1640                const SmallVectorImpl<ISD::OutputArg> &Outs,
 1660                                    const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/SystemZ/SystemZISelLowering.h
  497                       const SmallVectorImpl<ISD::OutputArg> &Outs,
  500                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
  692   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
  706     const ISD::OutputArg &Out = Outs[I];
  745       const ISD::OutputArg &Out = Outs[I];
  853     const SmallVectorImpl<ISD::OutputArg> &Outs,
  861     const SmallVectorImpl<ISD::OutputArg> &Outs,
  874   for (const ISD::OutputArg &Out : Outs) {
lib/Target/WebAssembly/WebAssemblyISelLowering.h
   77                       const SmallVectorImpl<ISD::OutputArg> &Outs,
   80                       const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/X86/X86FastISel.cpp
 1189     SmallVector<ISD::OutputArg, 4> Outs;
lib/Target/X86/X86ISelLowering.cpp
 2395     const SmallVectorImpl<ISD::OutputArg> &Outs, LLVMContext &Context) const {
 2467                                const SmallVectorImpl<ISD::OutputArg> &Outs,
 2922 callIsStructReturn(ArrayRef<ISD::OutputArg> Outs, bool IsMCU) {
 3604   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 4304     const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/X86/X86ISelLowering.h
 1304                                     const SmallVectorImpl<ISD::OutputArg> &Outs,
 1380                         const SmallVectorImpl<ISD::OutputArg> &Outs,
 1402                         const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/XCore/XCoreISelLowering.cpp
 1034   SmallVectorImpl<ISD::OutputArg> &Outs = CLI.Outs;
 1108     bool isTailCall, const SmallVectorImpl<ISD::OutputArg> &Outs,
 1424                const SmallVectorImpl<ISD::OutputArg> &Outs,
 1438                                  const SmallVectorImpl<ISD::OutputArg> &Outs,
lib/Target/XCore/XCoreISelLowering.h
  155                            const SmallVectorImpl<ISD::OutputArg> &Outs,
  221                         const SmallVectorImpl<ISD::OutputArg> &Outs,
  228                      const SmallVectorImpl<ISD::OutputArg> &ArgsFlags,
usr/include/c++/7.4.0/bits/move.h
   98     move(_Tp&& __t) noexcept
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
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/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>
 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>
 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>
 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; };
 2574       typename remove_reference<_Tp>::type>::type>::type