libqalculate-5.4.0
VectorArgument Class Reference

A std::vector argument. More...

#include <Function.h>

Inheritance diagram for VectorArgument:
Argument

Public Member Functions

 VectorArgument (std::string name_="", bool does_test=true, bool allow_matrix=false, bool does_error=true)
 
 VectorArgument (const VectorArgument *arg)
 
virtual int type () const
 
virtual Argumentcopy () const
 
virtual std::string print () const
 
bool reoccuringArguments () const
 
void setReoccuringArguments (bool reocc)
 
void addArgument (Argument *arg)
 
void delArgument (size_t index)
 
size_t countArguments () const
 
ArgumentgetArgument (size_t index) const
 
- Public Member Functions inherited from Argument
 Argument (std::string name_="", bool does_test=true, bool does_error=true)
 
 Argument (const Argument *arg)
 
virtual ~Argument ()
 
virtual void set (const Argument *arg)
 
std::string printlong () const
 
bool test (MathStructure &value, int index, MathFunction *f, const EvaluationOptions &eo=default_evaluation_options) const
 
virtual MathStructure parse (const std::string &str, const ParseOptions &po=default_parse_options) const
 
virtual void parse (MathStructure *mstruct, const std::string &str, const ParseOptions &po=default_parse_options) const
 
std::string name () const
 
void setName (std::string name_)
 
void setCustomCondition (std::string condition)
 
std::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 handlesVector () const
 
void setHandleVector (bool handle_vector)
 
bool isLastArgument () const
 
void setIsLastArgument (bool is_last)
 
bool rationalPolynomial () const
 
void setRationalPolynomial (bool rational_polynomial)
 
virtual bool suggestsQuotes () const
 

Protected Member Functions

virtual bool subtest (MathStructure &value, const EvaluationOptions &eo) const
 
virtual std::string subprintlong () const
 
- Protected Member Functions inherited from Argument

Protected Attributes

std::vector< Argument * > subargs
 
bool b_argloop
 
- Protected Attributes inherited from Argument
std::string sname
 
std::string scondition
 
bool b_zero
 
bool b_test
 
bool b_matrix
 
bool b_text
 
bool b_error
 
bool b_rational
 
bool b_last
 
bool b_handle_vector
 

Detailed Description

A std::vector argument.

Member Function Documentation

◆ copy()

virtual Argument * VectorArgument::copy ( ) const
virtual

Returns a copy of the argument definition.

Returns
A copy.

Reimplemented from Argument.

◆ print()

virtual std::string VectorArgument::print ( ) const
virtual

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

Returns
Short description.

Reimplemented from Argument.

◆ subprintlong()

virtual std::string VectorArgument::subprintlong ( ) const
protectedvirtual

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.

◆ subtest()

virtual bool VectorArgument::subtest ( MathStructure & value,
const EvaluationOptions & eo ) const
protectedvirtual

This function is called from Argument::test() and performs validation specific to the argument definition type. Should be reimplemented by all subclasses.

Parameters
valueValue to test.
eoEvaluation options to use if the value needs to be evaluated.
Returns
true if the value is valid for the argument definition.

Reimplemented from Argument.

◆ type()

virtual int VectorArgument::type ( ) const
virtual

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

Returns
ArgumentType.

Reimplemented from Argument.


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