Класс содержит две таблицы функций: префиксную и постфиксную. Используется для смены набора функций при вычислении выражений.
Калькуляторы можно копировать.
TODO: detail description
T | тип возвращаемого значения, например double, float, int. |
typedef T ValueType |
The value type.
ValueType operator() | ( | std::basic_istream< Ch, Tr > & | expression | ) | const [inline] |
Вычислить первое выражение из потока ввода.
Метод вычисляет первое выражение из потока ввода expression пока не будет достигнуто окончание выражения (которое может не совпадать с окончанием потока ввода).
Если поток ввода не содержит выражения или выражение некорректно, будет сгенерировано исключение.
[in,out] | expression | Поток ввода. |
omni::calc::ex::SyntaxError | Если выражение некорректно. | |
omni::calc::ex::CalculationError | Если выражение содержит вычислительные ошибки. |
ValueType operator() | ( | const std::basic_string< Ch, Tr, Ax > & | expression | ) | const [inline] |
Вычислить выражение из строки.
Метод вычисляет выражение из строки expression.
Если выражение некорректно или строка содержит более одного выражения будет сгенерировано исключение.
[in] | expression | Строковое выражение. |
omni::calc::ex::SyntaxError | Если выражение некорректно. | |
omni::calc::ex::CalculationError | Если выражение содержит вычислительные ошибки. |
ValueType operator() | ( | const Ch * | expression | ) | const [inline] |
Вычислить выражение из C-строки.
Метод вычисляет выражение из C-строки expression.
Если выражение некорректно или строка содержит более одного выражения будет сгенерировано исключение.
[in] | expression | Строковое выражение. |
omni::calc::ex::SyntaxError | Если выражение некорректно. | |
omni::calc::ex::CalculationError | Если выражение содержит вычислительные ошибки. |
const TableType& prefix | ( | ) | const [inline] |
Таблица префиксных функций.
Метод возвращает таблицу префиксных функций.
TableType& prefix | ( | ) | [inline] |
Таблица префиксных функций.
Метод возвращает таблицу префиксных функций.
const TableType& suffix | ( | ) | const [inline] |
Таблица суффиксных функций.
Метод возвращает таблицу суфиксных функций.
TableType& suffix | ( | ) | [inline] |
Таблица суффиксных функций.
Метод возвращает таблицу суфиксных функций.
bool is_integer | ( | ) | const [inline] |
Целочисленная арифметика.
Метод возвращает true если калькулятор предназначен для вычисления только целочисленных выражений, иначе false (т.е. калькулятор предназначен для вычисления вещественных выражений).