diff --git a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_2_iterators.h b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_2_iterators.h index c5e94fc3144..61ccd2696ea 100644 --- a/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_2_iterators.h +++ b/Arrangement_on_surface_2/include/CGAL/Arrangement_2/Arrangement_2_iterators.h @@ -564,8 +564,7 @@ namespace std { # pragma warning(disable:4099) // For VC10 it is class hash #endif -template < class T> -struct hash; +#ifndef CGAL_CFG_NO_STD_HASH template @@ -607,7 +606,15 @@ struct hash(&*i) / sizeof(typename I::value_type); } }; -} + +#endif // CGAL_CFG_NO_STD_HASH + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + +} // namespace std + namespace boost { template struct hash; @@ -652,9 +659,5 @@ struct hash - struct hash; + +#ifndef CGAL_CFG_NO_STD_HASH template < class DSC, bool Const > struct hash > @@ -1189,10 +1188,12 @@ namespace std { return reinterpret_cast(&*i) / sizeof(typename DSC::value_type); } }; +#endif // CGAL_CFG_NO_STD_HASH + #if defined(BOOST_MSVC) # pragma warning(pop) #endif -} +} // namespace boost #endif // CGAL_COMPACT_CONTAINER_H diff --git a/STL_Extension/include/CGAL/In_place_list.h b/STL_Extension/include/CGAL/In_place_list.h index cc199efd39c..b0fc2a8b87a 100644 --- a/STL_Extension/include/CGAL/In_place_list.h +++ b/STL_Extension/include/CGAL/In_place_list.h @@ -778,8 +778,7 @@ namespace std { # pragma warning(disable:4099) // For VC10 it is class hash #endif - template < class T> - struct hash; +#ifndef CGAL_CFG_NO_STD_HASH template < class T, class Alloc > struct hash > @@ -802,10 +801,12 @@ namespace std { return reinterpret_cast(ptr)/ sizeof(T); } }; +#endif // CGAL_CFG_NO_STD_HASH #if defined(BOOST_MSVC) # pragma warning(pop) #endif -} +} // namespace std + #endif // CGAL_IN_PLACE_LIST_H diff --git a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h index d98f87d0bc1..83d55e23401 100644 --- a/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h +++ b/Surface_mesh/include/CGAL/Surface_mesh/Surface_mesh.h @@ -3133,10 +3133,7 @@ namespace std { # pragma warning(disable:4099) // For VC10 it is class hash #endif -#ifndef DOXYGEN_RUNNING - template < class T> - struct hash; -#endif +#ifndef CGAL_CFG_NO_STD_HASH template <> struct hash @@ -3177,7 +3174,13 @@ namespace std { return i; } }; -} +#endif // CGAL_CFG_NO_STD_HASH + +#if defined(BOOST_MSVC) +# pragma warning(pop) +#endif + +} // namespace std namespace boost { template <> @@ -3188,11 +3191,7 @@ namespace boost { } }; -#if defined(BOOST_MSVC) -# pragma warning(pop) -#endif - -} +} // namespace boost #endif /* CGAL_SURFACE_MESH_H */