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