//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is dual licensed under the MIT and the University of Illinois Open // Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // list(const list& c); #include #include #include "DefaultOnly.h" #include "test_allocator.h" #include "min_allocator.h" int main() { { std::list l(3, 2); std::list l2 = l; assert(l2 == l); } { std::list > l(3, 2, test_allocator(5)); std::list > l2 = l; assert(l2 == l); assert(l2.get_allocator() == l.get_allocator()); } #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE { std::list > l(3, 2, other_allocator(5)); std::list > l2 = l; assert(l2 == l); assert(l2.get_allocator() == other_allocator(-2)); } #endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE #if __cplusplus >= 201103L { std::list> l(3, 2); std::list> l2 = l; assert(l2 == l); } { std::list > l(3, 2, min_allocator()); std::list > l2 = l; assert(l2 == l); assert(l2.get_allocator() == l.get_allocator()); } #endif }