forked from boostorg/container_hash
Merge branch 'develop'
This commit is contained in:
23
CMakeLists.txt
Normal file
23
CMakeLists.txt
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Copyright 2018 Mike Dev
|
||||||
|
# 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
|
||||||
|
|
||||||
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
project(BoostContainerHash LANGUAGES CXX)
|
||||||
|
|
||||||
|
add_library(boost_container_hash INTERFACE)
|
||||||
|
add_library(Boost::container_hash ALIAS boost_container_hash)
|
||||||
|
|
||||||
|
target_include_directories(boost_container_hash INTERFACE include)
|
||||||
|
|
||||||
|
target_link_libraries(boost_container_hash
|
||||||
|
INTERFACE
|
||||||
|
Boost::assert
|
||||||
|
Boost::config
|
||||||
|
Boost::core
|
||||||
|
Boost::detail
|
||||||
|
Boost::integer
|
||||||
|
Boost::static_assert
|
||||||
|
Boost::type_traits
|
||||||
|
)
|
||||||
|
|
@@ -22,7 +22,6 @@
|
|||||||
#include <boost/detail/container_fwd.hpp>
|
#include <boost/detail/container_fwd.hpp>
|
||||||
#include <boost/core/enable_if.hpp>
|
#include <boost/core/enable_if.hpp>
|
||||||
#include <boost/static_assert.hpp>
|
#include <boost/static_assert.hpp>
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
#if !defined(BOOST_NO_CXX11_HDR_ARRAY)
|
#if !defined(BOOST_NO_CXX11_HDR_ARRAY)
|
||||||
# include <array>
|
# include <array>
|
||||||
@@ -71,56 +70,6 @@ namespace boost
|
|||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline std::size_t hash_range(
|
|
||||||
std::vector<bool>::iterator first,
|
|
||||||
std::vector<bool>::iterator last)
|
|
||||||
{
|
|
||||||
std::size_t seed = 0;
|
|
||||||
|
|
||||||
for(; first != last; ++first)
|
|
||||||
{
|
|
||||||
hash_combine<bool>(seed, *first);
|
|
||||||
}
|
|
||||||
|
|
||||||
return seed;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline std::size_t hash_range(
|
|
||||||
std::vector<bool>::const_iterator first,
|
|
||||||
std::vector<bool>::const_iterator last)
|
|
||||||
{
|
|
||||||
std::size_t seed = 0;
|
|
||||||
|
|
||||||
for(; first != last; ++first)
|
|
||||||
{
|
|
||||||
hash_combine<bool>(seed, *first);
|
|
||||||
}
|
|
||||||
|
|
||||||
return seed;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void hash_range(
|
|
||||||
std::size_t& seed,
|
|
||||||
std::vector<bool>::iterator first,
|
|
||||||
std::vector<bool>::iterator last)
|
|
||||||
{
|
|
||||||
for(; first != last; ++first)
|
|
||||||
{
|
|
||||||
hash_combine<bool>(seed, *first);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void hash_range(
|
|
||||||
std::size_t& seed,
|
|
||||||
std::vector<bool>::const_iterator first,
|
|
||||||
std::vector<bool>::const_iterator last)
|
|
||||||
{
|
|
||||||
for(; first != last; ++first)
|
|
||||||
{
|
|
||||||
hash_combine<bool>(seed, *first);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T, class A>
|
template <class T, class A>
|
||||||
std::size_t hash_value(std::vector<T, A> const& v)
|
std::size_t hash_value(std::vector<T, A> const& v)
|
||||||
{
|
{
|
||||||
|
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include <boost/container_hash/hash_fwd.hpp>
|
#include <boost/container_hash/hash_fwd.hpp>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
#include <iterator>
|
||||||
#include <boost/container_hash/detail/hash_float.hpp>
|
#include <boost/container_hash/detail/hash_float.hpp>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <boost/limits.hpp>
|
#include <boost/limits.hpp>
|
||||||
@@ -118,7 +119,7 @@ namespace boost
|
|||||||
{
|
{
|
||||||
namespace hash_detail
|
namespace hash_detail
|
||||||
{
|
{
|
||||||
#if defined(_HAS_AUTO_PTR_ETC) && !_HAS_AUTO_PTR_ETC
|
#if defined(BOOST_NO_CXX98_FUNCTION_BASE)
|
||||||
template <typename T>
|
template <typename T>
|
||||||
struct hash_base
|
struct hash_base
|
||||||
{
|
{
|
||||||
@@ -426,7 +427,7 @@ namespace boost
|
|||||||
|
|
||||||
for(; first != last; ++first)
|
for(; first != last; ++first)
|
||||||
{
|
{
|
||||||
hash_combine(seed, *first);
|
hash_combine<typename std::iterator_traits<It>::value_type>(seed, *first);
|
||||||
}
|
}
|
||||||
|
|
||||||
return seed;
|
return seed;
|
||||||
@@ -437,7 +438,7 @@ namespace boost
|
|||||||
{
|
{
|
||||||
for(; first != last; ++first)
|
for(; first != last; ++first)
|
||||||
{
|
{
|
||||||
hash_combine(seed, *first);
|
hash_combine<typename std::iterator_traits<It>::value_type>(seed, *first);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user