$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
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'.