"Larry Evans" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...

[...]

> Only if you want to collect cycles or provide some other means for
> accessing the arcs in the pointer graph.  As a matter of fact, it may
> be better to do somewhat like shared_ptr does, i.e. instead of storing
> a ip_descriptor*, just store something like counted_base, where the
> actual instance is a derived class, counted_impl<T>, which knows the
> "real" type, T, of the object pointed to.

What about typeid(* m_ptr).name() which is also virtual and returns a real
compile-time id?

template <typename T>
    struct identifier
    {
        static type_info const value = typeid(T);
    };

template <typename T>
    type_info const identifier<T>::value;

...

template <typename T, typename U>
    bool compare()
    {
        return (& identifier<T>::value == & identifier<U>::value)
    }

...

compare<A, B>();



Philippe A. Bouchard




_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to