MinitScript  0.9.31 PRE-BETA
Console.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <string>
5 #include <string_view>
6 #include <vector>
7 
10 
11 using std::unique_ptr;
12 using std::string;
13 using std::string_view;
14 using std::vector;
15 
16 /**
17  * Console class
18  * @author Andreas Drewke
19  * @versio $Id$
20  */
22 {
23 public:
24  /**
25  * Console logger
26  */
27  struct Logger
28  {
29  /**
30  * Destructor
31  */
32  virtual ~Logger() {}
33 
34  /**
35  * Print given string and trailing newline to console
36  * @param str string
37  */
38  virtual void printLine(const string_view& str) = 0;
39 
40  /**
41  * Print given string without trainling newline to console
42  * @param str string
43  */
44  virtual void print(const string_view& str) = 0;
45 
46  /**
47  * Print given string and trailing newline to console
48  * @param str string
49  */
50  virtual void printLine() = 0;
51  };
52 
53  /**
54  * Set logger
55  * @param logger logger
56  */
57  static void setLogger(Logger* logger);
58 
59  /**
60  * Initialize
61  */
62  static void initialize();
63 
64  /**
65  * Print given string and trailing newline to console
66  * @param str string
67  */
68  static void printLine(const string_view& str);
69 
70  /**
71  * Print given string without trainling newline to console
72  * @param str string
73  */
74  static void print(const string_view& str);
75 
76  /**
77  * Print newline to console
78  */
79  static void printLine();
80 
81  /**
82  * Read line from console
83  */
84  static const string readLine();
85 
86  /**
87  * Read all input from console into string
88  */
89  static const string readAll();
90 
91  /**
92  * Read all input from console into string vector
93  */
94  static const vector<string> readAllAsArray();
95 
96 private:
97  MINITSCRIPT_STATIC_DLL_IMPEXT static unique_ptr<Logger> logger;
98 };
static void printLine()
Print newline to console.
Definition: Console.cpp:66
static void initialize()
Initialize.
Definition: Console.cpp:35
static void setLogger(Logger *logger)
Set logger.
Definition: Console.cpp:31
static const string readAll()
Read all input from console into string.
Definition: Console.cpp:85
static MINITSCRIPT_STATIC_DLL_IMPEXT unique_ptr< Logger > logger
Definition: Console.h:97
static const vector< string > readAllAsArray()
Read all input from console into string vector.
Definition: Console.cpp:95
static void print(const string_view &str)
Print given string without trainling newline to console.
Definition: Console.cpp:54
static const string readLine()
Read line from console.
Definition: Console.cpp:78
#define MINITSCRIPT_STATIC_DLL_IMPEXT
Definition: minitscript.h:18
virtual ~Logger()
Destructor.
Definition: Console.h:32
virtual void print(const string_view &str)=0
Print given string without trainling newline to console.
virtual void printLine()=0
Print given string and trailing newline to console.
virtual void printLine(const string_view &str)=0
Print given string and trailing newline to console.