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

## SURGSIM_CLASSNAME

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

## SURGSIM_CONCATENATE

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

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

## SURGSIM_CONCATENATE_DETAIL

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

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

## SURGSIM_DOUBLE_SPECIALIZATION

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

## SURGSIM_MAKE_UNIQUE

#define SURGSIM_MAKE_UNIQUE | ( |  | x | ) | SURGSIM_CONCATENATE(x, __COUNTER__)

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

## SURGSIM_USED_VARIABLE

#define SURGSIM_USED_VARIABLE | ( |  | x | ) | x

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