diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e123e50..f4014ace 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ Version 178: +* Use static_cast instead + -------------------------------------------------------------------------------- Version 177: diff --git a/example/http/server/fast/fields_alloc.hpp b/example/http/server/fast/fields_alloc.hpp index 817498ba..e57fce74 100644 --- a/example/http/server/fast/fields_alloc.hpp +++ b/example/http/server/fast/fields_alloc.hpp @@ -27,13 +27,13 @@ struct static_pool char* end() { - return reinterpret_cast(this+1) + size_; + return reinterpret_cast(this + 1) + size_; } explicit static_pool(std::size_t size) : size_(size) - , p_(reinterpret_cast(this+1)) + , p_(reinterpret_cast(this + 1)) { } @@ -79,7 +79,7 @@ public: { if(--count_) return; - p_ = reinterpret_cast(this+1); + p_ = reinterpret_cast(this + 1); } }; diff --git a/include/boost/beast/core/buffers_to_string.hpp b/include/boost/beast/core/buffers_to_string.hpp index bf3d6415..1c70768e 100644 --- a/include/boost/beast/core/buffers_to_string.hpp +++ b/include/boost/beast/core/buffers_to_string.hpp @@ -49,7 +49,7 @@ buffers_to_string(ConstBufferSequence const& buffers) result.reserve(boost::asio::buffer_size(buffers)); for(boost::asio::const_buffer buffer : detail::buffers_range(buffers)) - result.append(reinterpret_cast< + result.append(static_cast< char const*>(buffer.data()), buffer.size()); return result; } diff --git a/include/boost/beast/core/detail/ostream.hpp b/include/boost/beast/core/detail/ostream.hpp index 8d6eb94f..6b921367 100644 --- a/include/boost/beast/core/detail/ostream.hpp +++ b/include/boost/beast/core/detail/ostream.hpp @@ -49,9 +49,7 @@ operator<<(std::ostream& os, buffers_helper const& v) { for(auto b : buffers_range(v.b_)) - os.write( - reinterpret_cast(b.data()), - b.size()); + os.write(static_cast(b.data()), b.size()); return os; } @@ -134,7 +132,7 @@ private: auto bs = buf_.prepare( read_size_or_throw(buf_, max_size)); auto const b = buffers_front(bs); - auto const p = reinterpret_cast(b.data()); + auto const p = static_cast(b.data()); this->setp(p, p + b.size() / sizeof(CharT) - 1); } @@ -213,7 +211,7 @@ private: auto bs = buf_.prepare( read_size_or_throw(buf_, max_size)); auto const b = buffers_front(bs); - auto const p = reinterpret_cast(b.data()); + auto const p = static_cast(b.data()); this->setp(p, p + b.size() / sizeof(CharT) - 1); } diff --git a/include/boost/beast/core/detail/sha1.hpp b/include/boost/beast/core/detail/sha1.hpp index 336da2a0..034fb9be 100644 --- a/include/boost/beast/core/detail/sha1.hpp +++ b/include/boost/beast/core/detail/sha1.hpp @@ -248,7 +248,7 @@ void update(sha1_context& ctx, void const* message, std::size_t size) noexcept { - auto p = reinterpret_cast< + auto p = static_cast< std::uint8_t const*>(message); for(;;) { @@ -298,7 +298,7 @@ finish(sha1_context& ctx, void* digest) noexcept for(std::size_t i = 0; i < sha1::DIGEST_BYTES/4; i++) { std::uint8_t* d = - reinterpret_cast(digest) + 4 * i; + static_cast(digest) + 4 * i; d[3] = ctx.digest[i] & 0xff; d[2] = (ctx.digest[i] >> 8) & 0xff; d[1] = (ctx.digest[i] >> 16) & 0xff; diff --git a/include/boost/beast/core/impl/file_posix.ipp b/include/boost/beast/core/impl/file_posix.ipp index c30a7d02..2370e35f 100644 --- a/include/boost/beast/core/impl/file_posix.ipp +++ b/include/boost/beast/core/impl/file_posix.ipp @@ -307,7 +307,7 @@ read(void* buffer, std::size_t n, error_code& ec) const } n -= result; nread += result; - buffer = reinterpret_cast(buffer) + result; + buffer = static_cast(buffer) + result; } return nread; } @@ -338,7 +338,7 @@ write(void const* buffer, std::size_t n, error_code& ec) } n -= result; nwritten += result; - buffer = reinterpret_cast(buffer) + result; + buffer = static_cast(buffer) + result; } return nwritten; } diff --git a/include/boost/beast/core/impl/file_win32.ipp b/include/boost/beast/core/impl/file_win32.ipp index c1b4cc6c..787b0781 100644 --- a/include/boost/beast/core/impl/file_win32.ipp +++ b/include/boost/beast/core/impl/file_win32.ipp @@ -311,7 +311,7 @@ read(void* buffer, std::size_t n, error_code& ec) return nread; n -= bytesRead; nread += bytesRead; - buffer = reinterpret_cast(buffer) + bytesRead; + buffer = static_cast(buffer) + bytesRead; } ec.assign(0, ec.category()); return nread; @@ -352,7 +352,7 @@ write(void const* buffer, std::size_t n, error_code& ec) return nwritten; n -= bytesWritten; nwritten += bytesWritten; - buffer = reinterpret_cast(buffer) + bytesWritten; + buffer = static_cast(buffer) + bytesWritten; } ec.assign(0, ec.category()); return nwritten; diff --git a/include/boost/beast/core/impl/flat_static_buffer.ipp b/include/boost/beast/core/impl/flat_static_buffer.ipp index 3d38b929..54bf2921 100644 --- a/include/boost/beast/core/impl/flat_static_buffer.ipp +++ b/include/boost/beast/core/impl/flat_static_buffer.ipp @@ -75,8 +75,7 @@ void flat_static_buffer_base:: reset_impl(void* p, std::size_t n) { - begin_ = - reinterpret_cast(p); + begin_ = static_cast(p); in_ = begin_; out_ = begin_; last_ = begin_; diff --git a/include/boost/beast/core/impl/multi_buffer.ipp b/include/boost/beast/core/impl/multi_buffer.ipp index e7ae541f..a6459d5f 100644 --- a/include/boost/beast/core/impl/multi_buffer.ipp +++ b/include/boost/beast/core/impl/multi_buffer.ipp @@ -117,7 +117,7 @@ public: data() const { return const_cast( - reinterpret_cast(this+1)); + reinterpret_cast(this + 1)); } }; diff --git a/include/boost/beast/core/impl/static_buffer.ipp b/include/boost/beast/core/impl/static_buffer.ipp index 2fdb2d9a..9615fb2d 100644 --- a/include/boost/beast/core/impl/static_buffer.ipp +++ b/include/boost/beast/core/impl/static_buffer.ipp @@ -24,7 +24,7 @@ namespace beast { inline static_buffer_base:: static_buffer_base(void* p, std::size_t size) - : begin_(reinterpret_cast(p)) + : begin_(static_cast(p)) , capacity_(size) { } @@ -131,7 +131,7 @@ void static_buffer_base:: reset(void* p, std::size_t size) { - begin_ = reinterpret_cast(p); + begin_ = static_cast(p); capacity_ = size; in_off_ = 0; in_size_ = 0; diff --git a/include/boost/beast/experimental/http/impl/icy_stream.ipp b/include/boost/beast/experimental/http/impl/icy_stream.ipp index 8e32dd0a..7ada8e41 100644 --- a/include/boost/beast/experimental/http/impl/icy_stream.ipp +++ b/include/boost/beast/experimental/http/impl/icy_stream.ipp @@ -129,7 +129,7 @@ buffer_shift(MutableBuffers const& out, ConstBuffers const& in) if(mb.size() >= cb.size()) { std::memmove( - reinterpret_cast( + static_cast( mb.data()) + mb.size() - cb.size(), cb.data(), cb.size()); @@ -143,7 +143,7 @@ buffer_shift(MutableBuffers const& out, ConstBuffers const& in) { std::memmove( mb.data(), - reinterpret_cast( + static_cast( cb.data()) + cb.size() - mb.size(), mb.size()); cb = boost::asio::const_buffer{ diff --git a/include/boost/beast/experimental/test/impl/stream.ipp b/include/boost/beast/experimental/test/impl/stream.ipp index ef32964c..db963ba0 100644 --- a/include/boost/beast/experimental/test/impl/stream.ipp +++ b/include/boost/beast/experimental/test/impl/stream.ipp @@ -124,7 +124,7 @@ str() const if(boost::asio::buffer_size(bs) == 0) return {}; auto const b = buffers_front(bs); - return {reinterpret_cast(b.data()), b.size()}; + return {static_cast(b.data()), b.size()}; } inline diff --git a/include/boost/beast/http/buffer_body.hpp b/include/boost/beast/http/buffer_body.hpp index 3ffe0a00..bd420d9f 100644 --- a/include/boost/beast/http/buffer_body.hpp +++ b/include/boost/beast/http/buffer_body.hpp @@ -131,7 +131,7 @@ struct buffer_body auto const bytes_transferred = buffer_copy(boost::asio::buffer( body_.data, body_.size), buffers); - body_.data = reinterpret_cast( + body_.data = static_cast( body_.data) + bytes_transferred; body_.size -= bytes_transferred; if(bytes_transferred == buffer_size(buffers)) diff --git a/include/boost/beast/http/impl/basic_parser.ipp b/include/boost/beast/http/impl/basic_parser.ipp index 39ad3cc6..7a460928 100644 --- a/include/boost/beast/http/impl/basic_parser.ipp +++ b/include/boost/beast/http/impl/basic_parser.ipp @@ -132,8 +132,7 @@ put(boost::asio::const_buffer const& buffer, { BOOST_ASSERT(state_ != state::complete); using boost::asio::buffer_size; - auto p = reinterpret_cast< - char const*>(buffer.data()); + auto p = static_cast(buffer.data()); auto n = buffer.size(); auto const p0 = p; auto const p1 = p0 + n; diff --git a/include/boost/beast/http/impl/write.ipp b/include/boost/beast/http/impl/write.ipp index 36a1ed49..bbada070 100644 --- a/include/boost/beast/http/impl/write.ipp +++ b/include/boost/beast/http/impl/write.ipp @@ -937,7 +937,7 @@ public: std::size_t bytes_transferred = 0; for(auto b : buffers_range(buffers)) { - os_.write(reinterpret_cast( + os_.write(static_cast( b.data()), b.size()); if(os_.fail()) return; diff --git a/include/boost/beast/http/string_body.hpp b/include/boost/beast/http/string_body.hpp index 89447e50..1e37aa0d 100644 --- a/include/boost/beast/http/string_body.hpp +++ b/include/boost/beast/http/string_body.hpp @@ -133,7 +133,7 @@ public: CharT* dest = &body_[size]; for(auto b : beast::detail::buffers_range(buffers)) { - Traits::copy(dest, reinterpret_cast< + Traits::copy(dest, static_cast< CharT const*>(b.data()), b.size()); dest += b.size(); } diff --git a/include/boost/beast/websocket/detail/frame.hpp b/include/boost/beast/websocket/detail/frame.hpp index c3bd1690..be79a8af 100644 --- a/include/boost/beast/websocket/detail/frame.hpp +++ b/include/boost/beast/websocket/detail/frame.hpp @@ -30,7 +30,7 @@ inline std::uint16_t big_uint16_to_native(void const* buf) { - auto const p = reinterpret_cast< + auto const p = static_cast< std::uint8_t const*>(buf); return (p[0]<<8) + p[1]; } @@ -39,7 +39,7 @@ inline std::uint64_t big_uint64_to_native(void const* buf) { - auto const p = reinterpret_cast< + auto const p = static_cast< std::uint8_t const*>(buf); return (static_cast(p[0])<<56) + @@ -56,7 +56,7 @@ inline std::uint32_t little_uint32_to_native(void const* buf) { - auto const p = reinterpret_cast< + auto const p = static_cast< std::uint8_t const*>(buf); return p[0] + @@ -69,7 +69,7 @@ inline void native_to_little_uint32(std::uint32_t v, void* buf) { - auto p = reinterpret_cast(buf); + auto p = static_cast(buf); p[0] = v & 0xff; p[1] = (v >> 8) & 0xff; p[2] = (v >> 16) & 0xff; diff --git a/include/boost/beast/websocket/detail/mask.hpp b/include/boost/beast/websocket/detail/mask.hpp index 2da2c9b4..9f43a578 100644 --- a/include/boost/beast/websocket/detail/mask.hpp +++ b/include/boost/beast/websocket/detail/mask.hpp @@ -53,7 +53,7 @@ mask_inplace(boost::asio::mutable_buffer& b, prepared_key& key) { auto n = b.size(); auto mask = key; // avoid aliasing - auto p = reinterpret_cast(b.data()); + auto p = static_cast(b.data()); while(n >= 4) { for(int i = 0; i < 4; ++i) diff --git a/include/boost/beast/websocket/detail/utf8_checker.hpp b/include/boost/beast/websocket/detail/utf8_checker.hpp index 42dbe135..63687587 100644 --- a/include/boost/beast/websocket/detail/utf8_checker.hpp +++ b/include/boost/beast/websocket/detail/utf8_checker.hpp @@ -89,7 +89,7 @@ write(ConstBufferSequence const& bs) static_assert(boost::asio::is_const_buffer_sequence::value, "ConstBufferSequence requirements not met"); for(auto b : beast::detail::buffers_range(bs)) - if(! write(reinterpret_cast< + if(! write(static_cast< std::uint8_t const*>(b.data()), b.size())) return false; diff --git a/include/boost/beast/zlib/detail/inflate_stream.hpp b/include/boost/beast/zlib/detail/inflate_stream.hpp index 4b40ae11..93dd5b11 100644 --- a/include/boost/beast/zlib/detail/inflate_stream.hpp +++ b/include/boost/beast/zlib/detail/inflate_stream.hpp @@ -264,11 +264,11 @@ inflate_stream:: doWrite(z_params& zs, Flush flush, error_code& ec) { ranges r; - r.in.first = reinterpret_cast< + r.in.first = static_cast< std::uint8_t const*>(zs.next_in); r.in.last = r.in.first + zs.avail_in; r.in.next = r.in.first; - r.out.first = reinterpret_cast< + r.out.first = static_cast< std::uint8_t*>(zs.next_out); r.out.last = r.out.first + zs.avail_out; r.out.next = r.out.first; diff --git a/test/beast/http/message_fuzz.hpp b/test/beast/http/message_fuzz.hpp index cbd1b084..56643735 100644 --- a/test/beast/http/message_fuzz.hpp +++ b/test/beast/http/message_fuzz.hpp @@ -509,7 +509,7 @@ public: ++it) { boost::asio::mutable_buffer b = *it; - auto p = reinterpret_cast(b.data()); + auto p = static_cast(b.data()); auto n = b.size(); while(n--) *p++ = static_cast(32 + rand(26+26+10+6)); @@ -533,7 +533,7 @@ public: ++it) { boost::asio::mutable_buffer b = *it; - auto p = reinterpret_cast(b.data()); + auto p = static_cast(b.data()); auto m = b.size(); while(m--) *p++ = static_cast(32 + rand(26+26+10+6)); diff --git a/test/bench/buffers/bench_buffers.cpp b/test/bench/buffers/bench_buffers.cpp index c6abd05a..f4d67e35 100644 --- a/test/bench/buffers/bench_buffers.cpp +++ b/test/bench/buffers/bench_buffers.cpp @@ -70,8 +70,8 @@ public: for(auto b : beast::detail::buffers_range(buffers)) { std::fill( - reinterpret_cast(b.data()), - reinterpret_cast(b.data()) + + static_cast(b.data()), + static_cast(b.data()) + b.size(), '\0'); n += b.size(); } diff --git a/test/bench/parser/nodejs_parser.hpp b/test/bench/parser/nodejs_parser.hpp index ada007f0..82dcd6a1 100644 --- a/test/bench/parser/nodejs_parser.hpp +++ b/test/bench/parser/nodejs_parser.hpp @@ -271,7 +271,7 @@ nodejs_basic_parser::write( for(auto buffer : beast::detail::buffers_range(buffers)) { auto const n = write( - reinterpret_cast(buffer.data()), + static_cast(buffer.data()), buffer.size(), ec); if(ec) return 0;