view Debug.h @ 84:980e092d7ee2

If one plugin fails, continue trying the others - don't just give up
author Chris Cannam
date Thu, 10 Jan 2019 15:36:32 +0000
parents 146d14ab15e7
children
line wrap: on
line source

#ifndef DEBUG_H_INCLUDED
#define DEBUG_H_INCLUDED

#include <iostream>
#include <cstdlib>

class MyDebug
{
public:
    MyDebug() : want(std::getenv("VAMPY_VERBOSE") != 0) { }

    template <typename T>
    MyDebug &operator<<(const T &t) {
	if (want) std::cerr << t;
        return *this;
    }
    
    MyDebug &operator<<(std::ostream &(*o)(std::ostream &)) {
	if (want) std::cerr << o;
        return *this;
    }
    
private:
    bool want;
};

#define DSTREAM (MyDebug())

#endif