Commit 16b7f862 authored by Praveen Kumar's avatar Praveen Kumar Committed by Sara Golemon

Using emplace_back to avoid temporary

Summary: Directly pass the arguments to respective constructors.
Instead of first making temporary and then pass that.

Closes #218

Reviewed By: @yfeldblum

Differential Revision: D2156978

Pulled By: @sgolemon
parent 9f376254
......@@ -1443,28 +1443,28 @@ class TestAcceptCallback : public AsyncServerSocket::AcceptCallback {
void connectionAccepted(int fd, const folly::SocketAddress& clientAddr)
noexcept {
events_.push_back(EventInfo(fd, clientAddr));
events_.emplace_back(fd, clientAddr);
if (connectionAcceptedFn_) {
connectionAcceptedFn_(fd, clientAddr);
}
}
void acceptError(const std::exception& ex) noexcept {
events_.push_back(EventInfo(ex.what()));
events_.emplace_back(ex.what());
if (acceptErrorFn_) {
acceptErrorFn_(ex);
}
}
void acceptStarted() noexcept {
events_.push_back(EventInfo(TYPE_START));
events_.emplace_back(TYPE_START);
if (acceptStartedFn_) {
acceptStartedFn_();
}
}
void acceptStopped() noexcept {
events_.push_back(EventInfo(TYPE_STOP));
events_.emplace_back(TYPE_STOP);
if (acceptStoppedFn_) {
acceptStoppedFn_();
......
......@@ -155,7 +155,7 @@ class TestHandler : public EventHandler {
bytesWritten = writeUntilFull(fd_);
}
log.push_back(EventRecord(events, bytesRead, bytesWritten));
log.emplace_back(events, bytesRead, bytesWritten);
}
struct EventRecord {
......@@ -648,7 +648,7 @@ class PartialReadHandler : public TestHandler {
virtual void handlerReady(uint16_t events) noexcept {
assert(events == EventHandler::READ);
ssize_t bytesRead = readFromFD(fd_, readLength_);
log.push_back(EventRecord(events, bytesRead, 0));
log.emplace_back(events, bytesRead, 0);
}
private:
......@@ -713,7 +713,7 @@ class PartialWriteHandler : public TestHandler {
virtual void handlerReady(uint16_t events) noexcept {
assert(events == EventHandler::WRITE);
ssize_t bytesWritten = writeToFD(fd_, writeLength_);
log.push_back(EventRecord(events, 0, bytesWritten));
log.emplace_back(events, 0, bytesWritten);
}
private:
......@@ -934,7 +934,7 @@ class ReschedulingTimeout : public AsyncTimeout {
}
virtual void timeoutExpired() noexcept {
timestamps.push_back(TimePoint());
timestamps.emplace_back();
reschedule();
}
......
......@@ -37,14 +37,14 @@ class TestTimeout : public HHWheelTimer::Callback {
}
void timeoutExpired() noexcept override {
timestamps.push_back(TimePoint());
timestamps.emplace_back();
if (fn) {
fn();
}
}
void callbackCanceled() noexcept override {
canceledTimestamps.push_back(TimePoint());
canceledTimestamps.emplace_back();
if (fn) {
fn();
}
......
......@@ -159,7 +159,7 @@ struct TestBasicGuarantee {
{
throwCounter = 1000;
for (int i = 0; i < prepopulate; ++i) {
vec.push_back(Thrower());
vec.emplace_back();
}
}
......@@ -203,7 +203,7 @@ TEST(small_vector, BasicGuarantee) {
(TestBasicGuarantee(prepop))( // parens or a mildly vexing parse :(
1,
[&] (folly::small_vector<Thrower,3>& v) {
v.push_back(Thrower());
v.emplace_back();
}
);
......@@ -232,9 +232,9 @@ TEST(small_vector, BasicGuarantee) {
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
......@@ -251,7 +251,7 @@ TEST(small_vector, BasicGuarantee) {
[&] (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());
......
......@@ -280,7 +280,7 @@ TEST(SortedVectorTypes, GrowthPolicy) {
std::list<CountCopyCtor> v;
for (int i = 0; i < 20; ++i) {
v.push_back(CountCopyCtor(20 + i));
v.emplace_back(20 + i);
}
a.insert(v.begin(), v.end());
check_invariant(a);
......
......@@ -27,7 +27,7 @@ class PriorityLifoSemMPMCQueue : public BlockingQueue<T> {
explicit PriorityLifoSemMPMCQueue(uint8_t numPriorities, size_t capacity) {
queues_.reserve(numPriorities);
for (int8_t i = 0; i < numPriorities; i++) {
queues_.push_back(MPMCQueue<T>(capacity));
queues_.emplace_back(capacity);
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment