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 {
  502   ArrayRef<T> makeArrayRef(const T (&Arr)[N]) {
  502   ArrayRef<T> makeArrayRef(const T (&Arr)[N]) {
include/llvm/ADT/StringMap.h
  129   ValueTy second;
  138   const ValueTy &getValue() const { return second; }
  139   ValueTy &getValue() { return second; }
  141   void setValue(const ValueTy &V) { second = V; }
  158 class StringMapEntry final : public StringMapEntryStorage<ValueTy> {
  246   using MapEntryTy = StringMapEntry<ValueTy>;
  260   StringMap(std::initializer_list<std::pair<StringRef, ValueTy>> List)
  330   using mapped_type = ValueTy;
  331   using value_type = StringMapEntry<ValueTy>;
  334   using const_iterator = StringMapConstIterator<ValueTy>;
  335   using iterator = StringMapIterator<ValueTy>;
  350   iterator_range<StringMapKeyIterator<ValueTy>> keys() const {
  369   ValueTy lookup(StringRef Key) const {
  378   ValueTy &operator[](StringRef Key) { return try_emplace(Key).first->second; }
  413   std::pair<iterator, bool> insert(std::pair<StringRef, ValueTy> KV) {
  531     : public StringMapIterBase<StringMapConstIterator<ValueTy>,
  532                                const StringMapEntry<ValueTy>> {
  533   using base = StringMapIterBase<StringMapConstIterator<ValueTy>,
  534                                  const StringMapEntry<ValueTy>>;
  542   const StringMapEntry<ValueTy> &operator*() const {
  548 class StringMapIterator : public StringMapIterBase<StringMapIterator<ValueTy>,
  549                                                    StringMapEntry<ValueTy>> {
  551       StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
  551       StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
  559   StringMapEntry<ValueTy> &operator*() const {
  563   operator StringMapConstIterator<ValueTy>() const {
include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
  250 createLibcall(MachineIRBuilder &MIRBuilder, RTLIB::Libcall Libcall,
include/llvm/CodeGen/RuntimeLibcalls.h
   37   Libcall getFPEXT(EVT OpVT, EVT RetVT);
   41   Libcall getFPROUND(EVT OpVT, EVT RetVT);
   45   Libcall getFPTOSINT(EVT OpVT, EVT RetVT);
   49   Libcall getFPTOUINT(EVT OpVT, EVT RetVT);
   53   Libcall getSINTTOFP(EVT OpVT, EVT RetVT);
   57   Libcall getUINTTOFP(EVT OpVT, EVT RetVT);
   61   Libcall getSYNC(unsigned Opc, MVT VT);
   66   Libcall getMEMCPY_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize);
   71   Libcall getMEMMOVE_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize);
   76   Libcall getMEMSET_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize);
include/llvm/CodeGen/TargetLowering.h
 2623   void setLibcallName(RTLIB::Libcall Call, const char *Name) {
 2628   const char *getLibcallName(RTLIB::Libcall Call) const {
 2634   void setCmpLibcallCC(RTLIB::Libcall Call, ISD::CondCode CC) {
 2640   ISD::CondCode getCmpLibcallCC(RTLIB::Libcall Call) const {
 2645   void setLibcallCallingConv(RTLIB::Libcall Call, CallingConv::ID CC) {
 2650   CallingConv::ID getLibcallCallingConv(RTLIB::Libcall Call) const {
 3030   std::pair<SDValue, SDValue> makeLibCall(SelectionDAG &DAG, RTLIB::Libcall LC,
lib/CodeGen/AtomicExpandPass.cpp
  111                                  ArrayRef<RTLIB::Libcall> Libcalls);
 1467   static const RTLIB::Libcall Libcalls[6] = {
 1481   static const RTLIB::Libcall Libcalls[6] = {
 1495   static const RTLIB::Libcall Libcalls[6] = {
 1510 static ArrayRef<RTLIB::Libcall> GetRMWLibcall(AtomicRMWInst::BinOp Op) {
 1511   static const RTLIB::Libcall LibcallsXchg[6] = {
 1515   static const RTLIB::Libcall LibcallsAdd[6] = {
 1519   static const RTLIB::Libcall LibcallsSub[6] = {
 1523   static const RTLIB::Libcall LibcallsAnd[6] = {
 1527   static const RTLIB::Libcall LibcallsOr[6] = {
 1531   static const RTLIB::Libcall LibcallsXor[6] = {
 1535   static const RTLIB::Libcall LibcallsNand[6] = {
 1570   ArrayRef<RTLIB::Libcall> Libcalls = GetRMWLibcall(I->getOperation());
 1612     AtomicOrdering Ordering2, ArrayRef<RTLIB::Libcall> Libcalls) {
 1640   RTLIB::Libcall RTLibType;
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  240 static RTLIB::Libcall getRTLibDesc(unsigned Opcode, unsigned Size) {
  360 llvm::createLibcall(MachineIRBuilder &MIRBuilder, RTLIB::Libcall Libcall,
  382   auto Libcall = getRTLibDesc(MI.getOpcode(), Size);
  415   RTLIB::Libcall RTLibcall;
  459 static RTLIB::Libcall getConvRTLibDesc(unsigned Opcode, Type *ToType,
  484   RTLIB::Libcall Libcall = getConvRTLibDesc(MI.getOpcode(), ToType, FromType);
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
 3490   RTLIB::Libcall LC;
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  139   SDValue ExpandLibCall(RTLIB::Libcall LC, SDNode *Node, bool isSigned);
  141   std::pair<SDValue, SDValue> ExpandChainLibCall(RTLIB::Libcall LC,
  143   SDValue ExpandFPLibCall(SDNode *Node, RTLIB::Libcall Call_F32,
  144                           RTLIB::Libcall Call_F64, RTLIB::Libcall Call_F80,
  144                           RTLIB::Libcall Call_F64, RTLIB::Libcall Call_F80,
  145                           RTLIB::Libcall Call_F128,
  146                           RTLIB::Libcall Call_PPCF128);
  148                            RTLIB::Libcall Call_I8,
  149                            RTLIB::Libcall Call_I16,
  150                            RTLIB::Libcall Call_I32,
  151                            RTLIB::Libcall Call_I64,
  152                            RTLIB::Libcall Call_I128);
  154                              RTLIB::Libcall Call_F32, RTLIB::Libcall Call_F64,
  154                              RTLIB::Libcall Call_F32, RTLIB::Libcall Call_F64,
  155                              RTLIB::Libcall Call_F80, RTLIB::Libcall Call_F128,
  155                              RTLIB::Libcall Call_F80, RTLIB::Libcall Call_F128,
  156                              RTLIB::Libcall Call_PPCF128);
 2022 SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
 2083 SelectionDAGLegalize::ExpandChainLibCall(RTLIB::Libcall LC,
 2118                                               RTLIB::Libcall Call_F32,
 2119                                               RTLIB::Libcall Call_F64,
 2120                                               RTLIB::Libcall Call_F80,
 2121                                               RTLIB::Libcall Call_F128,
 2122                                               RTLIB::Libcall Call_PPCF128) {
 2126   RTLIB::Libcall LC;
 2139                                                RTLIB::Libcall Call_I8,
 2140                                                RTLIB::Libcall Call_I16,
 2141                                                RTLIB::Libcall Call_I32,
 2142                                                RTLIB::Libcall Call_I64,
 2143                                                RTLIB::Libcall Call_I128) {
 2144   RTLIB::Libcall LC;
 2159                                                  RTLIB::Libcall Call_F32,
 2160                                                  RTLIB::Libcall Call_F64,
 2161                                                  RTLIB::Libcall Call_F80,
 2162                                                  RTLIB::Libcall Call_F128,
 2163                                                  RTLIB::Libcall Call_PPCF128) {
 2167   RTLIB::Libcall LC;
 2187   RTLIB::Libcall LC;
 2248   RTLIB::Libcall LC;
 2282   RTLIB::Libcall LC;
 3793     RTLIB::Libcall LC = RTLIB::getSYNC(Opc, VT);
 4040     RTLIB::Libcall LC =
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
   29 static RTLIB::Libcall GetFPLibCall(EVT VT,
   30                                    RTLIB::Libcall Call_F32,
   31                                    RTLIB::Libcall Call_F64,
   32                                    RTLIB::Libcall Call_F80,
   33                                    RTLIB::Libcall Call_F128,
   34                                    RTLIB::Libcall Call_PPCF128) {
  526   RTLIB::Libcall LC = RTLIB::getFPEXT(Op.getValueType(), N->getValueType(0));
  548   RTLIB::Libcall LC = RTLIB::getFPEXT(MVT::f32, N->getValueType(0));
  562   RTLIB::Libcall LC = RTLIB::getFPROUND(Op.getValueType(), N->getValueType(0));
  799   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
  885   RTLIB::Libcall LC = RTLIB::getFPEXT(SVT, RVT);
  904   RTLIB::Libcall LC = RTLIB::getFPROUND(SVT, FloatRVT);
  949   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 1563     RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 1751   RTLIB::Libcall LC = RTLIB::getFPTOSINT(N->getOperand(0).getValueType(), RVT);
 1761   RTLIB::Libcall LC = RTLIB::getFPTOUINT(N->getOperand(0).getValueType(), RVT);
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 1816   RTLIB::Libcall LC = RTLIB::getSYNC(Opc, VT);
 2563   RTLIB::Libcall LC = RTLIB::getFPTOSINT(Op.getValueType(), VT);
 2580   RTLIB::Libcall LC = RTLIB::getFPTOUINT(Op.getValueType(), VT);
 2589   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 2617   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 2783   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3137   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3212   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3328   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3420   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3486   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3513   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 3882   RTLIB::Libcall LC = RTLIB::getSINTTOFP(Op.getValueType(), DstVT);
 4049   RTLIB::Libcall LC = RTLIB::getUINTTOFP(SrcVT, DstVT);
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  978 SDValue DAGTypeLegalizer::LibCallify(RTLIB::Libcall LC, SDNode *N,
 1006 DAGTypeLegalizer::ExpandChainLibCall(RTLIB::Libcall LC, SDNode *Node,
lib/CodeGen/SelectionDAG/LegalizeTypes.h
  218   SDValue LibCallify(RTLIB::Libcall LC, SDNode *N, bool isSigned);
  220   std::pair<SDValue, SDValue> ExpandChainLibCall(RTLIB::Libcall LC,
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
 6255   RTLIB::Libcall LibraryCall =
 6359   RTLIB::Libcall LibraryCall =
 6460   RTLIB::Libcall LibraryCall =
lib/CodeGen/SelectionDAG/TargetLowering.cpp
  122 TargetLowering::makeLibCall(SelectionDAG &DAG, RTLIB::Libcall LC, EVT RetVT,
  284   RTLIB::Libcall LC1 = RTLIB::UNKNOWN_LIBCALL, LC2 = RTLIB::UNKNOWN_LIBCALL;
 7232     RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
lib/CodeGen/TargetLoweringBase.cpp
  213 RTLIB::Libcall RTLIB::getFPEXT(EVT OpVT, EVT RetVT) {
  239 RTLIB::Libcall RTLIB::getFPROUND(EVT OpVT, EVT RetVT) {
  277 RTLIB::Libcall RTLIB::getFPTOSINT(EVT OpVT, EVT RetVT) {
  319 RTLIB::Libcall RTLIB::getFPTOUINT(EVT OpVT, EVT RetVT) {
  361 RTLIB::Libcall RTLIB::getSINTTOFP(EVT OpVT, EVT RetVT) {
  401 RTLIB::Libcall RTLIB::getUINTTOFP(EVT OpVT, EVT RetVT) {
  439 RTLIB::Libcall RTLIB::getSYNC(unsigned Opc, MVT VT) {
  477 RTLIB::Libcall RTLIB::getMEMCPY_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize) {
  494 RTLIB::Libcall RTLIB::getMEMMOVE_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize) {
  511 RTLIB::Libcall RTLIB::getMEMSET_ELEMENT_UNORDERED_ATOMIC(uint64_t ElementSize) {
lib/Target/AArch64/AArch64FastISel.cpp
 3578     static const RTLIB::Libcall LibCallTable[3][2] = {
 3583     RTLIB::Libcall LC;
 4886   RTLIB::Libcall LC;
lib/Target/AArch64/AArch64ISelLowering.cpp
 2217                                              RTLIB::Libcall Call) const {
 2409   RTLIB::Libcall LC;
 2422   RTLIB::Libcall LC;
 2493   RTLIB::Libcall LC;
 2556   RTLIB::Libcall LC;
 2583   RTLIB::Libcall LC = ArgVT == MVT::f64 ? RTLIB::SINCOS_STRET_F64
lib/Target/AArch64/AArch64ISelLowering.h
  688                         RTLIB::Libcall Call) const;
lib/Target/ARM/ARMFastISel.cpp
  233     bool ARMEmitLibcall(const Instruction *I, RTLIB::Libcall Call);
 1704   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 1733   RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
 2204 bool ARMFastISel::ARMEmitLibcall(const Instruction *I, RTLIB::Libcall Call) {
lib/Target/ARM/ARMISelLowering.cpp
  425         const RTLIB::Libcall Op;
  502       const RTLIB::Libcall Op;
  601         const RTLIB::Libcall Op;
  624       const RTLIB::Libcall Op;
  671       const RTLIB::Libcall Op;
 1122         const RTLIB::Libcall Op;
 1143         const RTLIB::Libcall Op;
 5364     RTLIB::Libcall LC;
 5429     RTLIB::Libcall LC;
 8770   RTLIB::Libcall LC =
15916 static RTLIB::Libcall getDivRemLibcall(
15923   RTLIB::Libcall LC;
15990   RTLIB::Libcall LC = getDivRemLibcall(Op.getNode(),
16035   RTLIB::Libcall LC = getDivRemLibcall(N, N->getValueType(0).getSimpleVT().
16119   RTLIB::Libcall LC;
16167   RTLIB::Libcall LC = RTLIB::getFPROUND(SrcVT, DstVT);
lib/Target/ARM/ARMLegalizerInfo.cpp
  379     auto Libcall =
lib/Target/ARM/ARMLegalizerInfo.h
   41     RTLIB::Libcall LibcallID;
lib/Target/ARM/ARMSelectionDAGInfo.cpp
   25     SDValue Size, unsigned Align, RTLIB::Libcall LC) const {
lib/Target/ARM/ARMSelectionDAGInfo.h
   63                                  RTLIB::Libcall LC) const;
lib/Target/AVR/AVRISelLowering.cpp
  347   RTLIB::Libcall LC;
lib/Target/MSP430/MSP430ISelLowering.cpp
  150     const RTLIB::Libcall Op;
  252       const RTLIB::Libcall Op;
  267       const RTLIB::Libcall Op;
  282       const RTLIB::Libcall Op;
  297       const RTLIB::Libcall Op;
lib/Target/Mips/Mips16ISelLowering.cpp
   35   RTLIB::Libcall Libcall;
lib/Target/Sparc/SparcISelLowering.cpp
 3340   RTLIB::Libcall libCall = RTLIB::UNKNOWN_LIBCALL;
lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
  492   StringMap<RTLIB::Libcall> Map;
  494     static const std::pair<const char *, RTLIB::Libcall> NameLibcalls[] = {
  519                                RTLIB::Libcall LC,
lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h
   26                                 RTLIB::Libcall LC,
lib/Target/X86/X86ISelLowering.cpp
19522     RTLIB::Libcall LC;
19614     RTLIB::Libcall LC = RTLIB::getFPEXT(SVT, VT);
19634   RTLIB::Libcall LC = RTLIB::getFPROUND(SVT, VT);
19728     RTLIB::Libcall LC = Op.getOpcode() == ISD::FADD ? RTLIB::ADD_F128
25389   RTLIB::Libcall LC;
27305   RTLIB::Libcall LC = isF64 ? RTLIB::SINCOS_STRET_F64 : RTLIB::SINCOS_STRET_F32;
27653                                          RTLIB::Libcall Call) const {
lib/Target/X86/X86ISelLowering.h
 1369                           RTLIB::Libcall Call) const;
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*;
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
   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
usr/include/c++/7.4.0/bits/stl_pair.h
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  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)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  380 		       is_copy_assignable<_T2>>::value,
  391 		       is_move_assignable<_T2>>::value,
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*
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;
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
  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
  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
  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
 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>
 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; };
 1659     { typedef _Tp&&   type; };