// -*- C++ -*-
+/**
+ * \file debug.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef LYXDEBUG_H
#define LYXDEBUG_H
+#include <iosfwd>
+
#include "LString.h"
-#include "support/lstrings.h"
/** Ideally this should have been a namespace, but since we try to be
compilable on older C++ compilators too, we use a struct instead.
///
KEY = (1 << 2), // 4
///
- TOOLBAR = (1 << 3), // 8
+ GUI = (1 << 3), // 8
///
PARSER = (1 << 4), // 16
///
///
ROFF = (1 << 13), // 8192
///
- ACTION = (1 << 14) // 16384
+ ACTION = (1 << 14), // 16384
+ ///
+ LYXLEX = (1 << 15),
+ ///
+ DEPEND = (1 << 16),
+ ///
+ INSETS = (1 << 17),
+ ///
+ FILES = (1 << 18),
+ ///
+ WORKAREA = (1 << 19),
+ ///
+ INSETTEXT = (1 << 20),
+ ///
+ GRAPHICS = (1 << 21),
+ /// change tracking
+ CHANGES = (1 << 22)
};
///
- static const type ANY = type(INFO | INIT | KEY | TOOLBAR |
- PARSER | LYXRC | KBMAP | LATEX |
- MATHED | FONT | TCLASS | LYXVC |
- LYXSERVER | ROFF | ACTION);
- ///
- friend inline void operator|=(Debug::type & d1, Debug::type d2);
-
+ static type const ANY;
+
/** A function to convert symbolic string names on debug levels
to their numerical value.
*/
- static Debug::type value(string const & val);
+ static Debug::type value(string const & val);
- /** Display the tags and descriptions of the current debug level
- of ds
+ /** Display the tags and descriptions of the current debug level
+ of ds
*/
- static void showLevel(ostream & o, type level);
+ static void showLevel(std::ostream & o, type level);
/** show all the possible tags that can be used for debugging */
- static void showTags(ostream & o);
+ static void showTags(std::ostream & o);
};
-///
-inline void operator|= (Debug::type & d1, Debug::type d2)
+
+inline
+void operator|=(Debug::type & d1, Debug::type d2)
{
d1 = static_cast<Debug::type>(d1 | d2);
}
#include "support/DebugStream.h"
-///
-ostream & operator<<(ostream & o, Debug::type t);
+
+std::ostream & operator<<(std::ostream & o, Debug::type t);
extern DebugStream lyxerr;