Boost logo

Boost :

From: Jeff Flinn (TriumphSprint2000_at_[hidden])
Date: 2004-09-08 13:34:48


The following is invalid:

    namespace x
    {
      class y { ... };
    }

    BOOST_SHARED_POINTER_EXPORT( x::y )

Which requires something like:

    typedef x::y x_y;

    BOOST_SHARED_POINTER_EXPORT( x::y )

The following additional macro mimics some of the other export macros:

#define BOOST_SHARED_POINTER_EXPORT_GUID(T,N) \
    typedef boost::detail::sp_counted_base_impl< \
        T *, \
        boost::checked_deleter< T > \
> __shared_ptr_ ## N; \
    BOOST_CLASS_EXPORT(__shared_ptr_ ## N) \
    BOOST_CLASS_EXPORT(T) \
/**/

So this is valid:

BOOST_SHARED_POINTER_EXPORT_GUID( x::y, x_y );

Thoughts on adding this.

Thanks, Jeff


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk