Home | History | Annotate | Download | only in forwardlist.spec
      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 // <forward_list>
     11 
     12 // template <class T, class Allocator>
     13 //     bool operator< (const forward_list<T, Allocator>& x,
     14 //                     const forward_list<T, Allocator>& y);
     15 //
     16 // template <class T, class Allocator>
     17 //     bool operator> (const forward_list<T, Allocator>& x,
     18 //                     const forward_list<T, Allocator>& y);
     19 //
     20 // template <class T, class Allocator>
     21 //     bool operator>=(const forward_list<T, Allocator>& x,
     22 //                     const forward_list<T, Allocator>& y);
     23 //
     24 // template <class T, class Allocator>
     25 //     bool operator<=(const forward_list<T, Allocator>& x,
     26 //                     const forward_list<T, Allocator>& y);
     27 
     28 #include <forward_list>
     29 #include <iterator>
     30 #include <algorithm>
     31 #include <cassert>
     32 
     33 #include "test_macros.h"
     34 #include "min_allocator.h"
     35 
     36 template <class C>
     37 void test(int N, int M)
     38 {
     39     C c1;
     40     for (int i = 0; i < N; ++i)
     41         c1.push_front(i);
     42     C c2;
     43     for (int i = 0; i < M; ++i)
     44         c2.push_front(i);
     45     if (N < M)
     46         assert(c1 < c2);
     47     if (N <= M)
     48         assert(c1 <= c2);
     49     if (N >= M)
     50         assert(c1 >= c2);
     51     if (N > M)
     52         assert(c1 > c2);
     53 }
     54 
     55 int main()
     56 {
     57     for (int i = 0; i < 10; ++i)
     58         for (int j = 0; j < 10; ++j)
     59             test<std::forward_list<int> >(i, j);
     60 #if TEST_STD_VER >= 11
     61     for (int i = 0; i < 10; ++i)
     62         for (int j = 0; j < 10; ++j)
     63             test<std::forward_list<int, min_allocator<int>> >(i, j);
     64 #endif
     65 }
     66