diff options
Diffstat (limited to 'libs/container/test/slist_test.cpp')
-rw-r--r-- | libs/container/test/slist_test.cpp | 29 |
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()) |