-# define BOOST_NO_CV_SPECIALIZATIONS
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-// Comeau C++ ----------------------------------------------------------------//
-
-# elif defined __COMO__
-# if __COMO_VERSION__ <= 4245
-# define BOOST_FUNCTION_USE_VIRTUAL_FUNCTIONS
-# endif
-
-// Compaq Tru64 Unix cxx ---------------------------------------------------
-
-# elif defined __DECCXX
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-
-// GNU CC (also known as GCC and G++) --------------------------------------//
-
-# elif defined __GNUC__
-# if __GNUC__ == 2 && __GNUC_MINOR__ == 91
- // egcs 1.1 won't parse smart_ptr.hpp without this:
-# define BOOST_NO_AUTO_PTR
-# endif
-# if __GNUC__ == 2 && __GNUC_MINOR__ <= 97
-# include "LString.h" // not sure this is the right way to do this -JGS
-# if defined(__BASTRING__) && !defined(__GLIBCPP__) && !defined(_CXXRT_STD) && !defined(__SGI_STL) // need to ask Dietmar about this -JGS
- // this should only detect the stdlibc++ that ships with gcc, and
- // not any replacements that may be installed...
-# define BOOST_NO_STD_ITERATOR
-# define BOOST_NO_LIMITS
-# endif
-# if !defined(_CXXRT_STD) && !defined(__SGI_STL_OWN_IOSTREAMS)
-# define BOOST_NO_STRINGSTREAM
-# endif
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# define BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING
-# endif
-# if __GNUC__ == 2 && __GNUC_MINOR__ <= 8
-# define BOOST_NO_MEMBER_TEMPLATES
-# endif
-# if __GNUC__ >= 3
-# include <iterator>
-# if defined(__GLIBCPP__)
- // The new GNU C++ library has slist, hash_map, hash_set headers
- // in <ext/*>, but client code assumes they're in <*> --- Jens M.
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-# endif
-# endif
-
-// Greenhills C++ -----------------------------------------------------------//
-
-#elif defined __ghs
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-
-// HP aCC -------------------------------------------------------------------
-
-# elif defined __HP_aCC
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
- // (support for HP aCC is not complete, see the regression test results)
-
-// Intel on Linux -----------------------------------------------------------//
-
-#elif defined __ICC
-# include <iterator>
-# ifdef _CPPLIB_VER
- // shipped with Dinkumware 3.10, which has a different hash_map
-# define BOOST_NO_HASH
-# endif
-
-// Intel on Windows --------------------------------------------------------//
-
-# elif defined __ICL
-# if __ICL <= 500
- // Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup
- // in the frontend even in "strict" mode. (reported by Kirk Klobe)
-# ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# endif
-# define BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING
-# define BOOST_NO_INTRINSIC_WCHAR_T // tentative addition - required for VC6 compatibility? (added by JM 19 Feb 2001)
-# endif
-# include <iterator> // not sure this is the right way to do this -JGS
-# if __SGI_STL_PORT >= 0x400 || __SGI_STL_PORT >= 0x321 && defined(__STL_USE_NAMESPACES)
- // a perfectly good implementation of std::iterator is supplied
-# elif defined(__SGI_STL_ITERATOR)
-# define BOOST_NO_STD_ITERATOR // No std::iterator in this case
-# elif defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
-# // full dinkumware 3.06 and above
-# define BOOST_NO_HASH
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# if !_GLOBAL_USING // can be defined in yvals.h
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-# else // assume using dinkumware's STL that comes with VC++ 6.0
-# define BOOST_MSVC_STD_ITERATOR
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# define BOOST_NO_STDC_NAMESPACE
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-# define BOOST_NO_STD_MIN_MAX
-# endif
-
-// Kai C++ ----------------------------------------------------------------
-
-#elif defined __KCC
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-
-# if __KCC_VERSION <= 4001
- // at least on Sun, the contents of <cwchar> is not in namespace std
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-// Metrowerks CodeWarrior -------------------------------------------------//
-
-# elif defined __MWERKS__
-# if __MWERKS__ <= 0x2401 // 6.2
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING
-# endif
-# if __MWERKS__ <= 0x2301 // 5.3
-# define BOOST_NO_POINTER_TO_MEMBER_CONST
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_NO_HASH
-# endif
-# if __MWERKS__ >= 0x2400
-# define BOOST_STD_EXTENSION_NAMESPACE Metrowerks
-# endif
-# if __MWERKS__ >= 0x2300
-# define BOOST_SYSTEM_HAS_STDINT_H
-# endif
-# if defined BOOST_DECL_EXPORTS
-# if defined BOOST_DECL_IMPORTS
-# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
-# endif
-# define BOOST_DECL __declspec(dllexport)
-# elif defined BOOST_DECL_IMPORTS
-# define BOOST_DECL __declspec(dllimport)
-# else
-# define BOOST_DECL
-# endif
-
-// SGI MIPSpro C++ ---------------------------------------------------------//
-
-# elif defined __sgi
- // This is a generic STLport condition and could be moved elsewhere.
-# include <iterator>
-# if defined(__SGI_STL_PORT) && !defined(__STL_MEMBER_TEMPLATE_CLASSES) && !defined(_STLP_MEMBER_TEMPLATE_CLASSES)
-# define BOOST_NO_STD_ALLOCATOR
-# endif
-
-// Sun Workshop Compiler C++ -----------------------------------------------//
-
-# elif defined __SUNPRO_CC
-# if __SUNPRO_CC <= 0x520
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# define BOOST_NO_STD_ALLOCATOR
-
- // although sunpro 5.1 supports the syntax for
- // inline initialization it often gets the value
- // wrong, especially where the value is computed
- // from other constants (J Maddock 6th May 2001)
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-
- // although sunpro 5.1 supports the syntax for
- // partial specialization, it often seems to
- // bind to the wrong specialization. Better
- // to disable it until suppport becomes more stable
- // (J Maddock 6th May 2001).
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif
-# if __SUNPRO_CC <= 0x500
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif
-
-// Microsoft Visual C++ (excluding Intel/EDG front end) --------------------
-//
-// Must remain the last #elif since some other vendors (Metrowerks, for
-// example) also #define _MSC_VER
-
-# elif defined _MSC_VER
-# define BOOST_MSVC _MSC_VER
-
- // turn off the warnings before we #include anything
-# pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
-# pragma warning( disable : 4503 ) // warning: decorated name length exceeded
-
-# if _MSC_VER <= 1200 // 1200 == VC++ 6.0
-# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
-# define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
-
-# define BOOST_NO_INTEGRAL_INT64_T
-# define BOOST_NO_INTRINSIC_WCHAR_T
-
-// VC++ 6.0 has member templates but they have numerous problems including
-// cases of silent failure, so for safety we define:
-# define BOOST_NO_MEMBER_TEMPLATES
-// For VC++ experts wishing to attempt workarounds, we define:
-# define BOOST_MSVC6_MEMBER_TEMPLATES
-
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
-# define BOOST_WEAK_FUNCTION_TEMPLATE_ORDERING
-# include <iterator> // not sure this is the right way to do this -JGS
-# if __SGI_STL_PORT >= 0x400 || __SGI_STL_PORT >= 0x321 && defined(__STL_USE_NAMESPACES)
- // a perfectly good implementation of std::iterator is supplied
- // A conforming allocator is supplied, but the compiler cannot cope
- // when using "rebind". (Douglas Gregor)
-# define BOOST_NO_STD_ALLOCATOR
-# elif defined(__SGI_STL_ITERATOR)
-# define BOOST_NO_STD_ITERATOR // No std::iterator in this case
-# elif defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
- // full dinkumware 3.06 and above
-# define BOOST_NO_HASH
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# ifndef _GLOBAL_USING // can be defined in yvals.h
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-# define BOOST_MSVC_STD_ITERATOR
-# else
-# define BOOST_MSVC_STD_ITERATOR
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
-# define BOOST_NO_STD_ALLOCATOR
-# ifndef _CPPLIB_VER
- // Updated Dinkum library defines this, and provides
- // its own min and max definitions.
-# define BOOST_NO_STD_MIN_MAX
-# undef min
-# undef max
-# endif
-# ifndef NOMINMAX
- // avoid spurious NOMINMAX redefinition warning
-# define NOMINMAX
-# endif
-# endif
-# define BOOST_NO_STD_ITERATOR_TRAITS
-# define BOOST_NO_CV_VOID_SPECIALIZATIONS
-
-
-// Make sure at least one standard library header is included so that library
-// implementation detection will work, even if no standard headers have been
-// included in front of a boost header. (Ed Brey 5 Jun 00)
-# include <cstddef>
-
-// Determine if the standard library implementation is already pulling names
-// into std. STLport defines the following if so. (Ed Brey 5 Jun 00)
-# if !defined( __STL_IMPORT_VENDOR_CSTD ) || defined( __STL_NO_CSTD_FUNCTION_IMPORTS )
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-
-# endif
-
-# if defined BOOST_DECL_EXPORTS
-# if defined BOOST_DECL_IMPORTS
-# error Not valid to define both BOOST_DECL_EXPORTS and BOOST_DECL_IMPORTS
-# endif
-# define BOOST_DECL __declspec(dllexport)
-# elif defined BOOST_DECL_IMPORTS
-# define BOOST_DECL __declspec(dllimport)
-# else
-# define BOOST_DECL
-# endif
-
-# endif // Microsoft (excluding Intel/EDG frontend)
-
-# ifndef BOOST_DECL
-# define BOOST_DECL // default for compilers not needing this decoration.
-# endif
-
-// end of compiler specific portion ----------------------------------------//
-
-#if defined(BOOST_NO_LIMITS) || (defined(_RWSTD_VER) && defined(__BORLANDC__) && _RWSTD_VER < 0x020300) || (defined(__SGI_STL_PORT) && __SGI_STL_PORT <= 0x410 && defined(__STL_STATIC_CONST_INIT_BUG))
-// STLPort 4.0 doesn't define the static constants in numeric_limits<> so that they
-// can be used at compile time if the compiler bug indicated by
-// __STL_STATIC_CONST_INIT_BUG is present.
-
-// Rogue wave STL (C++ Builder) also has broken numeric_limits
-// with default template defining members out of line.
-// However, Compaq C++ also uses RogueWave (version 0x0203) and it's ok.
-# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS