head 1.4; access; symbols; locks; strict; comment @# @; 1.4 date 2002.09.07.01.50.37; author curt; state Exp; branches; next 1.3; 1.3 date 2002.08.31.19.01.53; author curt; state Exp; branches; next 1.2; 1.2 date 2002.08.31.18.54.00; author curt; state Exp; branches; next 1.1; 1.1 date 2002.02.15.17.21.55; author curt; state Exp; branches; next ; desc @@ 1.4 log @Updated doxygen docs. @ text @
Main Page Class Hierarchy Compound List File List Compound Members File Members

# compiler.h File Reference

A set of defines to encapsulate compiler and platform differences. More...

Go to the source code of this file.

## Defines
#define | SG_STRINGIZE(X) SG_DO_STRINGIZE(X)
#define | SG_DO_STRINGIZE(X) #X
#define | SG_NULL_TMPL_ARGS
#define | SG_TEMPLATE_NULL
#define | SG_NAMESPACE(X)
#define | SG_NAMESPACE_END
#define | SG_USING_NAMESPACE(X)
#define | SG_USING_STD(X)
| Expands to using std::x if SG_HAVE_STD is defined.
#define | STD

## Detailed Description

A set of defines to encapsulate compiler and platform differences.

Please refer to the source code for full documentation on this file.

Here is a summary of what this file does.

(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>.

Definition in file compiler.h.

@ 1.3 log @Oops, try again. @ text @d77 1 a77 1 Definition in file compiler.h.