From cf54677dac448084f38cf54d2596a2078492fce6 Mon Sep 17 00:00:00 2001 From: graehl Date: Fri, 13 Aug 2010 08:28:58 +0000 Subject: boost::hash git-svn-id: https://ws10smt.googlecode.com/svn/trunk@540 ec762483-ff6d-05da-a07a-a48fb63a330f --- utils/small_vector.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'utils/small_vector.h') diff --git a/utils/small_vector.h b/utils/small_vector.h index 8c1c3bfe..f1e53a51 100644 --- a/utils/small_vector.h +++ b/utils/small_vector.h @@ -252,13 +252,12 @@ public: swap_pod(*this,o); } - inline std::size_t hash() const { - using namespace boost; + inline std::size_t hash_impl() const { if (size_==0) return 0; - if (size_==1) return hash_value(data_.vals[0]); +// if (size_==1) return boost::hash_value(data_.vals[0]); if (size<= SV_MAX) - return hash_range(data_.vals,data_.vals+size_); - return hash_range(data_.ptr,data_.ptr+size_); + return boost::hash_range(data_.vals,data_.vals+size_); + return boost::hash_range(data_.ptr,data_.ptr+size_); } private: @@ -271,9 +270,13 @@ public: uint16_t capacity_; // only defined when size_ > __SV_MAX_STATIC }; +namespace boost { +// shouldn't need to nest this, but getting into trouble with tr1::hash linkage +} + template -std::size_t hash_value(SmallVector const& x) { - return x.hash(); +inline std::size_t hash_value(SmallVector const& x) { + return x.hash_impl(); } template -- cgit v1.2.3