BioCMAMC-ST
cli_parser.hpp
1#ifndef __CLI_PARSER_HPP__
2#define __CLI_PARSER_HPP__
3
4#include <common/logger.hpp>
5#include <common/results.hpp>
6#include <core/simulation_parameters.hpp>
7#include <memory>
8#include <utility>
9
10// TODO WIP
11template <typename S> struct CliResults : Result<S, std::string>
12{
13 explicit CliResults(std::string_view t) noexcept
14 : Result<S, std::string>(std::string(t))
15 {
16 }
17
18 explicit CliResults(S&& value) noexcept
19 : Result<S, std::string>(std::move(value))
20 {
21 }
22
23 explicit constexpr CliResults() noexcept = default;
24
25 explicit operator CliResults<S>() &&
26 {
27 return CliResults<S>(std::move(*this));
28 }
29
30 explicit operator CliResults<S>() const&
31 {
32 return CliResults<S>(this->get());
33 }
34};
35
53 const std::shared_ptr<IO::Logger>& logger, int argc, char** argv) noexcept;
54
58std::string get_help_message() noexcept;
59
60#endif //__CLI_PARSER_HPP__
Definition cli_parser.hpp:12
CliResults(std::string_view t) noexcept
Definition cli_parser.hpp:13
constexpr CliResults() noexcept=default
CliResults(S &&value) noexcept
Definition cli_parser.hpp:18
constexpr auto get() const noexcept -> std::string
Definition results.hpp:36
constexpr Result() noexcept
Definition results.hpp:13