static const extended_type_info *
    get_derived_extended_type_info(const T & t){
        // note: this implementation - based on usage of typeid (rtti)
        // only works if the class has at least one virtual function.
//      BOOST_STATIC_WARNING(
//          static_cast<bool>(is_polymorphic::value)
//      );
        detail::extended_type_info_typeid_arg etia(typeid(t));
        return extended_type_info::find(& etia);
    }
Пример #2
0
BOOST_SERIALIZATION_DECL const extended_type_info *
extended_type_info_typeid_0::get_extended_type_info(
    const std::type_info & ti
) const {
    typeid_system::extended_type_info_typeid_arg etia(ti);
    const tkmap & t = singleton<tkmap>::get_const_instance();
    const tkmap::const_iterator it = t.find(& etia);
    if(t.end() == it)
        return NULL;
    return *(it);
}