Ticket #9486: test-boost.cpp

File test-boost.cpp, 1.3 KB (added by anonymous, 9 years ago)
Line 
1#include <boost/interprocess/managed_shared_memory.hpp>
2#include <boost/multi_index_container.hpp>
3#include <boost/multi_index/composite_key.hpp>
4#include <boost/multi_index/hashed_index.hpp>
5#include <boost/multi_index/sequenced_index.hpp>
6#include <boost/multi_index/member.hpp>
7
8using namespace boost::multi_index;
9using namespace boost::interprocess;
10
11typedef struct element {
12 int a;
13 int b;
14 int c;
15 int d;
16} element_t;
17
18struct myIndex :
19 indexed_by<
20 hashed_unique<
21 composite_key<element,
22 member<element, int, &element::a>,
23 member<element, int, &element::b>,
24 member<element, int, &element::c> > >,
25 ordered_non_unique<
26 composite_key<element,
27 member<element, int, &element::b>,
28 member<element, int, &element::c> > >
29 > {};
30
31typedef multi_index_container<element,
32 myIndex,
33 allocator<element, managed_shared_memory::segment_manager>
34> myMap;
35
36int main(int argc, char **argv)
37{
38 element elem;
39 managed_shared_memory* segment;
40 segment = new managed_shared_memory(open_or_create, "test", 4096);
41 myMap *testMap = segment->find_or_construct<myMap>("test")(myMap::ctor_args_list(), segment->get_segment_manager());
42 testMap->insert(elem);
43 return 0;
44}