@@ -20,37 +20,31 @@ struct SC::SmallVectorTest : public SC::TestCase
20
20
SC_TEST_EXPECT (vec.shrink_to_fit ());
21
21
SC_TEST_EXPECT (vec.capacity () == 3 );
22
22
SC_TEST_EXPECT (vec.size () == 2 );
23
- SC_TEST_EXPECT (vec.isInlineBuffer ());
23
+ SC_TEST_EXPECT (vec.isInline ());
24
24
}
25
25
if (test_section (" resize stack heap" ))
26
26
{
27
27
SmallVector<int , 3 > vec;
28
28
SC_TEST_EXPECT (vec.resize (3 ));
29
- auto * header = vec.getHeader ();
30
- SC_TEST_EXPECT (vec.isInlineBuffer ());
31
- SC_TEST_EXPECT (not header->restoreInlineBuffer );
29
+ SC_TEST_EXPECT (vec.isInline ());
32
30
SC_TEST_EXPECT (vec.resize (4 ));
33
- header = vec.getHeader ();
34
- SC_TEST_EXPECT (not vec.isInlineBuffer ());
35
- SC_TEST_EXPECT (header->restoreInlineBuffer );
31
+ SC_TEST_EXPECT (not vec.isInline ());
36
32
SC_TEST_EXPECT (vec.resize (3 ));
37
33
SC_TEST_EXPECT (vec.shrink_to_fit ());
38
- header = vec.getHeader ();
39
- SC_TEST_EXPECT (vec.isInlineBuffer ());
40
- SC_TEST_EXPECT (not header->restoreInlineBuffer );
34
+ SC_TEST_EXPECT (vec.isInline ());
41
35
}
42
36
if (test_section (" construction copy stack" ))
43
37
{
44
38
SmallVector<int , 3 > vec2;
45
39
{
46
40
SmallVector<int , 3 > vec;
47
41
addItems (vec, 3 );
48
- SC_TEST_EXPECT (vec.isInlineBuffer () and vec.size () == 3 );
42
+ SC_TEST_EXPECT (vec.isInline () and vec.size () == 3 );
49
43
SC_TEST_EXPECT (vec.push_back (3 ));
50
- SC_TEST_EXPECT (not vec.isInlineBuffer ());
44
+ SC_TEST_EXPECT (not vec.isInline ());
51
45
SC_TEST_EXPECT (vec.pop_back ());
52
46
SC_TEST_EXPECT (vec.shrink_to_fit ());
53
- SC_TEST_EXPECT (vec.isInlineBuffer () and vec.size () == 3 );
47
+ SC_TEST_EXPECT (vec.isInline () and vec.size () == 3 );
54
48
vec2 = vec;
55
49
}
56
50
SC_TEST_EXPECT (vec2.size () == 3 );
@@ -65,11 +59,9 @@ struct SC::SmallVectorTest : public SC::TestCase
65
59
SC_TEST_EXPECT (vec.size () == 4 );
66
60
vec2 = vec;
67
61
}
68
- auto * vec2Header = vec2.getHeader ();
69
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
70
- SC_TEST_EXPECT (vec2Header->restoreInlineBuffer );
62
+ SC_TEST_EXPECT (not vec2.isInline ());
71
63
SC_TEST_EXPECT (vec2.size () == 4 );
72
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
64
+ SC_TEST_EXPECT (not vec2.isInline ());
73
65
checkItems (vec2, 4 );
74
66
}
75
67
if (test_section (" construction move SmallVector(stack)->Vector" ))
@@ -81,148 +73,125 @@ struct SC::SmallVectorTest : public SC::TestCase
81
73
SC_TEST_EXPECT (vec.size () == 3 );
82
74
vec2 = move (vec);
83
75
}
84
- auto * vec2Header = vec2.getHeader ();
85
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
86
- SC_TEST_EXPECT (not vec2Header->restoreInlineBuffer );
76
+ SC_TEST_EXPECT (not vec2.isInline ());
87
77
checkItems (vec2, 3 );
88
78
}
89
79
if (test_section (" construction move SmallVector(heap)->Vector" ))
90
80
{
91
- Vector<int > vec2 ;
81
+ Vector<int > vec4 ;
92
82
{
93
- SmallVector<int , 3 > vec;
94
- auto * vec1Header = vec.getHeader ();
95
- addItems (vec, 4 );
96
- SC_TEST_EXPECT (vec.size () == 4 );
83
+ SmallVector<int , 3 > smallVec3;
84
+ addItems (smallVec3, 4 );
85
+ SC_TEST_EXPECT (smallVec3.size () == 4 );
97
86
98
- vec2 = move (vec);
99
- SC_TEST_EXPECT (vec.data () != nullptr );
100
- auto * vec1Header2 = vec.getHeader ();
101
- SC_TEST_EXPECT (vec1Header2 == vec1Header);
102
- SC_TEST_EXPECT (vec.isInlineBuffer ());
103
- SC_TEST_EXPECT (vec1Header2->capacityBytes == 3 * sizeof (int ));
87
+ vec4 = move (smallVec3);
88
+ SC_TEST_EXPECT (smallVec3.data () != nullptr );
89
+ SC_TEST_EXPECT (smallVec3.isInline ());
90
+ SC_TEST_EXPECT (smallVec3.capacity () == 3 ); // restored initial capacity
104
91
}
105
- auto * vec2Header = vec2.getHeader ();
106
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
107
- SC_TEST_EXPECT (not vec2Header->restoreInlineBuffer );
108
- checkItems (vec2, 4 );
92
+ SC_TEST_EXPECT (not vec4.isInline ());
93
+ checkItems (vec4, 4 );
109
94
}
110
95
if (test_section (" construction move Vector->SmallVector(heap)" ))
111
96
{
112
- SmallVector<int , 3 > vec2 ;
97
+ SmallVector<int , 3 > smallVec3 ;
113
98
{
114
- Vector<int > vec ;
115
- addItems (vec , 4 );
116
- SC_TEST_EXPECT (vec .size () == 4 );
117
- vec2 = move (vec );
118
- SC_TEST_EXPECT (vec .data () == nullptr );
99
+ Vector<int > vec4 ;
100
+ addItems (vec4 , 4 );
101
+ SC_TEST_EXPECT (vec4 .size () == 4 );
102
+ smallVec3 = move (vec4 );
103
+ SC_TEST_EXPECT (vec4 .data () == nullptr );
119
104
}
120
- auto * vec2Header = vec2.getHeader ();
121
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
122
- SC_TEST_EXPECT (vec2Header->restoreInlineBuffer );
123
- checkItems (vec2, 4 );
105
+ SC_TEST_EXPECT (not smallVec3.isInline ());
106
+ checkItems (smallVec3, 4 );
124
107
}
125
108
if (test_section (" construction move Vector->SmallVector(stack)" ))
126
109
{
127
- SmallVector<int , 3 > vec2 ;
110
+ SmallVector<int , 3 > smallVec3 ;
128
111
{
129
- Vector<int > vec ;
130
- addItems (vec , 3 );
131
- SC_TEST_EXPECT (vec .size () == 3 );
132
- vec2 = move (vec );
133
- SC_TEST_EXPECT (vec .data () == nullptr );
112
+ Vector<int > vec3 ;
113
+ addItems (vec3 , 3 );
114
+ SC_TEST_EXPECT (vec3 .size () == 3 );
115
+ smallVec3 = move (vec3 );
116
+ SC_TEST_EXPECT (vec3 .data () == nullptr );
134
117
}
135
- auto * vec2Header = vec2.getHeader ();
136
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
137
- SC_TEST_EXPECT (vec2Header->restoreInlineBuffer );
138
- SC_TEST_EXPECT (vec2.size () == 3 );
139
- checkItems (vec2, 3 );
118
+ SC_TEST_EXPECT (not smallVec3.isInline ());
119
+ SC_TEST_EXPECT (smallVec3.size () == 3 );
120
+ checkItems (smallVec3, 3 );
140
121
}
141
122
if (test_section (" construction move SmallVector(stack)->SmallVector(stack)" ))
142
123
{
143
- SmallVector<int , 3 > vec2 ;
124
+ SmallVector<int , 3 > smallVec3A ;
144
125
{
145
- SmallVector<int , 3 > vec ;
146
- addItems (vec , 3 );
147
- SC_TEST_EXPECT (vec .size () == 3 );
148
- vec2 = move (vec );
126
+ SmallVector<int , 3 > smallVec3B ;
127
+ addItems (smallVec3B , 3 );
128
+ SC_TEST_EXPECT (smallVec3B .size () == 3 );
129
+ smallVec3A = move (smallVec3B );
149
130
#ifndef __clang_analyzer__
150
- SC_TEST_EXPECT (vec .size () == 0 );
131
+ SC_TEST_EXPECT (smallVec3B .size () == 0 );
151
132
#endif // not __clang_analyzer__
152
- SC_TEST_EXPECT (vec2.size () == 3 );
153
- auto * vec1Header = vec.getHeader ();
154
- SC_TEST_EXPECT (vec1Header != nullptr );
133
+ SC_TEST_EXPECT (smallVec3A.size () == 3 );
155
134
#ifndef __clang_analyzer__
156
- SC_TEST_EXPECT (vec. isInlineBuffer ());
135
+ SC_TEST_EXPECT (smallVec3B. isInline ());
157
136
#endif // not __clang_analyzer__
158
137
}
159
- SC_TEST_EXPECT (vec2. isInlineBuffer ());
160
- checkItems (vec2 , 3 );
138
+ SC_TEST_EXPECT (smallVec3A. isInline ());
139
+ checkItems (smallVec3A , 3 );
161
140
}
162
141
if (test_section (" construction move SmallVector(heap)->SmallVector(stack)" ))
163
142
{
164
- SmallVector<int , 3 > vec2 ;
143
+ SmallVector<int , 3 > smallVec3A ;
165
144
{
166
- SmallVector<int , 3 > vec ;
167
- addItems (vec , 4 );
168
- SC_TEST_EXPECT (vec .size () == 4 );
169
- vec2 = move (vec );
145
+ SmallVector<int , 3 > smallVec3B ;
146
+ addItems (smallVec3B , 4 );
147
+ SC_TEST_EXPECT (smallVec3B .size () == 4 );
148
+ smallVec3A = move (smallVec3B );
170
149
#ifndef __clang_analyzer__
171
- SC_TEST_EXPECT (vec .size () == 0 );
150
+ SC_TEST_EXPECT (smallVec3B .size () == 0 );
172
151
#endif // not __clang_analyzer__
173
- SC_TEST_EXPECT (vec2.size () == 4 );
174
- auto * vec1Header = vec.getHeader ();
175
- SC_TEST_EXPECT (vec1Header != nullptr );
152
+ SC_TEST_EXPECT (smallVec3A.size () == 4 );
176
153
#ifndef __clang_analyzer__
177
- SC_TEST_EXPECT (vec. isInlineBuffer ());
154
+ SC_TEST_EXPECT (smallVec3B. isInline ());
178
155
#endif // not __clang_analyzer__
179
156
}
180
- auto * vec2Header = vec2.getHeader ();
181
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
182
- SC_TEST_EXPECT (vec2Header->restoreInlineBuffer );
183
- checkItems (vec2, 4 );
157
+ SC_TEST_EXPECT (not smallVec3A.isInline ());
158
+ checkItems (smallVec3A, 4 );
184
159
}
185
160
if (test_section (" construction move SmallVector(stack)->SmallVector(stack)" ))
186
161
{
187
- SmallVector<int , 3 > vec2 ;
162
+ SmallVector<int , 3 > smallVec3A ;
188
163
{
189
- SmallVector<int , 3 > vec ;
190
- addItems (vec , 3 );
191
- SC_TEST_EXPECT (vec .size () == 3 );
192
- vec2 = move (vec );
164
+ SmallVector<int , 3 > smallVec3B ;
165
+ addItems (smallVec3B , 3 );
166
+ SC_TEST_EXPECT (smallVec3B .size () == 3 );
167
+ smallVec3A = move (smallVec3B );
193
168
#ifndef __clang_analyzer__
194
- SC_TEST_EXPECT (vec .size () == 0 );
169
+ SC_TEST_EXPECT (smallVec3B .size () == 0 );
195
170
#endif // not __clang_analyzer__
196
- SC_TEST_EXPECT (vec2.size () == 3 );
197
- auto * vec1Header = vec.getHeader ();
198
- SC_TEST_EXPECT (vec1Header != nullptr );
171
+ SC_TEST_EXPECT (smallVec3A.size () == 3 );
199
172
#ifndef __clang_analyzer__
200
- SC_TEST_EXPECT (vec. isInlineBuffer ());
173
+ SC_TEST_EXPECT (smallVec3B. isInline ());
201
174
#endif // not __clang_analyzer__
202
175
}
203
- SC_TEST_EXPECT (vec2. isInlineBuffer ());
204
- checkItems (vec2 , 3 );
176
+ SC_TEST_EXPECT (smallVec3A. isInline ());
177
+ checkItems (smallVec3A , 3 );
205
178
}
206
179
if (test_section (" construction move SmallVector(heap)->SmallVector(stack)" ))
207
180
{
208
- SmallVector<int , 4 > vec2 ;
181
+ SmallVector<int , 4 > smallVec4 ;
209
182
{
210
- SmallVector<int , 3 > vec;
211
- addItems (vec, 4 );
212
- SC_TEST_EXPECT (vec.size () == 4 );
213
- vec2 = move (vec);
214
- SC_TEST_EXPECT (vec.size () == 0 );
215
- SC_TEST_EXPECT (vec2.size () == 4 );
216
- auto * vec1Header = vec.getHeader ();
217
- SC_TEST_EXPECT (vec1Header != nullptr );
183
+ SmallVector<int , 3 > smallVec3;
184
+ addItems (smallVec3, 4 );
185
+ SC_TEST_EXPECT (smallVec3.size () == 4 );
186
+ smallVec4 = move (smallVec3);
187
+ SC_TEST_EXPECT (smallVec3.size () == 0 );
188
+ SC_TEST_EXPECT (smallVec4.size () == 4 );
218
189
#ifndef __clang_analyzer__
219
- SC_TEST_EXPECT (vec. isInlineBuffer ());
190
+ SC_TEST_EXPECT (smallVec3. isInline ());
220
191
#endif // not __clang_analyzer__
221
192
}
222
- auto * vec2Header = vec2.getHeader ();
223
- SC_TEST_EXPECT (not vec2.isInlineBuffer ());
224
- SC_TEST_EXPECT (vec2Header->restoreInlineBuffer );
225
- checkItems (vec2, 4 );
193
+ SC_TEST_EXPECT (not smallVec4.isInline ());
194
+ checkItems (smallVec4, 4 );
226
195
}
227
196
if (test_section (" move operations" ))
228
197
{
0 commit comments