fgms 0.11.8
The
FlightGear MultiPlayer Server
project
compiler.h File Reference

Go to the source code of this file.

Macros

#define SG_DO_STRINGIZE(X)   #X
 
#define SG_GL_H   <GL/gl.h>
 
#define SG_GLEXT_H   <GL/glext.h>
 
#define SG_GLU_H   <GL/glu.h>
 
#define SG_GLUT_H   <GL/glut.h>
 
#define SG_GLX_H   <GL/glx.h>
 
#define SG_NAMESPACE(X)
 
#define SG_NAMESPACE_END
 
#define SG_NULL_TMPL_ARGS
 
#define SG_STRINGIZE(X)   SG_DO_STRINGIZE(X)
 
#define SG_TEMPLATE_NULL
 
#define SG_USING_NAMESPACE(X)
 
#define SG_USING_STD(X)
 
#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.

Macro Definition Documentation

#define SG_DO_STRINGIZE (   X)    #X

Definition at line 80 of file compiler.h.

#define SG_GL_H   <GL/gl.h>

Definition at line 382 of file compiler.h.

#define SG_GLEXT_H   <GL/glext.h>

Definition at line 385 of file compiler.h.

#define SG_GLU_H   <GL/glu.h>

Definition at line 384 of file compiler.h.

#define SG_GLUT_H   <GL/glut.h>

Definition at line 386 of file compiler.h.

#define SG_GLX_H   <GL/glx.h>

Definition at line 383 of file compiler.h.

#define SG_NAMESPACE (   X)

Definition at line 431 of file compiler.h.

#define SG_NAMESPACE_END

Definition at line 432 of file compiler.h.

#define SG_NULL_TMPL_ARGS

Definition at line 415 of file compiler.h.

#define SG_STRINGIZE (   X)    SG_DO_STRINGIZE(X)

Definition at line 79 of file compiler.h.

#define SG_TEMPLATE_NULL

Definition at line 421 of file compiler.h.

#define SG_USING_NAMESPACE (   X)

Definition at line 433 of file compiler.h.

#define SG_USING_STD (   X)

Expands to using std::x if SG_HAVE_STD is defined

Definition at line 443 of file compiler.h.

#define STD

Definition at line 444 of file compiler.h.