Free Electron
Peeker.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __core_Peeker_h__
8 #define __core_Peeker_h__
9 
10 namespace fe
11 {
12 
13 class FE_DL_EXPORT Peeker
14 {
15  public:
16  Peeker(void);
17 virtual ~Peeker(void);
18 
19 virtual void clear(void);
20 virtual String output(void);
21 
22 virtual void base(void);
23 virtual void bold(void);
24 virtual void normal(void);
25 virtual void red(void);
26 virtual void green(void);
27 virtual void yellow(void);
28 virtual void blue(void);
29 virtual void magenta(void);
30 virtual void cyan(void);
31 virtual void white(void);
32 
33 virtual void in(void);
34 virtual void out(void);
35 virtual void indent(void);
36 virtual void nl(void);
37 
38 virtual void cat(const String &s);
39 virtual void cat(const char *s);
40 virtual String &str(void);
41 
42 template <class T>
43  void operator()(T &t);
44 
45  protected:
46  String m_string;
47  int m_indent;
48 };
49 
50 template <class T>
51 inline void Peeker::operator()(T &t)
52 {
53  t.peek(*this);
54 }
55 
56 } /* namespace */
57 
58 #endif /* __core_Peeker_h__ */
59 
kernel
Definition: namespace.dox:3