Introducing allocator_traits and pointer_traits changes into several libraries.

[SVN r76107]
This commit is contained in:
Ion Gaztañaga
2011-12-22 20:15:57 +00:00
parent ca6c464bec
commit 7cb27130d4
145 changed files with 2554 additions and 2281 deletions

View File

@@ -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;