1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 // <list> 11 12 // void pop_front(); 13 14 #include <list> 15 #include <cassert> 16 17 #include "min_allocator.h" 18 19 int main() 20 { 21 { 22 int a[] = {1, 2, 3}; 23 std::list<int> c(a, a+3); 24 c.pop_front(); 25 assert(c == std::list<int>(a+1, a+3)); 26 c.pop_front(); 27 assert(c == std::list<int>(a+2, a+3)); 28 c.pop_front(); 29 assert(c.empty()); 30 } 31 #if __cplusplus >= 201103L 32 { 33 int a[] = {1, 2, 3}; 34 std::list<int, min_allocator<int>> c(a, a+3); 35 c.pop_front(); 36 assert((c == std::list<int, min_allocator<int>>(a+1, a+3))); 37 c.pop_front(); 38 assert((c == std::list<int, min_allocator<int>>(a+2, a+3))); 39 c.pop_front(); 40 assert(c.empty()); 41 } 42 #endif 43 } 44