ESyS-Particle  2.3.4
console.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 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.apache.org/licenses/LICENSE-2.0 //
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 
57  Console & Error() ;
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_
Console::Info
Console & Info()
set verbose level of next message to "inf"
Console::~Console
virtual ~Console()
Definition: console.cpp:43
Console::m_buffered
bool m_buffered
Definition: console.h:32
console
Console console
Definition: console.cpp:25
Console::m_filename
string m_filename
Output stream.
Definition: console.h:39
Console::Debug
Console & Debug()
set verbose level of next message to "dbg"
console.hpp
Console::Initialize
void Initialize()
Definition: console.cpp:54
Console::Error
Console & Error()
set verbose level of next message to "err"
console.h
Console::SetFilename
void SetFilename(const string &)
Definition: console.cpp:92
Console::flush
void flush()
Definition: console.cpp:130
Console::Console
Console()
Definition: console.cpp:30
Console::GetVerbose
int GetVerbose()
Definition: console.h:54
Console::SetVerbose
void SetVerbose(int vl=7)
set verbose level - defaults to all
Definition: console.cpp:122
Console::XDebug
Console & XDebug()
set verbose level of next message to "xdg"
Console::Critical
Console & Critical()
set verbose level of next message to "crt"
Definition: console.cpp:141
Console::Warning
Console & Warning()
set verbose level of next message to "wrn"
Console::operator<<
Console & operator<<(T)
Definition: console.hpp:2
Console::Message
Console & Message()
set verbose level of next message to "msg"
Console::m_bufflen
unsigned int m_bufflen
length of internal buffer
Definition: console.h:36
Console::m_has_new_data
bool m_has_new_data
Definition: console.h:34
Console::m_initialized
bool m_initialized
set if filename and so on are set
Definition: console.h:33
Console::SetBuffered
void SetBuffered(unsigned int)
set buffer length and buffered mode on/off
Definition: console.cpp:109
Console::m_verb
int m_verb
current verbose level
Definition: console.h:30
Console::m_buffer
stringstream m_buffer
buffer for output & process
Definition: console.h:38
console
Console console
Definition: console.cpp:25
Console
Handle message ouput on the console.
Definition: console.h:28
Console::m_time_offs
double m_time_offs
time offset
Definition: console.h:41
Console::m_mute
bool m_mute
flag to mute console (loats output) or quiet console
Definition: console.h:31