Program Listing for File print.hpp
↰ Return to documentation for file (src/utils/print.hpp)
//
// Created by Zack Williams on 29/01/2021.
//
#ifndef UW12_PRINT_HPP
#define UW12_PRINT_HPP
#include <iomanip>
#include <iostream>
#include <string>
namespace uw12::print {
inline void print_character_line(const char character, const size_t n) {
for (size_t i = 0; i < n; ++i) {
std::cout << character;
}
std::cout << std::endl;
}
inline void print_header(const std::string &string, const size_t width = 48) {
std::cout << std::endl;
print_character_line('=', width);
std::cout << " " << string << std::endl;
print_character_line('=', width);
}
inline void print_result(
const std::string &string, const double result, const size_t width = 32
) {
const auto size = string.size();
if (size > width) {
throw std::logic_error("Output string exceeds size of print block");
}
const auto pad = width - size;
std::cout << " " << string << ":";
for (size_t i = 0; i < pad; ++i) {
std::cout << " ";
}
std::cout << std::setw(12) << std::fixed << std::right << std::setprecision(6)
<< result << std::endl;
}
} // namespace uw12::print
#endif // UW12_PRINT_HPP