summaryrefslogtreecommitdiff
path: root/libs/container/test/slist_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/container/test/slist_test.cpp')
-rw-r--r--libs/container/test/slist_test.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/libs/container/test/slist_test.cpp b/libs/container/test/slist_test.cpp
index 6e7cda6e0..f73056ba2 100644
--- a/libs/container/test/slist_test.cpp
+++ b/libs/container/test/slist_test.cpp
@@ -59,7 +59,7 @@ public:
slist<recursive_slist> slist_;
slist<recursive_slist>::iterator it_;
slist<recursive_slist>::const_iterator cit_;
-
+
recursive_slist &operator=(const recursive_slist &o)
{ slist_ = o.slist_; return *this; }
};
@@ -121,7 +121,12 @@ bool test_support_for_initializer_list()
if(sl != expected_list)
return false;
}
-
+ {
+ slist<int> sl({ 1, 2 }, slist<int>::allocator_type());
+ sl = il;
+ if (sl != expected_list)
+ return false;
+ }
{
slist<int> sl = {4, 5};
sl.assign(il);
@@ -147,6 +152,24 @@ bool test_support_for_initializer_list()
return true;
}
+struct boost_container_slist;
+
+namespace boost {
+namespace container {
+namespace test {
+
+template<>
+struct alloc_propagate_base<boost_container_slist>
+{
+ template <class T, class Allocator>
+ struct apply
+ {
+ typedef boost::container::slist<T, Allocator> type;
+ };
+};
+
+}}}
+
int main ()
{
recursive_slist_test();
@@ -202,7 +225,7 @@ int main ()
////////////////////////////////////
// Allocator propagation testing
////////////////////////////////////
- if(!boost::container::test::test_propagate_allocator<slist>())
+ if(!boost::container::test::test_propagate_allocator<boost_container_slist>())
return 1;
if(!test_support_for_initializer_list())