-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoperation_handler.h
24 lines (20 loc) · 1.02 KB
/
operation_handler.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once
#include <iostream>
class OperationHandler {
public:
OperationHandler()= default;
~OperationHandler()= default;
using StringVector = std::vector<std::string>;
static std::string join_operation_stack(const StringVector&);
static uint count_of_numbers_operated(const std::string&);
static bool contains_operator(const std::string&, const char&);
static bool contains_operators_in_string(const std::string&, const std::vector<char>&);
static bool contains_operator_in_stack(const StringVector &, const char &);
static char get_first_in_precedence(const std::string&, const std::vector<char>&);
static StringVector evaluate_parenthesis(const std::string &);
static StringVector simplify_by_operator(StringVector&, const char&);
static StringVector tokenize_operation(const std::string&);
static std::string simplify_by_operator(const std::string&, const char&);
static std::string simplify_operators(std::string);
static StringVector simplify_operators(StringVector);
};