On Friday, July 20, 2012 23:36:58 Damian wrote: > Trying to convert the below code to D, for the life of me I > cannot do it :( I'm guess I need to use a template for this > but I just cannot get my head around it. Any help please? > > #ifdef SFML_DEBUG > > // If in debug mode, perform a test on every call > #define alCheck(Func) ((Func), priv::alCheckError(__FILE__, > __LINE__)) > > #else > > // Else, we don't add any overhead > #define alCheck(Func) (Func) > > #endif > > > void alCheckError(const std::string& file, unsigned int line);
It is impossible to have a function which relies on -release unless you put all calls to it in an assertion. There is _no_ way to check whether -release is enabled or not. -debug enables debug blocks: debug { //my code that runs with -debug only } but that's only if -debug is used. It's perfectly possible to compile with neither -release nor -debug. The result is that talking about "debug mode" in D is really confusing and inaccurate. - Jonathan M Davis