|
@@ -14,6 +14,7 @@
|
|
|
#include <vector>
|
|
|
#include <algorithm>
|
|
|
#include <cassert>
|
|
|
+#include <iostream>
|
|
|
|
|
|
#include "min_allocator.h"
|
|
|
#include "asan_testing.h"
|
|
@@ -23,7 +24,9 @@ bool is6(int x) { return x == 6; }
|
|
|
template <typename Vec>
|
|
|
void test ( Vec &v )
|
|
|
{
|
|
|
+ std::cout << "Size, cap: " << v.size() << " " << v.capacity() << std::endl;
|
|
|
v.assign(5, 6);
|
|
|
+ std::cout << "Size, cap: " << v.size() << " " << v.capacity() << std::endl;
|
|
|
assert(v.size() == 5);
|
|
|
assert(is_contiguous_container_asan_correct(v));
|
|
|
assert(std::all_of(v.begin(), v.end(), is6));
|
|
@@ -34,7 +37,8 @@ int main()
|
|
|
{
|
|
|
typedef std::vector<int> V;
|
|
|
V d1;
|
|
|
- V d2(10); // no reallocation during assign.
|
|
|
+ V d2;
|
|
|
+ d2.reserve(10); // no reallocation during assign.
|
|
|
test(d1);
|
|
|
test(d2);
|
|
|
}
|
|
@@ -43,7 +47,8 @@ int main()
|
|
|
{
|
|
|
typedef std::vector<int, min_allocator<int>> V;
|
|
|
V d1;
|
|
|
- V d2(10); // no reallocation during assign.
|
|
|
+ V d2;
|
|
|
+ d2.reserve(10); // no reallocation during assign.
|
|
|
test(d1);
|
|
|
test(d2);
|
|
|
}
|