// file : odb/details/meta/polymorphic-p.hxx // copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC // license : GNU GPL v2; see accompanying LICENSE file #ifndef ODB_DETAILS_META_POLYMORPHIC_HXX #define ODB_DETAILS_META_POLYMORPHIC_HXX #include #include #include namespace odb { namespace details { namespace meta { template struct polymorphic_p { typedef typename remove_const_volatile::result X; template struct impl { static const bool result = false; }; template struct impl { struct t1: Y { t1 (); }; struct t2: Y { t2 (); virtual ~t2 () throw (); }; static const bool result = sizeof (t1) == sizeof (t2); }; static const bool result = impl::result>::result; }; } } } #include #endif // ODB_DETAILS_META_POLYMORPHIC_HXX