Files
linuxSmartie/include/utils.hpp
2025-12-14 14:45:06 +01:00

30 lines
983 B
C++

#ifndef UTILS_HPP
#define UTILS_HPP
#include <cstdint>
#include <format>
#include <string>
#define FILL_CHAR ' '
// wrapper around readFile func so we can avoid readFileToStr and reuse one buffer, this should be faster and less bug prone?
#define fastReadNum(path, val) readFile(path, buf, sizeof(buf)); val = strtoll(buf, NULL, 10)
enum JUST {
RIGHT,
LEFT
};
// pretty prints num with given decs, 0 by default. its basically a macro so we inline it
inline std::string pNum(auto num, uint8_t decs = 0) { return std::format("{:.{}f}", num, decs); }
std::string pad(std::string s, uint8_t len, JUST j = JUST::RIGHT);
std::string center(std::string str, uint8_t len);
std::string pBytes(double bytes, bool isKbytes = false);
std::string readFileToStr(std::string path, size_t trim = 4096);
ssize_t readFile(std::string path, char* buffer, size_t maxlen);
ssize_t readFile(const char* path, char* buffer, size_t maxlen);
std::string getFirstDir(std::string_view path);
#endif