- * (1) Defines macros for some STL includes which may be affected
- * by file name length limitations.
- *
- * (2) Defines macros for some features not supported by all C++ compilers.
- *
- * (3) Defines 'explicit' as a null macro if the compiler doesn't support
- * the explicit keyword.
- *
- * (4) Defines 'typename' as a null macro if the compiler doesn't support
- * the typename keyword.
- *
- * (5) Defines bool, true and false if the compiler doesn't do so.
- *
- * (6) Defines SG_EXPLICIT_FUNCTION_TMPL_ARGS if the compiler
- * supports calling a function template by providing its template
- * arguments explicitly.
- *
- * (7) Defines SG_NEED_AUTO_PTR if STL doesn't provide auto_ptr<>.
- *
- * (8) Defines SG_NO_ARROW_OPERATOR if the compiler is unable
- * to support operator->() for iterators.
- *
- * (9) Defines SG_USE_EXCEPTIONS if the compiler supports exceptions.
- * Note: no FlightGear code uses exceptions.
- *
- * (10) Define SG_NAMESPACES if the compiler supports namespaces.
- *
- * (11) SG_MATH_FN_IN_NAMESPACE_STD -- not used??
- *
- * (12) Define SG_HAVE_STD if std namespace is supported.
- *
- * (13) Defines SG_CLASS_PARTIAL_SPECIALIZATION if the compiler
- * supports partial specialization of class templates.
- *
- * (14) Defines SG_HAVE_STD_INCLUDES to use ISO C++ Standard headers.
- *
- * (15) Defines SG_HAVE_STREAMBUF if <streambuf> of <streambuf.h> are present.
- *
- * (16) Define SG_MATH_EXCEPTION_CLASH if math.h defines an exception class
- * that clashes with the one defined in <stdexcept>.