blob: 4b596262dec432ee63693c7a8533c81709a9f185 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#ifndef HEADER_CONSOLEINTERFACE_TOOLBOX
#define HEADER_CONSOLEINTERFACE_TOOLBOX
#include <iostream>
#include "../List/List.hpp"
#include "../String/String.h"
/*! \file Toolbox.hpp
* \brief Stores a wide range of functions for simpler/more automated printing.
*
* Adds a lot of functions for printing.
*
* \remark iostream is included by necessity (templated functions), you should only use the provided functions, if you can.
*/
#define MAX_LINE_WIDTH 1024
//! Prints label, gets a whole line of input and stores it to output
void inputLineBox(char* output, unsigned maxWidth, bool ignore = true);
//! Prints a string list as a table
void printTable(const List<String>& items, unsigned columns);
//! Reads user input and stores it
template <typename T>
void read(T* storage) {
std::cin >> storage;
}
//! Reads user input and stores it
template <typename T>
void read(T& storage) {
std::cin >> storage;
}
//! Prints given item
template <typename T>
void print(const T* item) {
std::cout << item;
}
//! Prints given item
template <typename T>
void print(const T& item) {
std::cout << item;
}
//! Prints given item and an endline character
template <typename T>
void printLine(const T* item) {
std::cout << item << std::endl;
}
//! Prints given item and an endline character
template <typename T>
void printLine(const T& item) {
std::cout << item << std::endl;
}
#endif
|