From c02c20e27dc3ad76d7bf30f6a929858174cad04a Mon Sep 17 00:00:00 2001 From: Tushar Maheshwari Date: Sun, 16 Oct 2016 11:53:42 +0530 Subject: [PATCH 1/2] Replacing `for` loops with `std::copy_n` --- src/uvw/stream.hpp | 4 +--- src/uvw/udp.hpp | 5 ++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/uvw/stream.hpp b/src/uvw/stream.hpp index fd661f42..db7d60c2 100644 --- a/src/uvw/stream.hpp +++ b/src/uvw/stream.hpp @@ -118,9 +118,7 @@ class WriteReq final: public Request { bufs{new uv_buf_t[N], &deleter}, nbufs{N} { - for(std::size_t i = 0; i < N; ++i) { - bufs[i] = arr[i]; - } + std::copy_n(std::begin(arr), N, bufs.get()); } public: diff --git a/src/uvw/udp.hpp b/src/uvw/udp.hpp index 30fc60c9..44cd77f6 100644 --- a/src/uvw/udp.hpp +++ b/src/uvw/udp.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -72,9 +73,7 @@ class SendReq final: public Request { bufs{new uv_buf_t[N], &deleter}, nbufs{N} { - for(std::size_t i = 0; i < N; ++i) { - bufs[i] = arr[i]; - } + std::copy_n(std::begin(arr), N, bufs.get()); } public: From efc86768c9c2c44c78c2768dd5c8386be0a05041 Mon Sep 17 00:00:00 2001 From: Tushar Maheshwari Date: Sun, 16 Oct 2016 12:14:56 +0530 Subject: [PATCH 2/2] Fix code coverage for loop --- test/uvw/loop.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/uvw/loop.cpp b/test/uvw/loop.cpp index 805839e3..051839f9 100644 --- a/test/uvw/loop.cpp +++ b/test/uvw/loop.cpp @@ -2,7 +2,7 @@ #include -TEST(Loop, PartiallyDone) { +TEST(Loop, DefaultLoop) { auto def = uvw::Loop::getDefault(); ASSERT_TRUE(static_cast(def)); @@ -11,6 +11,13 @@ TEST(Loop, PartiallyDone) { def->walk([](uvw::BaseHandle &) { FAIL(); }); + auto def2 = uvw::Loop::getDefault(); + ASSERT_EQ(def, def2); +} + + +TEST(Loop, PartiallyDone) { + auto loop = uvw::Loop::create(); auto handle = loop->resource(); auto req = loop->resource([]{});