From 4956bdc4dab6ae4669989ee7395738212f103a86 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 6 Feb 2015 21:35:03 +0900 Subject: [PATCH] src: Use std::copy_n --- src/asio_http2_handler.h | 4 ++-- src/buffer.h | 2 +- src/h2load.cc | 4 ++-- src/memchunk.h | 5 +++-- src/util.cc | 8 ++++---- 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/asio_http2_handler.h b/src/asio_http2_handler.h index 50aa95d7..5dc71210 100644 --- a/src/asio_http2_handler.h +++ b/src/asio_http2_handler.h @@ -211,7 +211,7 @@ public: len = 0; if (buf_) { - std::copy(buf_, buf_ + buflen_, std::begin(buffer)); + std::copy_n(buf_, buflen_, std::begin(buffer)); len += buflen_; @@ -237,7 +237,7 @@ public: break; } - std::copy(data, data + nread, std::begin(buffer) + len); + std::copy_n(data, nread, std::begin(buffer) + len); len += nread; } diff --git a/src/buffer.h b/src/buffer.h index 96bf7cf7..e8c9a5e2 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -44,7 +44,7 @@ template struct Buffer { size_t write(const void *src, size_t count) { count = std::min(count, wleft()); auto p = static_cast(src); - last = std::copy(p, p + count, last); + last = std::copy_n(p, count, last); return count; } size_t write(size_t count) { diff --git a/src/h2load.cc b/src/h2load.cc index 73d431c7..d066fa3c 100644 --- a/src/h2load.cc +++ b/src/h2load.cc @@ -1204,8 +1204,8 @@ int main(int argc, char **argv) { auto proto_list = util::get_default_alpn(); #ifdef HAVE_SPDYLAY static const char spdy_proto_list[] = "\x8spdy/3.1\x6spdy/3\x6spdy/2"; - std::copy(spdy_proto_list, spdy_proto_list + sizeof(spdy_proto_list) - 1, - std::back_inserter(proto_list)); + std::copy_n(spdy_proto_list, sizeof(spdy_proto_list) - 1, + std::back_inserter(proto_list)); #endif // HAVE_SPDYLAY SSL_CTX_set_alpn_protos(ssl_ctx, proto_list.data(), proto_list.size()); #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L diff --git a/src/memchunk.h b/src/memchunk.h index 6df982cd..d2e7a6c7 100644 --- a/src/memchunk.h +++ b/src/memchunk.h @@ -33,6 +33,7 @@ #include #include #include +#include #include "template.h" @@ -134,7 +135,7 @@ template struct Memchunks { for (;;) { auto n = std::min(static_cast(last - first), tail->left()); - tail->last = std::copy(first, first + n, tail->last); + tail->last = std::copy_n(first, n, tail->last); first += n; len += n; if (first == last) { @@ -165,7 +166,7 @@ template struct Memchunks { auto n = std::min(static_cast(last - first), m->len()); assert(m->len()); - first = std::copy(m->pos, m->pos + n, first); + first = std::copy_n(m->pos, n, first); m->pos += n; len -= n; if (m->len() > 0) { diff --git a/src/util.cc b/src/util.cc index a00a7d69..f8f255fa 100644 --- a/src/util.cc +++ b/src/util.cc @@ -195,13 +195,13 @@ std::string http_date(time_t t) { auto p = std::begin(res); auto s = DAY_OF_WEEK[tms.tm_wday]; - p = std::copy(s, s + 3, p); + p = std::copy_n(s, 3, p); *p++ = ','; *p++ = ' '; p = cpydig(p, tms.tm_mday, 2); *p++ = ' '; s = MONTH[tms.tm_mon]; - p = std::copy(s, s + 3, p); + p = std::copy_n(s, 3, p); *p++ = ' '; p = cpydig(p, tms.tm_year + 1900, 4); *p++ = ' '; @@ -211,7 +211,7 @@ std::string http_date(time_t t) { *p++ = ':'; p = cpydig(p, tms.tm_sec, 2); s = " GMT"; - p = std::copy(s, s + 4, p); + p = std::copy_n(s, 4, p); return res; } @@ -234,7 +234,7 @@ std::string common_log_date(time_t t) { p = cpydig(p, tms.tm_mday, 2); *p++ = '/'; auto s = MONTH[tms.tm_mon]; - p = std::copy(s, s + 3, p); + p = std::copy_n(s, 3, p); *p++ = '/'; p = cpydig(p, tms.tm_year + 1900, 4); *p++ = ':';