Boost logo

Boost Users :

Subject: Re: [Boost-users] [Q] does map.erase destroy shared_ptr ?
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2009-03-30 23:23:55


AMDG

V S P wrote:
> I am storing database streams as associated string tag
> as
> std::map< std::string, boost::shared_ptr<otl_stream> >
>
> once in a while I need to remove a stream based on the tag,
>
>
>
> so I do
>
> //find stream based on tag
> //close stream s->close
> //call map.erase
>
> can I expect that once I call map erase
> the destructor of the stream will get called?
>

You can expect the shared_ptr to be destroyed. Whether the
stream is destroyed depends on whether there are any other
shared_ptrs to it.

> (for some reason I do not see my trace statement of the destructor,
> but the stream destruction are unfamiliar code to me.. so I may be
> just doing something wrong).
>

In Christ,
Steven Watanabe


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