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

Declarations

tools/polly/lib/External/isl/include/isl/isl-noexceptions.h
  193 class pw_multi_aff;

References

tools/polly/include/polly/ScopInfo.h
  365   static const ScopArrayInfo *getFromAccessFunction(isl::pw_multi_aff PMA);
  823   isl::pw_multi_aff
 1703   using MinMaxAccessTy = std::pair<isl::pw_multi_aff, isl::pw_multi_aff>;
 1703   using MinMaxAccessTy = std::pair<isl::pw_multi_aff, isl::pw_multi_aff>;
tools/polly/lib/Analysis/ScopBuilder.cpp
 1161     auto PMA = isl::pw_multi_aff::project_out_map(S.get_space(), isl::dim::set,
 1161     auto PMA = isl::pw_multi_aff::project_out_map(S.get_space(), isl::dim::set,
 3230   isl::pw_multi_aff MinPMA, MaxPMA;
tools/polly/lib/Analysis/ScopInfo.cpp
  400 ScopArrayInfo::getFromAccessFunction(isl::pw_multi_aff PMA) {
  598 isl::pw_multi_aff
  607   return isl::pw_multi_aff::from_map(ScheduledAccRel);
tools/polly/lib/CodeGen/BlockGenerators.cpp
  677       isl::pw_multi_aff::from_map(Schedule.reverse());
tools/polly/lib/CodeGen/IslAst.cpp
  352   isl::pw_multi_aff AFirst = It0->first;
  353   isl::pw_multi_aff ASecond = It0->second;
  354   isl::pw_multi_aff BFirst = It1->first;
  355   isl::pw_multi_aff BSecond = It1->second;
  700       isl::pw_multi_aff Pwma = isl::manage(PwmaPtr);
tools/polly/lib/External/isl/include/isl/isl-noexceptions.h
  392   inline ast_expr access_from(pw_multi_aff pma) const;
  395   inline ast_expr call_from(pw_multi_aff pma) const;
  695   inline pw_multi_aff lexmin_pw_multi_aff() const;
 1298   static inline map from_pw_multi_aff(pw_multi_aff pma);
 1352   inline pw_multi_aff lexmax_pw_multi_aff() const;
 1354   inline pw_multi_aff lexmin_pw_multi_aff() const;
 1376   inline map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
 1378   inline map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
 1638   inline /* implicit */ multi_pw_aff(pw_multi_aff pma);
 1694   inline multi_pw_aff pullback(pw_multi_aff pma) const;
 1752   inline multi_union_pw_aff apply_pw_multi_aff(pw_multi_aff pma) const;
 1789   static inline multi_union_pw_aff pw_multi_aff_on_domain(union_set domain, pw_multi_aff pma);
 2018   inline pw_aff pullback(pw_multi_aff pma) const;
 2089 inline pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
 2090 inline pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
 2093   friend inline pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr);
 2094   friend inline pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr);
 2102   inline /* implicit */ pw_multi_aff(const pw_multi_aff &obj);
 2107   inline pw_multi_aff &operator=(pw_multi_aff obj);
 2107   inline pw_multi_aff &operator=(pw_multi_aff obj);
 2119   inline pw_multi_aff add(pw_multi_aff pma2) const;
 2119   inline pw_multi_aff add(pw_multi_aff pma2) const;
 2120   inline pw_multi_aff align_params(space model) const;
 2121   static inline pw_multi_aff alloc(set set, multi_aff maff);
 2122   inline pw_multi_aff coalesce() const;
 2125   inline pw_multi_aff drop_dims(isl::dim type, unsigned int first, unsigned int n) const;
 2126   inline pw_multi_aff drop_unused_params() const;
 2127   static inline pw_multi_aff empty(space space);
 2129   inline pw_multi_aff fix_si(isl::dim type, unsigned int pos, int value) const;
 2130   inline pw_multi_aff flat_range_product(pw_multi_aff pma2) const;
 2130   inline pw_multi_aff flat_range_product(pw_multi_aff pma2) const;
 2132   static inline pw_multi_aff from_domain(set set);
 2133   static inline pw_multi_aff from_map(map map);
 2134   static inline pw_multi_aff from_multi_pw_aff(multi_pw_aff mpa);
 2135   static inline pw_multi_aff from_set(set set);
 2143   inline pw_multi_aff gist(set set) const;
 2144   inline pw_multi_aff gist_params(set set) const;
 2147   static inline pw_multi_aff identity(space space);
 2148   inline pw_multi_aff intersect_domain(set set) const;
 2149   inline pw_multi_aff intersect_params(set set) const;
 2152   inline boolean is_equal(const pw_multi_aff &pma2) const;
 2153   static inline pw_multi_aff multi_val_on_domain(set domain, multi_val mv);
 2155   inline pw_multi_aff neg() const;
 2156   inline boolean plain_is_equal(const pw_multi_aff &pma2) const;
 2157   inline pw_multi_aff product(pw_multi_aff pma2) const;
 2157   inline pw_multi_aff product(pw_multi_aff pma2) const;
 2158   inline pw_multi_aff project_domain_on_params() const;
 2159   static inline pw_multi_aff project_out_map(space space, isl::dim type, unsigned int first, unsigned int n);
 2160   inline pw_multi_aff pullback(multi_aff ma) const;
 2161   inline pw_multi_aff pullback(pw_multi_aff pma2) const;
 2161   inline pw_multi_aff pullback(pw_multi_aff pma2) const;
 2162   static inline pw_multi_aff range_map(space space);
 2163   inline pw_multi_aff range_product(pw_multi_aff pma2) const;
 2163   inline pw_multi_aff range_product(pw_multi_aff pma2) const;
 2164   inline pw_multi_aff reset_tuple_id(isl::dim type) const;
 2165   inline pw_multi_aff reset_user() const;
 2166   inline pw_multi_aff scale_down_val(val v) const;
 2167   inline pw_multi_aff scale_multi_val(multi_val mv) const;
 2168   inline pw_multi_aff scale_val(val v) const;
 2169   inline pw_multi_aff set_dim_id(isl::dim type, unsigned int pos, id id) const;
 2170   inline pw_multi_aff set_pw_aff(unsigned int pos, pw_aff pa) const;
 2171   inline pw_multi_aff set_tuple_id(isl::dim type, id id) const;
 2172   inline pw_multi_aff sub(pw_multi_aff pma2) const;
 2172   inline pw_multi_aff sub(pw_multi_aff pma2) const;
 2173   inline pw_multi_aff subtract_domain(set set) const;
 2174   inline pw_multi_aff union_add(pw_multi_aff pma2) const;
 2174   inline pw_multi_aff union_add(pw_multi_aff pma2) const;
 2175   inline pw_multi_aff union_lexmax(pw_multi_aff pma2) const;
 2175   inline pw_multi_aff union_lexmax(pw_multi_aff pma2) const;
 2176   inline pw_multi_aff union_lexmin(pw_multi_aff pma2) const;
 2176   inline pw_multi_aff union_lexmin(pw_multi_aff pma2) const;
 2177   static inline pw_multi_aff zero(space space);
 2207   inline pw_multi_aff_list add(pw_multi_aff el) const;
 2211   inline stat foreach(const std::function<stat(pw_multi_aff)> &fn) const;
 2212   static inline pw_multi_aff_list from_pw_multi_aff(pw_multi_aff el);
 2213   inline pw_multi_aff get_at(int index) const;
 2214   inline pw_multi_aff get_pw_multi_aff(int index) const;
 2215   inline pw_multi_aff_list insert(unsigned int pos, pw_multi_aff el) const;
 2218   inline pw_multi_aff_list set_pw_multi_aff(int index, pw_multi_aff el) const;
 2695   static inline set from_pw_multi_aff(pw_multi_aff pma);
 2732   inline pw_multi_aff lexmax_pw_multi_aff() const;
 2734   inline pw_multi_aff lexmin_pw_multi_aff() const;
 2755   inline set preimage_pw_multi_aff(pw_multi_aff pma) const;
 3139   inline union_map preimage_domain_pw_multi_aff(pw_multi_aff pma) const;
 3142   inline union_map preimage_range_pw_multi_aff(pw_multi_aff pma) const;
 3341   inline /* implicit */ union_pw_multi_aff(pw_multi_aff pma);
 3360   inline union_pw_multi_aff add_pw_multi_aff(pw_multi_aff pma) const;
 3367   inline pw_multi_aff extract_pw_multi_aff(space space) const;
 3370   inline stat foreach_pw_multi_aff(const std::function<stat(pw_multi_aff)> &fn) const;
 3570   inline union_set preimage(pw_multi_aff pma) const;
 4537 ast_expr ast_build::access_from(pw_multi_aff pma) const
 4555 ast_expr ast_build::call_from(pw_multi_aff pma) const
 5853 pw_multi_aff basic_map::lexmin_pw_multi_aff() const
 8358 map map::from_pw_multi_aff(pw_multi_aff pma)
 8684 pw_multi_aff map::lexmax_pw_multi_aff() const
 8696 pw_multi_aff map::lexmin_pw_multi_aff() const
 8828 map map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
 8840 map map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
10000 multi_pw_aff::multi_pw_aff(pw_multi_aff pma)
10314 multi_pw_aff multi_pw_aff::pullback(pw_multi_aff pma) const
10553 multi_union_pw_aff multi_union_pw_aff::apply_pw_multi_aff(pw_multi_aff pma) const
10776 multi_union_pw_aff multi_union_pw_aff::pw_multi_aff_on_domain(union_set domain, pw_multi_aff pma)
11840 pw_aff pw_aff::pullback(pw_multi_aff pma) const
12149 pw_multi_aff manage(__isl_take isl_pw_multi_aff *ptr) {
12152 pw_multi_aff manage_copy(__isl_keep isl_pw_multi_aff *ptr) {
12160 pw_multi_aff::pw_multi_aff(const pw_multi_aff &obj)
12188 pw_multi_aff &pw_multi_aff::operator=(pw_multi_aff obj) {
12188 pw_multi_aff &pw_multi_aff::operator=(pw_multi_aff obj) {
12238 pw_multi_aff pw_multi_aff::add(pw_multi_aff pma2) const
12238 pw_multi_aff pw_multi_aff::add(pw_multi_aff pma2) const
12244 pw_multi_aff pw_multi_aff::align_params(space model) const
12250 pw_multi_aff pw_multi_aff::alloc(set set, multi_aff maff)
12256 pw_multi_aff pw_multi_aff::coalesce() const
12274 pw_multi_aff pw_multi_aff::drop_dims(isl::dim type, unsigned int first, unsigned int n) const
12280 pw_multi_aff pw_multi_aff::drop_unused_params() const
12286 pw_multi_aff pw_multi_aff::empty(space space)
12298 pw_multi_aff pw_multi_aff::fix_si(isl::dim type, unsigned int pos, int value) const
12304 pw_multi_aff pw_multi_aff::flat_range_product(pw_multi_aff pma2) const
12304 pw_multi_aff pw_multi_aff::flat_range_product(pw_multi_aff pma2) const
12324 pw_multi_aff pw_multi_aff::from_domain(set set)
12330 pw_multi_aff pw_multi_aff::from_map(map map)
12336 pw_multi_aff pw_multi_aff::from_multi_pw_aff(multi_pw_aff mpa)
12342 pw_multi_aff pw_multi_aff::from_set(set set)
12392 pw_multi_aff pw_multi_aff::gist(set set) const
12398 pw_multi_aff pw_multi_aff::gist_params(set set) const
12416 pw_multi_aff pw_multi_aff::identity(space space)
12422 pw_multi_aff pw_multi_aff::intersect_domain(set set) const
12428 pw_multi_aff pw_multi_aff::intersect_params(set set) const
12446 boolean pw_multi_aff::is_equal(const pw_multi_aff &pma2) const
12452 pw_multi_aff pw_multi_aff::multi_val_on_domain(set domain, multi_val mv)
12464 pw_multi_aff pw_multi_aff::neg() const
12470 boolean pw_multi_aff::plain_is_equal(const pw_multi_aff &pma2) const
12476 pw_multi_aff pw_multi_aff::product(pw_multi_aff pma2) const
12476 pw_multi_aff pw_multi_aff::product(pw_multi_aff pma2) const
12482 pw_multi_aff pw_multi_aff::project_domain_on_params() const
12488 pw_multi_aff pw_multi_aff::project_out_map(space space, isl::dim type, unsigned int first, unsigned int n)
12494 pw_multi_aff pw_multi_aff::pullback(multi_aff ma) const
12500 pw_multi_aff pw_multi_aff::pullback(pw_multi_aff pma2) const
12500 pw_multi_aff pw_multi_aff::pullback(pw_multi_aff pma2) const
12506 pw_multi_aff pw_multi_aff::range_map(space space)
12512 pw_multi_aff pw_multi_aff::range_product(pw_multi_aff pma2) const
12512 pw_multi_aff pw_multi_aff::range_product(pw_multi_aff pma2) const
12518 pw_multi_aff pw_multi_aff::reset_tuple_id(isl::dim type) const
12524 pw_multi_aff pw_multi_aff::reset_user() const
12530 pw_multi_aff pw_multi_aff::scale_down_val(val v) const
12536 pw_multi_aff pw_multi_aff::scale_multi_val(multi_val mv) const
12542 pw_multi_aff pw_multi_aff::scale_val(val v) const
12548 pw_multi_aff pw_multi_aff::set_dim_id(isl::dim type, unsigned int pos, id id) const
12554 pw_multi_aff pw_multi_aff::set_pw_aff(unsigned int pos, pw_aff pa) const
12560 pw_multi_aff pw_multi_aff::set_tuple_id(isl::dim type, id id) const
12566 pw_multi_aff pw_multi_aff::sub(pw_multi_aff pma2) const
12566 pw_multi_aff pw_multi_aff::sub(pw_multi_aff pma2) const
12572 pw_multi_aff pw_multi_aff::subtract_domain(set set) const
12578 pw_multi_aff pw_multi_aff::union_add(pw_multi_aff pma2) const
12578 pw_multi_aff pw_multi_aff::union_add(pw_multi_aff pma2) const
12584 pw_multi_aff pw_multi_aff::union_lexmax(pw_multi_aff pma2) const
12584 pw_multi_aff pw_multi_aff::union_lexmax(pw_multi_aff pma2) const
12590 pw_multi_aff pw_multi_aff::union_lexmin(pw_multi_aff pma2) const
12590 pw_multi_aff pw_multi_aff::union_lexmin(pw_multi_aff pma2) const
12596 pw_multi_aff pw_multi_aff::zero(space space)
12668 pw_multi_aff_list pw_multi_aff_list::add(pw_multi_aff el) const
12692 stat pw_multi_aff_list::foreach(const std::function<stat(pw_multi_aff)> &fn) const
12695     const std::function<stat(pw_multi_aff)> *func;
12706 pw_multi_aff_list pw_multi_aff_list::from_pw_multi_aff(pw_multi_aff el)
12712 pw_multi_aff pw_multi_aff_list::get_at(int index) const
12718 pw_multi_aff pw_multi_aff_list::get_pw_multi_aff(int index) const
12724 pw_multi_aff_list pw_multi_aff_list::insert(unsigned int pos, pw_multi_aff el) const
12742 pw_multi_aff_list pw_multi_aff_list::set_pw_multi_aff(int index, pw_multi_aff el) const
14805 set set::from_pw_multi_aff(pw_multi_aff pma)
15029 pw_multi_aff set::lexmax_pw_multi_aff() const
15041 pw_multi_aff set::lexmin_pw_multi_aff() const
15167 set set::preimage_pw_multi_aff(pw_multi_aff pma) const
16852 union_map union_map::preimage_domain_pw_multi_aff(pw_multi_aff pma) const
16870 union_map union_map::preimage_range_pw_multi_aff(pw_multi_aff pma) const
17679 union_pw_multi_aff::union_pw_multi_aff(pw_multi_aff pma)
17766 union_pw_multi_aff union_pw_multi_aff::add_pw_multi_aff(pw_multi_aff pma) const
17808 pw_multi_aff union_pw_multi_aff::extract_pw_multi_aff(space space) const
17826 stat union_pw_multi_aff::foreach_pw_multi_aff(const std::function<stat(pw_multi_aff)> &fn) const
17829     const std::function<stat(pw_multi_aff)> *func;
18745 union_set union_set::preimage(pw_multi_aff pma) const
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/std_function.h
   62     : std::unary_function<_T1, _Res> { };
  390     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
  595       _Res operator()(_ArgTypes... __args) const;
  628       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
  706       return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
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&>,
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  214       _T1 first;                 /// @c first is a copy of the first object
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  283 			    _T1, _T2>;
  311        constexpr pair(_U1&& __x, const _T2& __y)
  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)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  379 		__and_<is_copy_assignable<_T1>,
  380 		       is_copy_assignable<_T2>>::value,
  390 		__and_<is_move_assignable<_T1>,
  391 		       is_move_assignable<_T2>>::value,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  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&&>,
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  416 	operator=(pair<_U1, _U2>&& __p)
  524     make_pair(_T1&& __x, _T2&& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
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
 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>
 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; };
 1955     { typedef _Tp     type; };
 2104     { typedef typename remove_cv<_Up>::type __type; };
 2131       typedef _Tp __type;