1 /*++
2 Copyright (c) 2006 Microsoft Corporation
3 
4 Module Name:
5 
6     list.cpp
7 
8 Abstract:
9 
10     <abstract>
11 
12 Author:
13 
14     Leonardo de Moura (leonardo) 2007-07-10.
15 
16 Revision History:
17 
18 --*/
19 #include "util/trace.h"
20 #include "util/util.h"
21 #include "util/region.h"
22 #include "util/list.h"
23 
tst1()24 static void tst1() {
25     region r;
26     list<int> * l1 = new (r) list<int>(10);
27     list<int> * l2 = new (r) list<int>(20, l1);
28     list<int> * l3 = new (r) list<int>(30);
29     list<int> * l4 = new (r) list<int>(40, l3);
30     ENSURE(append(r, l1, static_cast<list<int> *>(nullptr)) == l1);
31     ENSURE(append(r, l2, static_cast<list<int> *>(nullptr)) == l2);
32     ENSURE(append(r, static_cast<list<int> *>(nullptr), l2) == l2);
33     ENSURE(append(r, static_cast<list<int> *>(nullptr), static_cast<list<int> *>(nullptr)) == nullptr);
34     TRACE("list", display(tout, l2->begin(), l2->end()); tout << "\n";);
35     list<int> * l5 = append(r, l4, l2);
36     TRACE("list", display(tout, l5->begin(), l5->end()); tout << "\n";);
37     list<int> * l6 = append(r, l5, l5);
38     (void) l6;
39     TRACE("list", display(tout, l6->begin(), l6->end()); tout << "\n";);
40 }
41 
tst_list()42 void tst_list() {
43     tst1();
44 }
45 
46