forked from boostorg/container_hash
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
// Copyright Daniel James 2005-2006. Use, modification, and distribution are
|
// Copyright Daniel James 2005-2007. Use, modification, and distribution are
|
||||||
// subject to the Boost Software License, Version 1.0. (See accompanying
|
// subject to 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)
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
@@ -28,6 +28,11 @@
|
|||||||
#include <boost/type_traits/is_const.hpp>
|
#include <boost/type_traits/is_const.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(BOOST_MSVC)
|
||||||
|
# pragma warning(push)
|
||||||
|
# pragma warning(disable:4267)
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace boost
|
namespace boost
|
||||||
{
|
{
|
||||||
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
|
#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x551))
|
||||||
@@ -41,12 +46,13 @@ namespace boost
|
|||||||
std::size_t hash_value(long);
|
std::size_t hash_value(long);
|
||||||
std::size_t hash_value(unsigned long);
|
std::size_t hash_value(unsigned long);
|
||||||
|
|
||||||
#if defined(BOOST_MSVC) && defined(_WIN64)
|
#if BOOST_HAS_LONG_LONG && defined(_M_X64) && defined(_WIN64)
|
||||||
// On 64-bit windows std::size_t is a typedef for unsigned long long, which
|
// On 64-bit windows std::size_t is a typedef for unsigned long long, which
|
||||||
// isn't due to be supported until Boost 1.35. So add support here.
|
// isn't due to be supported until Boost 1.35. So add support here.
|
||||||
// (Technically, Boost.Hash isn't actually documented as supporting
|
// (Technically, Boost.Hash isn't actually documented as supporting
|
||||||
// std::size_t. But it would be pretty silly not to).
|
// std::size_t. But it would be pretty silly not to).
|
||||||
std::size_t hash_value(std::size_t);
|
std::size_t hash_value(long long);
|
||||||
|
std::size_t hash_value(unsigned long long);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !BOOST_WORKAROUND(__DMC__, <= 0x848)
|
#if !BOOST_WORKAROUND(__DMC__, <= 0x848)
|
||||||
@@ -116,7 +122,7 @@ namespace boost
|
|||||||
return static_cast<std::size_t>(v);
|
return static_cast<std::size_t>(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(_M_X64) && defined(_WIN64)
|
#if BOOST_HAS_LONG_LONG && defined(_M_X64) && defined(_WIN64)
|
||||||
inline std::size_t hash_value(long long v)
|
inline std::size_t hash_value(long long v)
|
||||||
{
|
{
|
||||||
return v;
|
return v;
|
||||||
@@ -588,5 +594,9 @@ namespace boost
|
|||||||
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
#endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(BOOST_MSVC)
|
||||||
|
# pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user