Boost logo

Boost Users :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2008-08-18 16:29:43


Alejandro Martinez:
> can i use some class's (a kind of factory) member be used as a deallocator
> in a shared_ptr?
>
> like to do something like this:
>
> boost::shared_ptr<mysqlpp::Connection> cp(sDbPool->grab(),
> boost::bind(&mysqlpp::ConnectionPool::release, sDbPool));
>
> where sDbPool is a shared_ptr to the "factory/pool manager".

Assuming

    void ConnectionPool::release( Connection * pc );

try

    boost::bind( &ConnectionPool::release, sDbPool, _1 );

shared_ptr passes the raw pointer to its deleter, and the _1 passes it as
the 'pc' parameter of 'release'. sDbPool is the implicit 'this'.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net