BoosterSeat  0.1
A C++ library that includes common utilities that are used in other projects.
string_formatting.hpp
Go to the documentation of this file.
1 #ifndef STRING_FORMATTING_HPP_
2 #define STRING_FORMATTING_HPP_
3 
4 #include <string>
5 #include <vector>
6 
7 namespace bst {
8 namespace layout {
9 
10 enum class Alignment { LEFT, RIGHT, CENTER };
11 
12 std::string simpleColumns(const std::vector<std::vector<std::string>> &rows,
13  const Alignment align, const int column_width);
14 
15 std::string fixedWidthRow(const std::vector<std::string> &row,
16  const Alignment align, const int row_width);
17 
18 std::string fixedWidthString(const std::string &s, const Alignment align,
19  const int width);
20 
21 } // namespace layout
22 
23 namespace string {
24 inline std::string b2s(const bool b, const bool upper = false) {
25  if (upper) {
26  return b ? "TRUE" : "FALSE";
27  } else {
28  return b ? "true" : "false";
29  }
30 }
31 
32 inline std::string i2s(const int i) {
33  return std::to_string(i);
34 }
35 std::string f2s(const double d, const int precision = 2);
36 
46 std::string intToHex(const int i, const int width = 2,
47  const bool include_0x = true, const bool uppercase = true);
48 } // namespace string
49 
50 } // namespace bst
51 
52 #endif
Alignment
Definition: string_formatting.hpp:10
std::string simpleColumns(const std::vector< std::vector< std::string >> &rows, const Alignment align, const int column_width)
Definition: string_format.cpp:22
std::string fixedWidthString(const std::string &s, const Alignment align, const int width)
Definition: string_format.cpp:65
std::string fixedWidthRow(const std::vector< std::string > &row, const Alignment align, const int row_width)
Definition: string_format.cpp:44
std::string b2s(const bool b, const bool upper=false)
Definition: string_formatting.hpp:24
std::string f2s(const double d, const int precision=2)
Definition: string_format.cpp:75
std::string intToHex(const int i, const int width=2, const bool include_0x=true, const bool uppercase=true)
Converts an integer to a hexadecimal string.
Definition: string_format.cpp:81
std::string i2s(const int i)
Definition: string_formatting.hpp:32
Definition: filesystem.cpp:34