26[[nodiscard]] std::string
utc_now();
74 template <
typename F>
decltype(
auto)
measure(F&& function)
77 if constexpr (std::is_void_v<std::invoke_result_t<F>>)
79 std::invoke(std::forward<F>(function));
84 decltype(
auto) result = std::invoke(std::forward<F>(function));
93 [[nodiscard]]
bool finished()
const {
return final_.has_value(); }
96 void begin_computation();
97 void end_computation();
102 std::optional<run_clock_sample> computation_start_;
103 std::optional<long double> computation_cpu_ = 0;
104 std::optional<metadata_document> final_;
109 bool detail =
false);
Builder for simple terminal reports with headings, status lines, fields, and tables.
Definition presentation.hpp:602
Definition run_context.hpp:61
void finish()
End the interval explicitly, reporting clock errors to the caller.
Definition run_context.cpp:143
computation_scope(computation_scope const &)=delete
~computation_scope() noexcept
Definition run_context.cpp:134
computation_scope & operator=(computation_scope const &)=delete
Parser-independent run state.
Definition run_context.hpp:50
run_context(run_context const &)=delete
decltype(auto) measure(F &&function)
Definition run_context.hpp:74
run_context & operator=(run_context const &)=delete
std::vector< std::string > const & invocation() const
Definition run_context.hpp:58
metadata_document snapshot() const
Definition run_context.hpp:57
metadata_document & metadata()
Definition run_context.cpp:102
computation_scope computation()
Definition run_context.hpp:73
presentation::program_info const & program() const
Definition run_context.hpp:59
bool finished() const
Definition run_context.hpp:93
locale_t value
Definition data_table.cpp:49
presentation::styled_text text
Definition display.cpp:141
Definition async/async.hpp:26
presentation::report_builder metadata_report(metadata_document const &document, std::string title, bool detail)
Render ordered groups without using display strings as the machine metadata source.
Definition run_context.cpp:165
run_outcome
Definition run_context.hpp:31
run_clock_sample system_run_clock()
Definition run_context.cpp:24
std::string utc_now()
Definition run_context.cpp:35
auto to_string(basic_half_int< T > value) -> std::string
Format a half-integer as an integer or decimal .5.
Definition half_int.hpp:477
std::string metadata_line(std::string_view text)
Escape control bytes for a single human-readable metadata line.
Definition run_context.cpp:46
Parser-independent application identity and help documents.
Application identity and explanatory content, independent of any option parser.
Definition program.hpp:32
One clock sample; unavailable process CPU time is distinct from zero.
Definition run_context.hpp:20
long double monotonic_seconds
Definition run_context.hpp:21
std::optional< long double > process_cpu_seconds
Definition run_context.hpp:22
Definition run_context.hpp:40
std::vector< std::string > invocation
Empty omits invocation capture; supply owned argv tokens explicitly to opt in.
Definition run_context.hpp:44
std::function< run_clock_sample()> clock
Definition run_context.hpp:41
std::function< std::string()> utc
Definition run_context.hpp:42