include/meltpooldg/utilities/journal.hpp Source File

Developer Documentation: include/meltpooldg/utilities/journal.hpp Source File
Developer Documentation
journal.hpp
Go to the documentation of this file.
1#pragma once
3
4#include <functional>
5#include <iomanip>
6
8{
9 // maximum character width of terminal text
10 static constexpr int max_text_width = 100;
11
18 inline void
20 {
21 pcout << "+" << std::string(max_text_width - 2, '-') << "+" << std::endl;
22 }
23
37 void
38 print_line(const ConditionalOStream &pcout,
39 const std::string &text = "",
40 const std::string &operation_name = "",
41 const unsigned int extra_size = 0);
42
46 void
48 const std::string &text = "",
49 const std::string &operation_name = "",
50 const unsigned int extra_size = 0);
51
59 inline void
60 print_header(const ConditionalOStream &pcout, const std::string &header)
61 {
63 print_line(pcout, std::string(0.5 * (max_text_width - header.size()), ' ') + header);
65 }
66
72 inline void
74 {
76 print_line(pcout, " end of simulation");
78 }
79
85 inline void
87 {
89 print_line(pcout, std::string(48, ' ') + "MeltPoolDG");
91 }
92
104 template <typename number>
105 void
107 const number norm_value,
108 const std::string &norm_id,
109 const std::string &operation_name,
110 const unsigned int precision = 6,
111 const std::string &norm_suffix = "L2",
112 const unsigned int extra_size = 0);
113
127 template <typename number>
128 void
130 const std::function<number()> &compute_norm,
131 const std::string &norm_id,
132 const std::string &operation_name,
133 const unsigned int precision = 6,
134 const std::string &norm_suffix = "L2",
135 const unsigned int extra_size = 0);
136} // namespace MeltPoolDG::Journal
Definition conditional_ostream.hpp:7
Definition journal.hpp:8
void print_decoration_line(const ConditionalOStream &pcout)
Definition journal.hpp:19
void print_formatted_norm(const ConditionalOStream &pcout, const number norm_value, const std::string &norm_id, const std::string &operation_name, const unsigned int precision=6, const std::string &norm_suffix="L2", const unsigned int extra_size=0)
Definition journal.cpp:40
static constexpr int max_text_width
Definition journal.hpp:10
void print_start(const ConditionalOStream &pcout)
Definition journal.hpp:86
void print_line(const ConditionalOStream &pcout, const std::string &text="", const std::string &operation_name="", const unsigned int extra_size=0)
Definition journal.cpp:11
void print_line_with_decoration(const ConditionalOStream &pcout, const std::string &text="", const std::string &operation_name="", const unsigned int extra_size=0)
Definition journal.cpp:24
void print_header(const ConditionalOStream &pcout, const std::string &header)
Prints a formatted header consisting of a centered text surrounded by decorative lines above and belo...
Definition journal.hpp:60
void print_end(const ConditionalOStream &pcout)
Definition journal.hpp:73