#include <Function.h>

Public Member Functions | |
| Argument (string name_="", bool does_test=true, bool does_error=true) | |
| Argument (const Argument *arg) | |
| virtual | ~Argument () |
| virtual void | set (const Argument *arg) |
| virtual Argument * | copy () const |
| virtual string | print () const |
| string | printlong () const |
| bool | test (MathStructure &value, int index, MathFunction *f, const EvaluationOptions &eo=default_evaluation_options) const |
| virtual MathStructure | parse (const string &str, const ParseOptions &po=default_parse_options) const |
| virtual void | parse (MathStructure *mstruct, const string &str, const ParseOptions &po=default_parse_options) const |
| string | name () const |
| void | setName (string name_) |
| void | setCustomCondition (string condition) |
| string | getCustomCondition () const |
| bool | tests () const |
| void | setTests (bool does_error) |
| bool | alerts () const |
| void | setAlerts (bool does_error) |
| bool | zeroForbidden () const |
| void | setZeroForbidden (bool forbid_zero) |
| bool | matrixAllowed () const |
| void | setMatrixAllowed (bool allow_matrix) |
| bool | rationalPolynomial () const |
| void | setRationalPolynomial (bool rational_polynomial) |
| virtual bool | suggestsQuotes () const |
| virtual int | type () const |
Protected Member Functions | |
| virtual bool | subtest (MathStructure &value, const EvaluationOptions &eo) const |
| virtual string | subprintlong () const |
Protected Attributes | |
| string | sname |
| string | scondition |
| bool | b_zero |
| bool | b_test |
| bool | b_matrix |
| bool | b_text |
| bool | b_error |
| bool | b_rational |
Free arguments accepts any value.
| Argument::Argument | ( | string | name_ = "", |
|
| bool | does_test = true, |
|||
| bool | does_error = true | |||
| ) |
Creates a new argument definition.
| name | Name/title of the argument definition. | |
| does_test | If argument values will be tested. | |
| does_error | If an error will issued if the value tests false. |
| Argument::Argument | ( | const Argument * | arg | ) |
| virtual Argument::~Argument | ( | ) | [virtual] |
Destructor
| virtual bool Argument::subtest | ( | MathStructure & | value, | |
| const EvaluationOptions & | eo | |||
| ) | const [protected, virtual] |
This function is called from Argument::test() and performs validation specific to the argument definition type. Should be reimplemented by all subclasses.
| value | Value to test. | |
| eo | Evaluation options to use if the value needs to be evaluated. |
Reimplemented in DataPropertyArgument, DataObjectArgument, NumberArgument, IntegerArgument, SymbolicArgument, TextArgument, DateArgument, VectorArgument, MatrixArgument, ExpressionItemArgument, FunctionArgument, BooleanArgument, and ArgumentSet.
| virtual string Argument::subprintlong | ( | ) | const [protected, virtual] |
This function is called from Argument::printlong() and returns description specific the argument definition type. Should be reimplemented by all subclasses. For example IntegerArgument::subprintlong() might return "an integer" and Argument::printlong() might append " that fulfills the condition: even(\x)".
Reimplemented in DataPropertyArgument, DataObjectArgument, NumberArgument, IntegerArgument, SymbolicArgument, TextArgument, DateArgument, VectorArgument, MatrixArgument, ExpressionItemArgument, FunctionArgument, BooleanArgument, and ArgumentSet.
| virtual void Argument::set | ( | const Argument * | arg | ) | [virtual] |
Sets the argument to a copy of an argument definition.
| arg | Argument to copy. |
Reimplemented in NumberArgument, and IntegerArgument.
| virtual Argument* Argument::copy | ( | ) | const [virtual] |
Returns a copy of the argument definition.
Reimplemented in DataPropertyArgument, DataObjectArgument, NumberArgument, IntegerArgument, SymbolicArgument, TextArgument, DateArgument, VectorArgument, MatrixArgument, ExpressionItemArgument, FunctionArgument, BooleanArgument, and ArgumentSet.
| virtual string Argument::print | ( | ) | const [virtual] |
Resturns a short description of the argument definition. Ex. "number" for NumberArgument.
Reimplemented in DataPropertyArgument, DataObjectArgument, NumberArgument, IntegerArgument, SymbolicArgument, TextArgument, DateArgument, VectorArgument, MatrixArgument, ExpressionItemArgument, FunctionArgument, BooleanArgument, and ArgumentSet.
| string Argument::printlong | ( | ) | const |
Resturns a long description of the argument definition. Ex. "A real number > 2".
| bool Argument::test | ( | MathStructure & | value, | |
| int | index, | |||
| MathFunction * | f, | |||
| const EvaluationOptions & | eo = default_evaluation_options | |||
| ) | const |
Tests if a value fulfils the requirements of the argument definition. The value might change if it has not been fully evaluated.
| value | Value to test. | |
| f | Mathematical function that the value is an argument for. | |
| eo | Evaluation options to use if the value needs to be evaluated. |
| virtual MathStructure Argument::parse | ( | const string & | str, | |
| const ParseOptions & | po = default_parse_options | |||
| ) | const [virtual] |
Parses an expression for an argument value. The default behavior is to use Calculator::parse() directly.
| str | Expression. | |
| po | Parse options. |
| virtual void Argument::parse | ( | MathStructure * | mstruct, | |
| const string & | str, | |||
| const ParseOptions & | po = default_parse_options | |||
| ) | const [virtual] |
Parses an expression for an argument value. The default behavior is to use Calculator::parse() directly.
| mstruct | Mathematical structure to set with the parsed expression. | |
| str | Expression. | |
| po | Parse options. |
| string Argument::name | ( | ) | const |
Returns the name/title of the argument definition.
| void Argument::setName | ( | string | name_ | ) |
Sets the name/title of the argument definition.
| name_ | New name/title. |
| void Argument::setCustomCondition | ( | string | condition | ) |
Sets a custom condition for argument values. '' is replaced by the argument value in the expression.
| condition | Condition expression. |
| string Argument::getCustomCondition | ( | ) | const |
Returns the custom condition expression set for argument values.
| bool Argument::tests | ( | ) | const |
If the value for the argument will be tested. If not, the argument only works as an suggestion and any value is allowed.
| bool Argument::alerts | ( | ) | const |
If an error message will be presented to the user if the value for the argument is not allowed.
| bool Argument::zeroForbidden | ( | ) | const |
If an argument value of zero is forbidden.
| void Argument::setZeroForbidden | ( | bool | forbid_zero | ) |
Sets if a value of zero is forbidden for the argument value.
| forbid_zero | If zero shall be forbidden. |
| bool Argument::rationalPolynomial | ( | ) | const |
If only rational polynomials are allowed as argument value.
| virtual int Argument::type | ( | ) | const [virtual] |
Returns the type of the argument, corresponding to which subclass the object belongs to.
Reimplemented in DataPropertyArgument, DataObjectArgument, NumberArgument, IntegerArgument, SymbolicArgument, TextArgument, DateArgument, VectorArgument, MatrixArgument, ExpressionItemArgument, FunctionArgument, BooleanArgument, and ArgumentSet.
1.5.5