On Friday, 20 July 2012 at 21:47:55 UTC, Namespace wrote:
On Friday, 20 July 2012 at 21:36:59 UTC, 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);

Maybe something like that?

void alCheck(lazy void Func, string filename = __FILE__, uint
line = __LINE__) {
        Func();
        
        debug {
                alCheckError(filename, line);
        }
}

That works perfect, you sir are a genius!

Reply via email to