view Debug.h @ 106:76badb3a0bb3 vampy-2.1

Add mechanism to build a "standard" Linux .so using Docker
author Chris Cannam
date Tue, 05 Feb 2019 12:48:59 +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