I am using Fedora 9, gcc 4.3.0, and boost 1.38.0.
I get the following error when calling the destroyMessage function.
boost/intrusive/detail/utilities.hpp:421: void
boost::intrusive::detail::destructor_impl(Hook&,
boost::intrusive::detail::link_dispatch) [with Hook =
boost::intrusive::detail::generic_hook,
boost::intrusive::default_tag, safe_link, 1>]: Assertion `!hook.is_linked()'
failed.
class MessageHook : public boost::intrusive::list_base_hook<>{
public:
MessageHook(Message* msg)
: m_msg(msg) {};
Message* GetMsg() { return m_msg; }
private:
Message* m_msg;
};
class MessageFactory
{
public:
MessageFactory()
{
}
~MessageFactory()
{
}
...
virtual void destroyMessage( Message* msg )
{
MessageHook hook(msg);
m_message_list.push_back( hook );
}
private:
boost::intrusive::list<stockTraderMessageHook> m_message_list;
};
Thanks