All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros
Macros.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SURGSIM_CLASSNAME(ClassName)   virtual std::string getClassName() const {return #ClassName;}
 Declare the class name of a class with the appropriate function header, do not use quotes. More...
 
#define SURGSIM_DO_PRAGMA(x)
 GCC macro to write out an _Pragma statement inside a macro, disabled for other platforms. More...
 
#define SURGSIM_DOUBLE_SPECIALIZATION
 
#define SURGSIM_CONCATENATE_DETAIL(x, y)   x##y
 
#define SURGSIM_CONCATENATE(x, y)   SURGSIM_CONCATENATE_DETAIL(x, y)
 
#define SURGSIM_MAKE_UNIQUE(x)   SURGSIM_CONCATENATE(x, __COUNTER__)
 

Macro Definition Documentation

#define SURGSIM_CLASSNAME (   ClassName)    virtual std::string getClassName() const {return #ClassName;}

Declare the class name of a class with the appropriate function header, do not use quotes.

#define SURGSIM_CONCATENATE (   x,
 
)    SURGSIM_CONCATENATE_DETAIL(x, y)

Set of macros to create a unique name with a common basename

#define SURGSIM_CONCATENATE_DETAIL (   x,
 
)    x##y

Set of macros to create a unique name with a common basename

#define SURGSIM_DO_PRAGMA (   x)

GCC macro to write out an _Pragma statement inside a macro, disabled for other platforms.

#define SURGSIM_DOUBLE_SPECIALIZATION
Note
HS-2013-dec-23 The gcc and msvc compilers seem to have different requirements when a template class needs to be passed template parameters in a specialization, that extend the original template interface gcc needs the template<> statement before the new template parameters, msvc does not like it at all.
#define SURGSIM_MAKE_UNIQUE (   x)    SURGSIM_CONCATENATE(x, __COUNTER__)

Set of macros to create a unique name with a common basename