Boost logo

Boost :

From: Thomas Matelich (sosedada_at_[hidden])
Date: 2000-08-30 12:45:43

I'll just reply to myself to try and clear some things up.

template <typename PluginBase>
class SOMEObject: public boost::shared_ptr<PluginBase>
    SOMEObject(const SOMEClassInfo&); //contains info on constructing the
plugin class
    SOMEObject(const SOMEObject<SOMEUnknownBase>&); //frequently used base
    template <typename Other>
    SOMEObject(const SOMEObject<Other>&);

    bool construct();

    //this works, should I put a BOOST_MSVC6_MEMBER_TEMPLATES here?
    template <typename Param1>
    bool construct(Param1&);
    //more construct funcs

I'm doing my main development work on MSVC, though this will need to be
*n*x portable. I changed the destructor for shared_ptr to virtual already
and things were going fine till I tried to build one with
SOMEObject<SOMEUnknownBase>. I had forgotten about sharing ownership.
Since I can't use shared_ptr's template constructor, I need access to
shared_ptr::share directly (and pn too, I've discovered). Hence my post.

I have no problem changing the name and making my own class (with
copyright of course), but I thought I'd see what your position was on

Also, where can I find Valentin's patches to use dynamic_cast? Right now,
I'm casting then share-ing if!=NULL.

Now, if it were changed to allow specification of a newer and a deleter,
all I would have to do it write the newer, interesting.


Thomas O Matelich
Senior Software Designer
Zetec, Inc.

Boost list run by bdawes at, gregod at, cpdaniel at, john at