mirror of
https://github.com/boostorg/interprocess.git
synced 2026-01-19 04:12:13 +00:00
Introducing allocator_traits and pointer_traits changes into several libraries.
[SVN r76107]
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
#include <boost/interprocess/containers/list.hpp>
|
||||
#include <boost/interprocess/containers/set.hpp>
|
||||
#include <boost/interprocess/containers/vector.hpp>
|
||||
#include <boost/interprocess/containers/string.hpp>
|
||||
#include <boost/interprocess/smart_ptr/deleter.hpp>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
@@ -70,14 +69,14 @@ int main()
|
||||
|
||||
//Test some copy constructors
|
||||
my_unique_ptr_class my_ptr3(0, segment.get_deleter<MyClass>());
|
||||
my_unique_ptr_class my_ptr4(boost::interprocess::move(my_ptr3));
|
||||
my_unique_ptr_class my_ptr4(boost::move(my_ptr3));
|
||||
|
||||
//Construct a list and fill
|
||||
MyList list(segment.get_segment_manager());
|
||||
|
||||
//Insert from my_unique_ptr_class
|
||||
list.push_front(boost::interprocess::move(my_ptr));
|
||||
list.push_back(boost::interprocess::move(my_ptr2));
|
||||
list.push_front(boost::move(my_ptr));
|
||||
list.push_back(boost::move(my_ptr2));
|
||||
|
||||
//Check pointers
|
||||
assert(my_ptr.get() == 0);
|
||||
@@ -90,8 +89,8 @@ int main()
|
||||
MySet set(set_less_t(), segment.get_segment_manager());
|
||||
|
||||
//Insert in set from list passing ownership
|
||||
set.insert(boost::interprocess::move(*list.begin()));
|
||||
set.insert(boost::interprocess::move(*list.rbegin()));
|
||||
set.insert(boost::move(*list.begin()));
|
||||
set.insert(boost::move(*list.rbegin()));
|
||||
|
||||
//Check pointers
|
||||
assert(list.begin()->get() == 0);
|
||||
@@ -113,12 +112,12 @@ int main()
|
||||
|
||||
//Insert from my_unique_ptr_class
|
||||
if(ptr1 < ptr2){
|
||||
vector.insert(vector.begin(), boost::interprocess::move(*set.begin()));
|
||||
vector.insert(vector.end(), boost::interprocess::move(*set.rbegin()));
|
||||
vector.insert(vector.begin(), boost::move(*set.begin()));
|
||||
vector.insert(vector.end(), boost::move(*set.rbegin()));
|
||||
}
|
||||
else{
|
||||
vector.insert(vector.begin(), boost::interprocess::move(*set.rbegin()));
|
||||
vector.insert(vector.end(), boost::interprocess::move(*set.begin()));
|
||||
vector.insert(vector.begin(), boost::move(*set.rbegin()));
|
||||
vector.insert(vector.end(), boost::move(*set.begin()));
|
||||
}
|
||||
|
||||
//Check pointers
|
||||
@@ -127,14 +126,14 @@ int main()
|
||||
assert(vector.begin()->get() == ptr1);
|
||||
assert(vector.rbegin()->get() == ptr2);
|
||||
|
||||
MyVector vector2(boost::interprocess::move(vector));
|
||||
MyVector vector2(boost::move(vector));
|
||||
vector2.swap(vector);
|
||||
|
||||
assert(vector.begin()->get() == ptr1);
|
||||
assert(vector.rbegin()->get() == ptr2);
|
||||
|
||||
my_unique_ptr_class a(0, segment.get_deleter<MyClass>()), b(0, segment.get_deleter<MyClass>());
|
||||
a = boost::interprocess::move(b);
|
||||
a = boost::move(b);
|
||||
}
|
||||
shared_memory_object::remove(process_name.c_str());
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user