
Hi, I am a newbie to Boost libraries and I have the following problem with Boost intrusive list: I have a Page class and I need to put its instances into an intrusive set. There is no problem and it is working fine. Beside that, I need every instance of this class had a member intrusive list containing other Pages. The source is as follows: struct pageTag; typedef link_mode<normal_link> NormalLinkMode; typedef set_base_hook<tag<pageTag>, NormalLinkMode> SetPageHook; typedef list_base_hook<tag<pageTag>, NormalLinkMode> ListPageHook; class Page : public ListPageHook, public SetPageHook { public: typedef set<Page, base_hook<SetPageHook>> PageSet; typedef list<Page, base_hook<ListPageHook>> PageList; Page(); ... friend bool operator< (const Page &a, const Page &b) { return a.fullPath < b.fullPath; } friend bool operator> (const Page &a, const Page &b) { return a.fullPath > b.fullPath; } friend bool operator== (const Page &a, const Page &b) { return a.fullPath < b.fullPath; } private: // some stuff here PageList links; /****************** THIS IS THE PROBLEM ************************* }; As I add the last line with the list, I get: "Error 1 error C2248: 'boost::intrusive::list_impl<Config>::list_impl' : cannot access private member declared in class 'boost::intrusive::list_impl<Config>' c:\program files\boost\boost_1_35_0\boost\intrusive\list.hpp 1434". Is there any problem with recursion in Boost intrusive containers? Thank you. Tomas