From b626dc405ec1c7765234e3396c36884912e80dc3 Mon Sep 17 00:00:00 2001 From: Daniel James Date: Tue, 7 Feb 2006 00:43:06 +0000 Subject: [PATCH] Attempt to get container_fwd.hpp working on more compilers. [SVN r32684] --- .../boost/functional/detail/container_fwd.hpp | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/include/boost/functional/detail/container_fwd.hpp b/include/boost/functional/detail/container_fwd.hpp index 8b6b2be..0ce86bf 100644 --- a/include/boost/functional/detail/container_fwd.hpp +++ b/include/boost/functional/detail/container_fwd.hpp @@ -11,6 +11,20 @@ #include #include +#if (defined(__GLIBCXX__) && defined(_GLIBCXX_DEBUG)) || \ + BOOST_WORKAROUND(__BORLANDC__, > 0x551) + +#include +#include +#include +#include +#include +#include +#include +#include + +#else + #if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && \ defined(__STL_CONFIG_H) @@ -36,26 +50,21 @@ #define BOOST_HASH_CHAR_TRAITS char_traits #endif +#if defined(BOOST_MSVC) +#pragma warning(push) +#pragma warning(disable:4099) // struct/class mismatch in fwd declarations +#endif + namespace std { template class allocator; template class basic_string; template struct BOOST_HASH_CHAR_TRAITS; - -#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) - template class string_char_traits; -#else - template class char_traits; -#endif template class complex; } // gcc 3.4 and greater -#if defined(__GLIBCXX__) && defined(_GLIBCXX_DEBUG) -namespace __gnu_debug_def -#else namespace std -#endif { #if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE) template class deque; @@ -75,4 +84,10 @@ namespace std template struct pair; } +#if defined(BOOST_MSVC) +#pragma warning(pop) +#endif + +#endif + #endif