26#include <platform.hpp>
32using namespace std::literals;
69 template<
typename StatusType,
typename ResultT, StringLiteral ResultTName>
97 std::vector<std::string> _out,
110 [[nodiscard(
"Output should be used")]] std::string
getOutput(
size_t idx = 0)
const
121 [[nodiscard(
"Inputs should be used")]] std::vector<std::string>
getInputs()
const {
return inputs; }
125 template<
typename ResultT>
129 template<
typename ResultT>
A base class for a result of a calculation. You should use the Result and ResultBool aliases instead ...
Definition result.hpp:71
ResultT getResult() const
Definition result.hpp:107
std::vector< std::string > inputs
Definition result.hpp:76
StatusType getStatus() const
Gets how the calculation is done.
Definition result.hpp:105
Status done
Definition result.hpp:73
ResultT result
Definition result.hpp:83
std::vector< std::string > getInputs() const
Gets the inputs to the calculation.
Definition result.hpp:121
ResultBase(const std::vector< std::string > &_inputs, std::vector< std::string > _out, ResultT result, StatusType _done)
Constructs a new result object.
Definition result.hpp:96
std::string getOutput(size_t idx=0) const
Gets the output of the calculation.
Definition result.hpp:110
std::vector< std::string > outputs
Definition result.hpp:79
The namespace containing utility functions for the Steppable library.
Definition argParse.cpp:40
void programSafeExit(const int status)
Exit the program safely.
Definition platform.hpp:59
void error(const std::string &name, const std::basic_string< T > &msg, const std::vector< std::string > &args={})
Prints an error message.
Definition output.hpp:80
The namespace containing types used in the steppable calculator.
ResultBase< StatusBool, ResultT, StringLiteral{ "bool" }> ResultBool
An alias for a result of a boolean calculation.
Definition result.hpp:130
ResultBase< Status, ResultT, StringLiteral{ "str" }> Result
An alias for a result of a calculation. This represents a calculation with a Status status.
Definition result.hpp:126
Status
The status of the calculation.
Definition result.hpp:45
@ MATH_ERROR
Definition result.hpp:48
@ CALCULATED_UNSIMPLIFIED
Definition result.hpp:47
@ CALCULATED_SIMPLIFIED
Definition result.hpp:46
StatusBool
The status of a boolean calculation.
Definition result.hpp:55
@ CALCULATED_UNSIMPLIFIED_YES
Definition result.hpp:58
@ CALCULATED_SIMPLIFIED_NO
Definition result.hpp:57
@ CALCULATED_UNSIMPLIFIED_NO
Definition result.hpp:59
@ CALCULATED_SIMPLIFIED_YES
Definition result.hpp:56
String literal workaround for templates.
Definition util.hpp:223