From 88fbad7438e4eeae1523743b74548df07cd43402 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Sun, 17 Oct 2021 04:00:10 +0300 Subject: [PATCH] Remove Borland workarounds --- include/boost/container_hash/hash.hpp | 36 ++++------------------- include/boost/container_hash/hash_fwd.hpp | 25 ++++------------ 2 files changed, 10 insertions(+), 51 deletions(-) diff --git a/include/boost/container_hash/hash.hpp b/include/boost/container_hash/hash.hpp index 152fe1d..c041ca7 100644 --- a/include/boost/container_hash/hash.hpp +++ b/include/boost/container_hash/hash.hpp @@ -3,12 +3,12 @@ // Distributed under the Boost Software License, Version 1.0. // https://www.boost.org/LICENSE_1_0.txt -// Based on Peter Dimov's proposal -// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf -// issue 6.18. +// Based on Peter Dimov's proposal +// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf +// issue 6.18. // -// This also contains public domain code from MurmurHash. From the -// MurmurHash header: +// This also contains public domain code from MurmurHash. From the +// MurmurHash header: // MurmurHash3 was written by Austin Appleby, and is placed in the public // domain. The author hereby disclaims copyright to this source code. @@ -448,32 +448,6 @@ namespace boost } } -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) - template - inline std::size_t hash_range(T* first, T* last) - { - std::size_t seed = 0; - - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - - return seed; - } - - template - inline void hash_range(std::size_t& seed, T* first, T* last) - { - for(; first != last; ++first) - { - boost::hash hasher; - seed ^= hasher(*first) + 0x9e3779b9 + (seed<<6) + (seed>>2); - } - } -#endif - // // boost::hash // diff --git a/include/boost/container_hash/hash_fwd.hpp b/include/boost/container_hash/hash_fwd.hpp index dff947c..15d402f 100644 --- a/include/boost/container_hash/hash_fwd.hpp +++ b/include/boost/container_hash/hash_fwd.hpp @@ -1,23 +1,13 @@ - // Copyright 2005-2009 Daniel James. -// Distributed under the Boost Software License, Version 1.0. (See accompanying -// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// Copyright 2021 Peter Dimov. +// Distributed under the Boost Software License, Version 1.0. +// https://www.boost.org/LICENSE_1_0.txt -// Based on Peter Dimov's proposal -// http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1756.pdf -// issue 6.18. - -#if !defined(BOOST_FUNCTIONAL_HASH_FWD_HPP) +#ifndef BOOST_FUNCTIONAL_HASH_FWD_HPP #define BOOST_FUNCTIONAL_HASH_FWD_HPP -#include #include -#if defined(BOOST_HAS_PRAGMA_ONCE) -#pragma once -#endif - - namespace boost { template struct hash; @@ -29,11 +19,6 @@ namespace boost template std::size_t hash_unordered_range(It, It); template void hash_unordered_range(std::size_t&, It, It); - -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x551)) - template inline std::size_t hash_range(T*, T*); - template inline void hash_range(std::size_t&, T*, T*); -#endif } -#endif +#endif // #ifndef BOOST_FUNCTIONAL_HASH_FWD_HPP