# ArgumentSet Class Reference

A set of accepted arguments. More...

`#include <Function.h>`

Inheritance diagram for ArgumentSet:

List of all members.

## Public Member Functions
| ArgumentSet (string name_="", bool does_test=true, bool does_error=true)
| ArgumentSet (const ArgumentSet *arg)
virtual int | type () const
virtual Argument * | copy () const
virtual string | print () const
void | addArgument (Argument *arg)
void | delArgument (size_t index)
size_t | countArguments () const
Argument * | getArgument (size_t index) const
## Protected Member Functions
virtual bool | subtest (MathStructure &value, const EvaluationOptions &eo) const
virtual string | subprintlong () const
## Protected Attributes
vector< Argument * > | subargs

## Detailed Description

A set of accepted arguments.

This is used when several different type of argments shall be accepted by a function.

## Member Function Documentation

virtual bool ArgumentSet::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.

Parameters:

  | value | Value to test.
  | eo | Evaluation options to use if the value needs to be evaluated.

Returns:
  true if the value is valid for the argument definition.

Reimplemented from Argument.

virtual string ArgumentSet::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)".

Returns:
  Long description.

Reimplemented from Argument.

virtual int ArgumentSet::type | ( |  | ) | const`[virtual]`

Returns the type of the argument, corresponding to which subclass the object belongs to.

Returns:
  ArgumentType.

Reimplemented from Argument.

virtual Argument* ArgumentSet::copy | ( |  | ) | const`[virtual]`

Returns a copy of the argument definition.

Returns:
  A copy.

Reimplemented from Argument.

virtual string ArgumentSet::print | ( |  | ) | const`[virtual]`

Resturns a short description of the argument definition. Ex. "number" for NumberArgument.

Returns:
  Short description.

Reimplemented from Argument.

The documentation for this class was generated from the following file:

- libqalculate/Function.h