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 NormalLinkMode;
typedef set_base_hook SetPageHook;
typedef list_base_hook ListPageHook;
class Page :
public ListPageHook,
public SetPageHook
{
public:
typedef set PageSet;
typedef list 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