# libqalculate/Function.h File Reference

`#include <libqalculate/ExpressionItem.h>`
`#include <libqalculate/includes.h>`

## Classes
class | MathFunction
| Abstract base class for mathematical functions. More...
class | UserFunction
| A user defined mathematical function. More...
class | Argument
| A mathematical function argument definition with free value and base class for all argument definitions. More...
class | NumberArgument
| A definition for numerical arguments. More...
class | IntegerArgument
| A definition for integer arguments. More...
class | SymbolicArgument
| A symbolic argument. More...
class | TextArgument
| A text argument. More...
class | DateArgument
| A date argument. More...
class | VectorArgument
| A vector argument. More...
class | MatrixArgument
| A matrix argument. More...
class | ExpressionItemArgument
| Argument for functions, variables and units. More...
class | FunctionArgument
| A function argument. More...
class | BooleanArgument
| A boolean argument. More...
class | UnitArgument
class | AngleArgument
class | VariableArgument
class | FileArgument
class | ArgumentSet
| A set of accepted arguments. More...
## Enumerations
enum | ArgumentType { ARGUMENT_TYPE_FREE, ARGUMENT_TYPE_SYMBOLIC, ARGUMENT_TYPE_TEXT, ARGUMENT_TYPE_DATE, ARGUMENT_TYPE_FILE, ARGUMENT_TYPE_INTEGER, ARGUMENT_TYPE_NUMBER, ARGUMENT_TYPE_VECTOR, ARGUMENT_TYPE_MATRIX, ARGUMENT_TYPE_EXPRESSION_ITEM, ARGUMENT_TYPE_FUNCTION, ARGUMENT_TYPE_UNIT, ARGUMENT_TYPE_BOOLEAN, ARGUMENT_TYPE_VARIABLE, ARGUMENT_TYPE_ANGLE, ARGUMENT_TYPE_SET, ARGUMENT_TYPE_DATA_OBJECT, ARGUMENT_TYPE_DATA_PROPERTY }
| Argument types.
enum | ArgumentMinMaxPreDefinition { ARGUMENT_MIN_MAX_NONE, ARGUMENT_MIN_MAX_POSITIVE, ARGUMENT_MIN_MAX_NONZERO, ARGUMENT_MIN_MAX_NONNEGATIVE, ARGUMENT_MIN_MAX_NEGATIVE }
| Predefined max and min values for number and integer arguments.
enum | FunctionSubtype { SUBTYPE_FUNCTION, SUBTYPE_USER_FUNCTION, SUBTYPE_DATA_SET }
| Type of mathematical function. More...

## Detailed Description

## Enumeration Type Documentation

enum FunctionSubtype

Type of mathematical function.

Enumerator:

  SUBTYPE_FUNCTION | class MathFunction
  SUBTYPE_USER_FUNCTION | class UseFunction
  SUBTYPE_DATA_SET | class DataSet