Calculator Class Template Reference

List of all members.

Detailed Description

template<typename T>
class omni::calc::Calculator< T >

Калькулятор.

Класс содержит две таблицы функций: префиксную и постфиксную. Используется для смены набора функций при вычислении выражений.

Калькуляторы можно копировать.

TODO: detail description

Parameters:
T тип возвращаемого значения, например double, float, int.
See also:
Evaluation tools

Вычислить выражение

Таблицы функций

Свойства

Public Types


Member Typedef Documentation

typedef FuncTable<T> TableType

The table of functions.

typedef T ValueType

The value type.


Member Function Documentation

ValueType operator() ( std::basic_istream< Ch, Tr > &  expression  )  const [inline]

Вычислить первое выражение из потока ввода.

Метод вычисляет первое выражение из потока ввода expression пока не будет достигнуто окончание выражения (которое может не совпадать с окончанием потока ввода).

Если поток ввода не содержит выражения или выражение некорректно, будет сгенерировано исключение.

Parameters:
[in,out] expression Поток ввода.
Returns:
Значение выражения.
Exceptions:
omni::calc::ex::SyntaxError Если выражение некорректно.
omni::calc::ex::CalculationError Если выражение содержит вычислительные ошибки.

ValueType operator() ( const std::basic_string< Ch, Tr, Ax > &  expression  )  const [inline]

Вычислить выражение из строки.

Метод вычисляет выражение из строки expression.

Если выражение некорректно или строка содержит более одного выражения будет сгенерировано исключение.

Parameters:
[in] expression Строковое выражение.
Returns:
Значение выражения.
Exceptions:
omni::calc::ex::SyntaxError Если выражение некорректно.
omni::calc::ex::CalculationError Если выражение содержит вычислительные ошибки.

ValueType operator() ( const Ch *  expression  )  const [inline]

Вычислить выражение из C-строки.

Метод вычисляет выражение из C-строки expression.

Если выражение некорректно или строка содержит более одного выражения будет сгенерировано исключение.

Parameters:
[in] expression Строковое выражение.
Returns:
Значение выражения.
Exceptions:
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 (т.е. калькулятор предназначен для вычисления вещественных выражений).


Generated on Wed Jun 6 17:27:47 2007 for OMNI by  doxygen 1.5.2