ESyS-Particle  2.3.2
console.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.opensource.org/licenses/osl-3.0.php //
10 // //
12 
13 #ifndef _CONSOLE_H_
14 #define _CONSOLE_H_
15 
16 //--STL includes--
17 #include <string>
18 #include <sstream>
19 
20 using std::string;
21 using std::stringstream;
22 
27 class Console
28 {
29 protected:
30  int m_verb ;
31  bool m_mute;
32  bool m_buffered;
35 
36  unsigned int m_bufflen;
37 
38  stringstream m_buffer;
39  string m_filename;
40 
41  double m_time_offs;
42 
43  void flush();
44 
45 public:
46  Console();
47  virtual ~Console() ;
48 
49  void Initialize();
50  void Initialize(const string&);
51  void SetBuffered(unsigned int);
52  void SetFilename(const string&);
53  void SetVerbose(int vl=7) ;
54  inline int GetVerbose() { return m_verb; } ;
55 
56  Console & Message() ;
57  Console & Error() ;
58  Console & Warning() ;
59  Console & Critical() ;
60  Console & Info() ;
61  Console & Debug() ;
62  Console & XDebug() ;
63 
64  template <class T> Console & operator<<(T);
65 
66 } ;
67 
68 #include "console.hpp"
69 
70 extern Console console;
71 
72 #endif // _CONSOLE_H_
void SetFilename(const string &)
Definition: console.cpp:92
Console & XDebug()
set verbose level of next message to "xdg"
Definition: console.cpp:219
void SetVerbose(int vl=7)
set verbose level - defaults to all
Definition: console.cpp:122
Console console
Definition: console.cpp:25
Handle message ouput on the console.
Definition: console.h:27
bool m_initialized
set if filename and so on are set
Definition: console.h:33
Console & Warning()
set verbose level of next message to "wrn"
Definition: console.cpp:167
int m_verb
current verbose level
Definition: console.h:30
bool m_mute
flag to mute console (loats output) or quiet console
Definition: console.h:31
int GetVerbose()
Definition: console.h:54
Console & Info()
set verbose level of next message to "inf"
Definition: console.cpp:193
double m_time_offs
time offset
Definition: console.h:41
stringstream m_buffer
buffer for output & process
Definition: console.h:38
Console()
Definition: console.cpp:30
void flush()
Definition: console.cpp:130
Console & Message()
set verbose level of next message to "msg"
Definition: console.cpp:180
void Initialize()
Definition: console.cpp:54
virtual ~Console()
Definition: console.cpp:43
Console & Error()
set verbose level of next message to "err"
Definition: console.cpp:154
string m_filename
Output stream.
Definition: console.h:39
Console & Critical()
set verbose level of next message to "crt"
Definition: console.cpp:141
Console & Debug()
set verbose level of next message to "dbg"
Definition: console.cpp:206
bool m_has_new_data
Definition: console.h:34
void SetBuffered(unsigned int)
set buffer length and buffered mode on/off
Definition: console.cpp:109
Console & operator<<(T)
Definition: console.hpp:2
bool m_buffered
Definition: console.h:32
unsigned int m_bufflen
length of internal buffer
Definition: console.h:36