79 const char* test =
"NONE";
80 const char* problem =
"NONE";
82 const Array& const_a = a;
86 typedef typename Array::reference reference;
87 typedef typename Array::pointer pointer;
88 typedef typename Array::iterator iterator;
89 const iterator begin = a.begin(), end = a.end();
92 iterator iter = begin;
93 for(; iter != end; ++iter, ++index) {
94 reference ref = *iter;
95 const pointer ptr = &ref;
96 CHECK_TEST(ptr==&a[index],
"Iterator points to the wrong element (going forward)");
98 CHECK_TEST(index==a.
size(),
"Iteration covered the wrong number of elements (going forward)");
99 for(; iter != begin; --iter, --index) {
100 reference ref = *(iter-1);
101 const pointer ptr = &ref;
102 CHECK_TEST(ptr==&a[index-1],
"Iterator points to the wrong element (going backwards)");
104 CHECK_TEST(index==0,
"Iteration covered the wrong number of elements (going backward)");
108 typedef typename Array::const_reference reference;
109 typedef typename Array::const_pointer pointer;
110 typedef typename Array::const_iterator iterator;
111 const iterator begin = const_a.begin(), end = const_a.end();
112 CHECK_TEST(end-begin==const_a.size(),
"Distance != size");
114 iterator iter = begin;
115 for(; iter != end; ++iter, ++index) {
116 reference ref = *iter;
117 const pointer ptr = &ref;
118 CHECK_TEST(ptr==&const_a[index],
"Iterator points to the wrong element (going forward)");
120 CHECK_TEST(index==const_a.size(),
"Iteration covered the wrong number of elements (going forward)");
121 for(; iter != begin; --iter, --index) {
122 reference ref = *(iter-1);
123 const pointer ptr = &ref;
124 CHECK_TEST(ptr==&const_a[index-1],
"Iterator points to the wrong element (going backwards)");
126 CHECK_TEST(index==0,
"Iteration covered the wrong number of elements (going backward)");
131 typedef typename Array::reference reference;
132 typedef typename Array::pointer pointer;
133 typedef typename Array::reverse_iterator iterator;
134 const iterator begin = a.rbegin(), end = a.rend();
136 int index = a.
size();
137 iterator iter = begin;
138 for(; iter != end; ++iter, --index) {
139 reference ref = *iter;
140 const pointer ptr = &ref;
141 CHECK_TEST(ptr==&a[index-1],
"Iterator points to the wrong element (going forward)");
143 CHECK_TEST(index==0,
"Iteration covered the wrong number of elements (going forward)");
144 for(; iter != begin; --iter, ++index) {
145 reference ref = *(iter-1);
146 const pointer ptr = &ref;
147 CHECK_TEST(ptr==&a[index],
"Iterator points to the wrong element (going backwards)");
149 CHECK_TEST(index==a.
size(),
"Iteration covered the wrong number of elements (going backward)");
154 typedef typename Array::const_reference reference;
155 typedef typename Array::const_pointer pointer;
156 typedef typename Array::const_reverse_iterator iterator;
157 const iterator begin = const_a.rbegin(), end = const_a.rend();
158 CHECK_TEST(end-begin==const_a.size(),
"Distance != size");
159 int index = a.
size();
160 iterator iter = begin;
161 for(; iter != end; ++iter, --index) {
162 reference ref = *iter;
163 const pointer ptr = &ref;
164 CHECK_TEST(ptr==&const_a[index-1],
"Iterator points to the wrong element (going forward)");
166 CHECK_TEST(index==0,
"Iteration covered the wrong number of elements (going forward)");
167 for(; iter != begin; --iter, ++index) {
168 reference ref = *(iter-1);
169 const pointer ptr = &ref;
170 CHECK_TEST(ptr==&const_a[index],
"Iterator points to the wrong element (going backwards)");
172 CHECK_TEST(index==a.
size(),
"Iteration covered the wrong number of elements (going backward)");
178 olog <<
"FAILURE" << std::endl
179 <<
ind(1) <<
"Test: " << test << std::endl
180 <<
ind(1) <<
"Problem: " << problem << std::endl;