blob: b832e7203ede261bb4a8a573fcf2e6008872e68f [file] [log] [blame]
Andrew Jefferya05437e2022-04-07 16:17:21 +09301/*
2// Copyright (c) 2017 Intel Corporation
3// Copyright (c) 2022 IBM Corp.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16*/
17
18#pragma once
19
20#include <optional>
21#include <string>
22
23namespace expression
24{
25enum class Operation
26{
27 addition,
28 division,
29 multiplication,
30 subtraction,
31 modulo,
32};
33
34std::optional<Operation> parseOperation(std::string& op);
35int evaluate(int a, Operation op, int b);
36} // namespace expression