26 lines
730 B
C++
26 lines
730 B
C++
#ifndef CALCULATOR_CHALLENGE_CALCULATORCLI_HPP
|
|
#define CALCULATOR_CHALLENGE_CALCULATORCLI_HPP
|
|
|
|
#include "BinaryOperatorFactory.hpp"
|
|
#include "Calculator.hpp"
|
|
|
|
class CalculatorCli
|
|
{
|
|
public:
|
|
CalculatorCli() noexcept = default;
|
|
CalculatorCli(const CalculatorCli&) noexcept = delete;
|
|
CalculatorCli(CalculatorCli&&) noexcept = delete;
|
|
auto operator=(const CalculatorCli&) noexcept -> CalculatorCli& = delete;
|
|
auto operator=(CalculatorCli&&) noexcept -> CalculatorCli& = delete;
|
|
~CalculatorCli() noexcept = default;
|
|
|
|
auto parse(std::string_view text) noexcept -> std::string;
|
|
void runLoop() noexcept;
|
|
|
|
private:
|
|
Calculator _calculator;
|
|
BinaryOperatorFactory<double> _operation_factory;
|
|
};
|
|
|
|
#endif
|