The calculator_base.h file is present in the chapter_5_codes/pluginlib_calculator/include/pluginlib_calculator folder and the main purpose of this file is to declare functions/methods that are commonly used by the plugins:
namespace calculator_base { class calc_functions {
Inside this code, we declare a class called calc_functions that encapsulate methods used by the plugins. This class is included in a namespace called calculator_base. We can add more classes inside this namespace to expand the functionalities of this base class:
virtual void get_numbers(double number1, double number2) = 0; virtual double operation() = 0;
These are the main methods implemented inside the calc_function class. The get_number() function can retrieve two numbers as input to the calculator, and the operation() function defines the mathematical operation we want to perform.