// -*- c++ -*-
// Copyright 1997-1999 Zanshin Inc.
// The contents of this file are subject to the Zanshin Public License Version
// 1.0 (the "License"); you may not use this file except in compliance with the
// License. You should have received a copy of the License with Latte; see
// the file COPYING. You may also obtain a copy of the License at
// .
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is Latte.
//
// The Initial Developer of the Original Code is Zanshin, Inc.
#ifndef LATTE_LOG_H
# define LATTE_LOG_H
#include
#include
enum LatteLogFlags {
latte_log_EVAL = 1 << 0,
latte_log_MEM = 1 << 1
};
extern unsigned long latte_log_flags;
class DevNull : public std::ostream {
class DevNullBuf : public std::streambuf {
public:
DevNullBuf();
int overflow(int);
private:
char buf[64]; // arbitrary
};
public:
DevNull() : std::ostream(0) { std::ostream::init(&buf); }
private:
DevNullBuf buf;
};
extern std::ostream &LatteLog(unsigned long = ~((unsigned long) 0));
extern std::ostream &LatteLog(unsigned long, const Latte_FileLoc &);
#endif // LATTE_LOG_H