CAPIO-CL 1.2.0
CAPIO-CL: Cross Application Programmable I/O - Coordination Language
Loading...
Searching...
No Matches
printer.h
1#ifndef CAPIO_CL_PRINTER_H
2#define CAPIO_CL_PRINTER_H
3#include <iostream>
4#include <unistd.h>
5
6#ifndef HOST_NAME_MAX
7#define HOST_NAME_MAX 1024
8#endif
9
12
14constexpr char CLI_LEVEL_INFO[] = "[\033[1;32mCAPIO-CL\033[0m";
16constexpr char CLI_LEVEL_WARNING[] = "[\033[1;33mCAPIO-CL\033[0m";
18constexpr char CLI_LEVEL_ERROR[] = "[\033[1;31mCAPIO-CL\033[0m";
20constexpr char CLI_LEVEL_JSON[] = "[\033[1;34mCAPIO-CL\033[0m";
21
27inline void print(const std::string &message_type = "", const std::string &message_line = "") {
28 static std::string *node_name = nullptr;
29 if (node_name == nullptr) {
30 node_name = new std::string(HOST_NAME_MAX, ' '); // LCOV_EXCL_LINE
31 gethostname(node_name->data(), HOST_NAME_MAX);
32 }
33 if (message_type.empty()) {
34 std::cout << std::endl;
35 } else {
36 std::cout << message_type << " " << node_name->c_str() << "] " << message_line << std::endl
37 << std::flush;
38 }
39}
40} // namespace capiocl::printer
41
42#endif // CAPIO_CL_PRINTER_H
Namespace containing the CAPIO-CL print utilities.
Definition printer.h:11
void print(const std::string &message_type="", const std::string &message_line="")
Definition printer.h:27
constexpr char CLI_LEVEL_ERROR[]
CLI print constant.
Definition printer.h:18
constexpr char CLI_LEVEL_JSON[]
CLI print constant.
Definition printer.h:20
constexpr char CLI_LEVEL_WARNING[]
CLI print constant.
Definition printer.h:16
constexpr char CLI_LEVEL_INFO[]
CLI print constant.
Definition printer.h:14