{
throwCounter = 1000;
for (int i = 0; i < prepopulate; ++i) {
- vec.push_back(Thrower());
+ vec.emplace_back();
}
}
(TestBasicGuarantee(prepop))( // parens or a mildly vexing parse :(
1,
[&] (folly::small_vector<Thrower,3>& v) {
- v.push_back(Thrower());
+ v.emplace_back();
}
);
3,
[&] (folly::small_vector<Thrower,3>& v) {
std::vector<Thrower> b;
- b.push_back(Thrower());
- b.push_back(Thrower());
- b.push_back(Thrower());
+ b.emplace_back();
+ b.emplace_back();
+ b.emplace_back();
/*
* Apparently if you do the following initializer_list instead
[&] (folly::small_vector<Thrower,3>& v) {
std::vector<Thrower> b;
for (int i = 0; i < 6; ++i) {
- b.push_back(Thrower());
+ b.emplace_back();
}
v.insert(v.begin() + 1, b.begin(), b.end());