Ticket #11832: doc_how_to_use.cpp

File doc_how_to_use.cpp, 706 bytes (added by Yaron Keren <yaron.keren@…>, 7 years ago)
Line 
1#include <boost/intrusive/list.hpp>
2#include <vector>
3#include <iostream>
4
5using namespace boost::intrusive;
6
7class MyClass : public list_base_hook<> {
8 int int_;
9
10public:
11 list_member_hook<> member_hook_;
12 MyClass(int i) : int_(i) {}
13};
14
15// Define a list that will store MyClass using the member hook
16typedef member_hook<MyClass, list_member_hook<>, &MyClass::member_hook_>
17 MemberOption;
18typedef list<MyClass, MemberOption> MemberList;
19
20int main() {
21 std::vector<MyClass> values;
22 values.push_back(MyClass(0));
23
24 MemberList memberlist;
25 memberlist.push_back(*values.begin());
26
27 std::cout << "values=" << &*values.begin() << " memberlist = " << &*memberlist.begin()
28 << "\n";
29}