Hughes, James
2007-06-11 11:03:47 UTC
Hello all,
I'm trying to use bind to help with removeif in a std::map<string,
shared_ptr<something> >. I want to remove items where the shared_ptr
use_count is 1.
map<string, shared_ptr<data> > Fred;
RemoveIf(Fred.begin(),
Fred.end(),
boost::bind(std::equal_to<long>(),
1,
boost::bind(&map<string, shared_ptr<data>
However, I get a compile error on ::second not being a class or
namespace.
Anyone know how I should do this? I'm a beginner at boost::bind, so be
gentle....
James
This message (including any attachments) contains confidential
and/or proprietary information intended only for the addressee.
Any unauthorized disclosure, copying, distribution or reliance on
the contents of this information is strictly prohibited and may
constitute a violation of law. If you are not the intended
recipient, please notify the sender immediately by responding to
this e-mail, and delete the message from your system. If you
have any questions about this e-mail please notify the sender
immediately.
I'm trying to use bind to help with removeif in a std::map<string,
shared_ptr<something> >. I want to remove items where the shared_ptr
use_count is 1.
map<string, shared_ptr<data> > Fred;
RemoveIf(Fred.begin(),
Fred.end(),
boost::bind(std::equal_to<long>(),
1,
boost::bind(&map<string, shared_ptr<data>
::value_type::second::use_count, _1)
)However, I get a compile error on ::second not being a class or
namespace.
Anyone know how I should do this? I'm a beginner at boost::bind, so be
gentle....
James
This message (including any attachments) contains confidential
and/or proprietary information intended only for the addressee.
Any unauthorized disclosure, copying, distribution or reliance on
the contents of this information is strictly prohibited and may
constitute a violation of law. If you are not the intended
recipient, please notify the sender immediately by responding to
this e-mail, and delete the message from your system. If you
have any questions about this e-mail please notify the sender
immediately.