view Debug.h @ 68:44d56a3d16b7

Various fixes to the example plugins
author Chris Cannam
date Mon, 17 Nov 2014 11:44:15 +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