Convert buffer in range loops

fix #485
This commit is contained in:
Vinnie Falco
2017-06-13 11:53:06 -07:00
parent 1037c5bfba
commit 82d76e4882
15 changed files with 20 additions and 13 deletions

View File

@@ -8,6 +8,7 @@ Version 56:
* Reset error codes
* More basic_parser tests
* Add an INTERFACE cmake target
* Convert buffer in range loops
--------------------------------------------------------------------------------

View File

@@ -34,6 +34,10 @@ else()
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wpedantic -Wno-unused-parameter")
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wrange-loop-analysis")
endif ()
endif()
#-------------------------------------------------------------------------------

View File

@@ -89,6 +89,7 @@ project beast
<toolset>clang:<cxxflags>-std=c++11
<toolset>clang:<cxxflags>-Wno-unused-parameter
<toolset>clang:<cxxflags>-Wno-unused-variable # Temporary until we can figure out -isystem
<toolset>clang:<cxxflags>-Wrange-loop-analysis
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1
<toolset>msvc:<cxxflags>"/wd4100 /wd4251 /bigobj"

View File

@@ -362,7 +362,7 @@ put(ConstBufferSequence const& buffers, error_code& ec)
{
// Loop over all the buffers in the sequence,
// and write each one to the file.
for(auto const& buffer : buffers)
for(boost::asio::const_buffer buffer : buffers)
{
// Write this buffer to the file
fwrite(

View File

@@ -124,7 +124,7 @@ public:
using boost::asio::buffer_cast;
auto const n = buffer_size(buffers);
str.reserve(str.size() + n);
for(auto const& buffer : buffers)
for(boost::asio::const_buffer buffer : buffers)
str.append(buffer_cast<char const*>(buffer),
buffer_size(buffer));
return n;

View File

@@ -99,7 +99,8 @@ public:
auto const n =
(std::min)(buffer_size(buffers), write_max_);
str.reserve(str.size() + n);
for(auto const& buffer : buffer_prefix(n, buffers))
for(boost::asio::const_buffer buffer :
buffer_prefix(n, buffers))
str.append(buffer_cast<char const*>(buffer),
buffer_size(buffer));
return n;

View File

@@ -45,7 +45,7 @@ operator<<(std::ostream& os,
{
using boost::asio::buffer_cast;
using boost::asio::buffer_size;
for(auto const& b : v.b_)
for(boost::asio::const_buffer b : v.b_)
os.write(buffer_cast<char const*>(b),
buffer_size(b));
return os;

View File

@@ -254,7 +254,7 @@ void
mask_inplace(
MutableBuffers const& bs, KeyType& key)
{
for(auto const& b : bs)
for(boost::asio::mutable_buffer b : bs)
mask_inplace(b, key);
}

View File

@@ -409,7 +409,7 @@ deflate(
zs.next_in = nullptr;
zs.avail_out = buffer_size(out);
zs.next_out = buffer_cast<void*>(out);
for(auto const& in : cb)
for(boost::asio::const_buffer in : cb)
{
zs.avail_in = buffer_size(in);
if(zs.avail_in == 0)

View File

@@ -132,7 +132,7 @@ write(ConstBufferSequence const& bs)
"ConstBufferSequence requirements not met");
using boost::asio::buffer_cast;
using boost::asio::buffer_size;
for(auto const& b : bs)
for(boost::asio::const_buffer b : bs)
if(! write(buffer_cast<std::uint8_t const*>(b),
buffer_size(b)))
return false;

View File

@@ -66,7 +66,7 @@ public:
std::size_t n = 0;
using boost::asio::buffer_cast;
using boost::asio::buffer_size;
for(auto const& buffer : buffers)
for(boost::asio::mutable_buffer buffer : buffers)
{
std::fill(
buffer_cast<char*>(buffer),

View File

@@ -98,7 +98,7 @@ public:
using boost::asio::buffer_size;
std::string s;
s.reserve(buffer_size(bs));
for(auto const& b : bs)
for(boost::asio::const_buffer b : bs)
s.append(buffer_cast<char const*>(b),
buffer_size(b));
return s;

View File

@@ -30,7 +30,7 @@ to_string(ConstBufferSequence const& bs)
using boost::asio::buffer_size;
std::string s;
s.reserve(buffer_size(bs));
for(auto const& b : bs)
for(boost::asio::const_buffer b : bs)
s.append(buffer_cast<char const*>(b),
buffer_size(b));
return s;

View File

@@ -500,7 +500,7 @@ public:
auto const len = rand(500);
ostream(db) <<
"Content-Length: " << len << "\r\n\r\n";
for(auto const& b : db.prepare(len))
for(boost::asio::mutable_buffer b : db.prepare(len))
{
auto p = boost::asio::buffer_cast<char*>(b);
auto n = boost::asio::buffer_size(b);
@@ -520,7 +520,7 @@ public:
len -= n;
ostream(db) <<
to_hex(n) << "\r\n";
for(auto const& b : db.prepare(n))
for(boost::asio::mutable_buffer b : db.prepare(n))
{
auto p = boost::asio::buffer_cast<char*>(b);
auto m = boost::asio::buffer_size(b);

View File

@@ -489,7 +489,7 @@ nodejs_basic_parser<Derived>::write(
using boost::asio::buffer_cast;
using boost::asio::buffer_size;
std::size_t bytes_used = 0;
for(auto const& buffer : buffers)
for(boost::asio::const_buffer buffer : buffers)
{
auto const n = write(
buffer_cast<void const*>(buffer),