Macros
Macros.h File Reference

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_USED_VARIABLE(x)   x
 Macro to tell GCC this is a used variable, and not to optimize it out. 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_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

#define SURGSIM_USED_VARIABLE (   x)    x

Macro to tell GCC this is a used variable, and not to optimize it out.