Lines Matching defs:Polymorphic
107 struct Polymorphic {
108 Polymorphic() noexcept(NoexceptConstructor) {}
109 virtual ~Polymorphic() noexcept(NoexceptDestructor) {}
112 static_assert(noexcept(typeid(Polymorphic<false, false>{}))); // Not evaluated (not glvalue)
113 static_assert(noexcept(typeid((Polymorphic<true, true>&&) Polymorphic<true, true>{})));
114 static_assert(!noexcept(typeid((Polymorphic<false, true>&&) Polymorphic<false, true>{})));
115 static_assert(!noexcept(typeid((Polymorphic<true, false>&&) Polymorphic<true, false>{})));
116 static_assert(!noexcept(typeid(*&(const Polymorphic<true, true>&) Polymorphic<true, true>{})));
117 static_assert(!noexcept(typeid(*&(const Polymorphic<false, true>&) Polymorphic<false, true>{})));
118 static_assert(!noexcept(typeid(*&(const Polymorphic<true, false>&) Polymorphic<true, false>{})));
128 // (it is true if T is int*, false if T is Polymorphic<false, false>* for example)
134 X<noexcept(typeid(*((static_cast<Polymorphic<false, false>*>(nullptr) && ... && T{}))))> dependent;
143 // X<true> when T is int, X<false> when T is Polymorphic<false, false>