id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 5254,hash template specializations require BOOST_HAS_TR1_HASH work-around,Jim Bell ,John Maddock,"The TR1 docs show the templated hash struct being in namespace std::tr1. But putting a hash template specialization in std::tr1 doesn't work, at least in cases where BOOST_HAS_TR1_HASH isn't defined. This is broken for both MinGW-gcc-4.4 and MSVC-8 (VS2005). See the attached files: * TR1_hash_break.cpp doesn't compile for either platform. * TR1_hash_workaround.cpp compiles for both. ---- MSVC-8: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. TR1_hash_break.cpp TR1_hash_break.cpp(21) : error C2888: 'boost::hash' : symbol cannot be defined within namespace 'tr1' ---- MinGW gcc-4.4: TR1_hash_break.cpp:17: error: specialization of 'template struct boost::hash' in different namespace F:\boost\MinGW-32\trunk\boost/boost/tr1/functional.hpp:127: error: from definition of 'template struct boost::hash' TR1_hash_break.cpp:19: error: definition of 'size_t boost::hash::operator()(const my_key&) const' is not in namespace enclosing 'boost::hash'",Bugs,closed,Boost 1.47.0,TR1,Boost Development Trunk,Problem,fixed,TR1 hash mingw-gcc-4.4 msvc-8,jim@…