Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
File List
Globals
EXTERNAL_HEADERS
RSL
tests
regress
23.list.cons.stdcxx-268.cpp
Go to the documentation of this file.
1
27
#include <list>
28
#include <cassert>
29
30
static
int
throw_inx = -1;
31
32
class
ListItem
33
{
34
public
:
35
static
int
count_
;
36
37
void
test
()
38
{
39
if
(throw_inx ==
count_
)
40
throw
count_
;
41
42
++
count_
;
43
}
44
45
ListItem
() {
test
(); }
46
47
ListItem
(
const
ListItem
&) {
test
(); }
48
49
~ListItem
() { --
count_
; }
50
};
51
52
int
ListItem::count_
= 0;
53
54
55
int
main
()
56
{
57
typedef
std::list<ListItem> List;
58
ListItem
items [20];
59
List lst (20);
60
61
bool
thrown =
false
;
62
throw_inx = 10;
63
64
try
{
65
ListItem::count_
= 0;
66
List
test
(20);
67
}
catch
(...) {
68
thrown =
true
;
69
}
70
71
assert
(thrown);
72
assert
(0 ==
ListItem::count_
);
73
74
try
{
75
thrown =
false
;
76
ListItem::count_
= 0;
77
List
test
(20, items [0]);
78
}
catch
(...) {
79
thrown =
true
;
80
}
81
82
assert
(thrown);
83
assert
(0 ==
ListItem::count_
);
84
85
try
{
86
thrown =
false
;
87
ListItem::count_
= 0;
88
List
test
(items, items + 20);
89
}
catch
(...) {
90
thrown =
true
;
91
}
92
93
assert
(thrown);
94
assert
(0 ==
ListItem::count_
);
95
96
try
{
97
thrown =
false
;
98
ListItem::count_
= 0;
99
List
test
(lst.begin (), lst.end ());
100
}
catch
(...) {
101
thrown =
true
;
102
}
103
104
assert
(thrown);
105
assert
(0 ==
ListItem::count_
);
106
107
try
{
108
thrown =
false
;
109
ListItem::count_
= 0;
110
List
test
(lst);
111
}
catch
(...) {
112
thrown =
true
;
113
}
114
115
assert
(thrown);
116
assert
(0 ==
ListItem::count_
);
117
118
return
0;
119
}
main
int main()
Definition
23.list.cons.stdcxx-268.cpp:55
test
void test()
Definition
23.vector.modifiers.stdcxx-495.cpp:48
assert
#define assert(expr)
Definition
_cassert.h:40
ListItem
Definition
23.list.cons.stdcxx-268.cpp:33
ListItem::count_
static int count_
Definition
23.list.cons.stdcxx-268.cpp:35
ListItem::ListItem
ListItem()
Definition
23.list.cons.stdcxx-268.cpp:45
ListItem::~ListItem
~ListItem()
Definition
23.list.cons.stdcxx-268.cpp:49
ListItem::test
void test()
Definition
23.list.cons.stdcxx-268.cpp:37
ListItem::ListItem
ListItem(const ListItem &)
Definition
23.list.cons.stdcxx-268.cpp:47
Generated by
1.9.8