-// #include <cstdlib> // for abs
-// #ifdef BOOST_NO_STDC_NAMESPACE
-// namespace std { using ::abs; }
-// #endif
-
-// BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION. Class template partial
-// specialization (14.5.4 [temp.class.spec]) not supported.
-
-// BOOST_NO_USING_TEMPLATE: The compiler will not accept a using declaration
-// that imports a template from the global namespace into a named namespace.
-// Probably Borland specific.
-
-// Compiler Control or Information Macros ----------------------------------//
-//
-// Compilers often supply features outside of the C++ Standard which need to be
-// controlled or detected. As usual, reasonable default behavior should occur
-// if any of these macros are not defined.
-
-// BOOST_DECL: Certain compilers for Microsoft operating systems require
-// non-standard class and function decoration if dynamic load library linking
-// is desired. BOOST_DECL supplies that decoration, defaulting to a nul string
-// so that it is harmless when not required. Boost does not encourage the use
-// of BOOST_DECL - it is non-standard and to be avoided if practical to do so.
-
-// BOOST_DECL_EXPORTS: User defined, BOOST_DECL_EXPORTS causes BOOST_DECL to
-// be defined as __declspec(dllexport) rather than __declspec(dllimport).
-
-// BOOST_MSVC6_MEMBER_TEMPLATES: Microsoft Visual C++ 6.0 has enough member
-// template idiosyncrasies (being polite) that BOOST_NO_MEMBER_TEMPLATES is
-// defined for this compiler. BOOST_MSVC6_MEMBER_TEMPLATES is defined to allow
-// compiler specific workarounds.
-
-// BOOST_MSVC: defined as _MSC_VER for the Microsoft compiler only. In general,
-// boost headers should test for a specific conformance flag macro (for
-// example, BOOST_NO_MEMBER_TEMPLATE_FRIENDS) rather than a specific compiler.
-// VC++ is a special case, however, since many libraries try to support it yet
-// it has so many conformance issues that sometimes it is just easier to test
-// for it directly. On the other hand, the obvious way to do this doesn't work,
-// as many non-Microsoft compilers define _MSC_VER. Thus BOOST_MSVC.
-
-// BOOST_MSVC_STD_ITERATOR: Microsoft's broken version of std::iterator
-// is being used.
-
-// BOOST_SYSTEM_HAS_STDINT_H: There are no 1998 C++ Standard headers <stdint.h>
-// or <cstdint>, although the 1999 C Standard does include <stdint.h>.
-// If <stdint.h> is present, <boost/stdint.h> can make good use of it,
-// so a flag is supplied (signalling presence; thus the default is not
-// present, conforming to the current C++ standard).
-
-// BOOST_NO_SLIST: The C++ implementation does not provide the slist class.
-
-// BOOST_NO_HASH: The C++ implementation does not provide the hash_set
-// or hash_map classes.
-
-// BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS: The standard library does not provide
-// templated iterator constructors for its containers.
-
-// BOOST_NO_LIMITS: The C++ implementation does not provide the <limits> header.
-
-// BOOST_NO_INTRINSIC_WCHAR_T: The C++ implementation does not provide wchar_t,
-// or it is really a synonym for another integral type. Use this symbol to
-// decide whether it is appropriate to explicitly specialize a template on
-// wchar_t if there is already a specialization for other integer types.
-
-// BOOST_NO_STD_ALLOCATOR: The C++ standard library does not provide
-// a standards conforming std::allocator.
-
-// Compilers are listed in alphabetic order (except VC++ last - see below)---//
-
-// GNU CC (also known as GCC and G++) --------------------------------------//
-
-# if defined __GNUC__
-# if __GNUC__ == 2 && __GNUC_MINOR__ <= 95
-# include <iterator> // not sure this is the right way to do this -JGS
-# if !defined(_CXXRT_STD) && !defined(__SGI_STL) // need to ask Dietmar about this -JGS
-# define BOOST_NO_STD_ITERATOR
-# define BOOST_NO_LIMITS
-# endif
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# endif
-# if __GNUC__ == 2 && __GNUC_MINOR__ <= 8
-# define BOOST_NO_MEMBER_TEMPLATES
-# endif
-// LGB
-# if __GNUC__ == 2 && __GNUC_MINOR__ == 97
-# define BOOST_NO_STDC_NAMESPACE
-# endif
-// Kai C++ ------------------------------------------------------------------//
-
-#elif defined __KCC
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-
-// Greenhills C++ -----------------------------------------------------------//
-
-#elif defined __ghs
-# define BOOST_NO_SLIST
-# define BOOST_NO_HASH
-
-// Borland ------------------------------------------------------------------//
-
-#elif defined __BORLANDC__
-# if __BORLANDC__ <= 0x0551
-# define BOOST_NO_PRIVATE_IN_AGGREGATE
-# endif
-# if __BORLANDC__ <= 0x0550
-// Borland C++ Builder 4 and 5:
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# define BOOST_NO_USING_TEMPLATE
-# if __BORLANDC__ == 0x0550
-// Borland C++ Builder 5, command-line compiler 5.5:
-# define BOOST_NO_OPERATORS_IN_NAMESPACE
-# endif
-# endif
-# if defined BOOST_DECL_EXPORTS
-# define BOOST_DECL __declspec(dllexport)
-# else
-# define BOOST_DECL __declspec(dllimport)
-# endif
-
-// Intel -------------------------------------------------------------------//
-
-# elif defined __ICL
-# 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
-# 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
-# endif
-
-
-// Metrowerks CodeWarrior --------------------------------------------------//
-
-# elif defined __MWERKS__
-# if __MWERKS__ <= 0x4000
-# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
-# endif
-# if __MWERKS__ <= 0x2301
-# define BOOST_NO_POINTER_TO_MEMBER_CONST
-# endif
-# if __MWERKS__ >= 0x2300
-# define BOOST_SYSTEM_HAS_STDINT_H
-# endif
-# if defined BOOST_DECL_EXPORTS
-# define BOOST_DECL __declspec(dllexport)
-# else
-# define BOOST_DECL __declspec(dllimport)
-# endif
-
-// Sun Workshop Compiler C++ ------------------------------------------------//
-
-# elif defined __SUNPRO_CC
-# if __SUNPRO_CC <= 0x500
-# define BOOST_NO_MEMBER_TEMPLATES
-# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
-# endif
-
-// Microsoft Visual C++ (excluding Intel/EDG front end) --------------------//