ブースト侵入リストで使用できるように、ブーストCNode
を継承するクラスがあります。list_base_hook
class CNode
//Base hook with default tag, raw pointers and safe_link mode
:public list_base_hook<>
{
// Suppose the linked pointers inherited from list_base_hook
// are "m_prev", "m_next".
};
ノードがリストからポップされると、別の FIFO にプッシュされます。その FIFO は を再利用して、シングル リーダー シングル ライター スレッド セーフ セマンティクスを実装しながらノードをリンクすることを計画してm_prev
いm_next
ます。
私のFIFOで:
class CFIFO
{
public:
void push_back(CNode *node)
{
// Is there any way to update the "m_next"/"m_prev" fields?
// SetNextLink is faked here..
m_tail->SetNextLink(node);
..
}
};
m_prev
のm_next
フィールドを取得する方法はありますCNode
か?