+// Compilers are listed in alphabetic order by vendor name
+// (except VC++ must be last - see below)
+
+// Borland ------------------------------------------------------------------//
+
+#if defined __BORLANDC__
+# define BOOST_NO_SLIST
+# define BOOST_NO_HASH
+// pull in standard library version:
+# include <memory>
+# if __BORLANDC__ <= 0x0551
+# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
+# define BOOST_NO_INTEGRAL_INT64_T
+# 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
+# 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
+#if (__BORLANDC__ == 0x550) || (__BORLANDC__ == 0x551)
+// <climits> is partly broken, some macos define symbols that are really in
+// namespace std, so you end up having to use illegal constructs like
+// std::DBL_MAX, as a fix we'll just include float.h and have done with:
+#include <float.h>
+#endif
+# 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