DataSet Class Reference

A data set. More...

`#include <DataSet.h>`

Inheritance diagram for DataSet:

## Public Member Functions

| DataSet (std::string s_category="", std::string s_name="", std::string s_default_file="", std::string s_title="", std::string s_description="", bool is_local=true)
| DataSet (const DataSet *o)
ExpressionItem * | copy () const
void | set (const ExpressionItem *item)
int | subtype () const
void | setCopyright (std::string s_copyright)
const std::string & | copyright () const
void | setDefaultDataFile (std::string s_file)
const std::string & | defaultDataFile () const
void | setDefaultProperty (std::string property)
const std::string & | defaultProperty () const
virtual int | calculate (MathStructure &mstruct, const MathStructure &vargs, const EvaluationOptions &eo)
bool | loadObjects (const char *file_name=NULL, bool is_user_defs=true)
int | saveObjects (const char *file_name=NULL, bool save_global=false)
bool | objectsLoaded () const
void | setObjectsLoaded (bool objects_loaded)
void | addProperty (DataProperty *dp)
void | delProperty (DataProperty *dp)
void | delProperty (DataPropertyIter *it)
DataProperty * | getPrimaryKeyProperty ()
DataProperty * | getProperty (std::string property)
DataProperty * | getFirstProperty (DataPropertyIter *it)
DataProperty * | getNextProperty (DataPropertyIter *it)
const std::string & | getFirstPropertyName (DataPropertyIter *it)
const std::string & | getNextPropertyName (DataPropertyIter *it)
void | addObject (DataObject *o)
void | delObject (DataObject *o)
void | delObject (DataObjectIter *it)
DataObject * | getObject (std::string object)
DataObject * | getObject (const MathStructure &object)
DataObject * | getFirstObject (DataObjectIter *it)
DataObject * | getNextObject (DataObjectIter *it)
const MathStructure * | getObjectProperyStruct (std::string property, std::string object)
const std::string & | getObjectProperty (std::string property, std::string object)
std::string | getObjectPropertyInputString (std::string property, std::string object)
std::string | getObjectPropertyDisplayString (std::string property, std::string object)
std::string | printProperties (std::string object)
std::string | printProperties (DataObject *o)
Public Member Functions inherited from MathFunction
| MathFunction (std::string name_, int argc_, int max_argc_=0, std::string cat_="", std::string title_="", std::string descr_="", bool is_active=true)
| MathFunction (const MathFunction *function)
virtual int | type () const
virtual int | id () const
std::string | example (bool raw_format=false, std::string name_string="") const
void | setExample (std::string new_example)
bool | testArgumentCount (int itmp)
virtual MathStructure | calculate (const std::string &eq, const EvaluationOptions &eo=default_evaluation_options)
virtual MathStructure | parse (const std::string &eq, const ParseOptions &po=default_parse_options)
virtual int | parse (MathStructure &mstruct, const std::string &eq, const ParseOptions &po=default_parse_options)
virtual MathStructure | calculate (MathStructure &vargs, const EvaluationOptions &eo=default_evaluation_options)
std::string | condition () const
std::string | printCondition ()
void | setCondition (std::string expression)
bool | testCondition (const MathStructure &vargs)
int | args () const
int | minargs () const
int | maxargs () const
int | args (const std::string &str, MathStructure &vargs, const ParseOptions &po=default_parse_options)
size_t | lastArgumentDefinitionIndex () const
Argument * | getArgumentDefinition (size_t index)
void | clearArgumentDefinitions ()
void | setArgumentDefinition (size_t index, Argument *argdef)
int | stringArgs (const std::string &str, std::vector< std::string > &svargs)
void | setDefaultValue (size_t arg_, std::string value_)
const std::string & | getDefaultValue (size_t arg_) const
void | appendDefaultValues (MathStructure &vargs)
MathStructure | produceVector (const MathStructure &vargs, int begin=-1, int end=-1)
MathStructure | produceArgumentsVector (const MathStructure &vargs, int begin=-1, int end=-1)
virtual bool | representsPositive (const MathStructure &, bool=false) const
virtual bool | representsNegative (const MathStructure &, bool=false) const
virtual bool | representsNonNegative (const MathStructure &, bool=false) const
virtual bool | representsNonPositive (const MathStructure &, bool=false) const
virtual bool | representsInteger (const MathStructure &, bool=false) const
virtual bool | representsNumber (const MathStructure &, bool=false) const
virtual bool | representsRational (const MathStructure &, bool=false) const
virtual bool | representsNonComplex (const MathStructure &, bool=false) const
virtual bool | representsReal (const MathStructure &, bool=false) const
virtual bool | representsComplex (const MathStructure &, bool=false) const
virtual bool | representsNonZero (const MathStructure &, bool=false) const
virtual bool | representsEven (const MathStructure &, bool=false) const
virtual bool | representsOdd (const MathStructure &, bool=false) const
virtual bool | representsUndefined (const MathStructure &) const
virtual bool | representsBoolean (const MathStructure &) const
virtual bool | representsNonMatrix (const MathStructure &) const
virtual bool | representsScalar (const MathStructure &) const
Public Member Functions inherited from ExpressionItem
| ExpressionItem (std::string cat_, std::string name_, std::string title_="", std::string descr_="", bool is_local=true, bool is_builtin=false, bool is_active=true)
virtual bool | destroy ()
bool | isRegistered () const
void | setRegistered (bool is_registered)
| For internal use.
virtual const std::string & | name (bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const std::string & | referenceName () const
virtual const ExpressionName & | preferredName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | preferredInputName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | preferredDisplayName (bool abbreviation=false, bool use_unicode=false, bool plural=false, bool reference=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const ExpressionName & | getName (size_t index) const
virtual void | setName (const ExpressionName &ename, size_t index=1, bool force=true)
virtual void | setName (std::string sname, size_t index, bool force=true)
virtual void | addName (const ExpressionName &ename, size_t index=0, bool force=true)
virtual void | addName (std::string sname, size_t index=0, bool force=true)
virtual size_t | countNames () const
virtual void | clearNames ()
virtual void | clearNonReferenceNames ()
virtual void | removeName (size_t index)
virtual size_t | hasName (const std::string &sname, bool case_sensitive=true) const
virtual size_t | hasNameCaseSensitive (const std::string &sname) const
virtual const ExpressionName & | findName (int abbreviation=-1, int use_unicode=-1, int plural=-1, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual const std::string & | title (bool return_name_if_no_title=true, bool use_unicode=false, bool(*can_display_unicode_string_function)(const char *, void *)=NULL, void *can_display_unicode_string_arg=NULL) const
virtual void | setTitle (std::string title_)
virtual const std::string & | description () const
virtual void | setDescription (std::string descr_)
virtual const std::string & | category () const
virtual void | setCategory (std::string cat_)
virtual bool | hasChanged () const
virtual void | setChanged (bool has_changed)
virtual bool | isLocal () const
virtual bool | setLocal (bool is_local=true, int will_be_active=-1)
virtual bool | isBuiltin () const
virtual bool | isApproximate () const
virtual void | setApproximate (bool is_approx=true)
virtual int | precision () const
virtual void | setPrecision (int prec)
virtual bool | isActive () const
virtual void | setActive (bool is_active)
virtual bool | isHidden () const
virtual void | setHidden (bool is_hidden)
virtual int | refcount () const
virtual void | ref ()
virtual void | unref ()
virtual void | ref (ExpressionItem *o)
virtual void | unref (ExpressionItem *o)
virtual ExpressionItem * | getReferencer (size_t index=1) const
virtual bool | changeReference (ExpressionItem *o_from, ExpressionItem *o_to)

## Protected Attributes

std::string | sfile
std::string | scopyright
bool | b_loaded
std::vector< DataProperty * > | properties
std::vector< DataObject * > | objects
Protected Attributes inherited from MathFunction
MathFunction_p * | priv
int | argc
int | max_argc
std::vector< std::string > | default_values
size_t | last_argdef_index
std::string | scondition
std::string | sexample
Protected Attributes inherited from ExpressionItem
std::string | scat
std::string | stitle
std::string | sdescr
bool | b_local
bool | b_changed
bool | b_builtin
bool | b_approx
bool | b_active
bool | b_registered
bool | b_hidden
bool | b_destroyed
int | i_ref
int | i_precision
std::vector< ExpressionItem * > | v_refs
std::vector< ExpressionName > | names

## Additional Inherited Members

Protected Member Functions inherited from MathFunction
bool | testArguments (MathStructure &vargs)
virtual MathStructure | createFunctionMathStructureFromVArgs (const MathStructure &vargs)
virtual MathStructure | createFunctionMathStructureFromSVArgs (std::vector< std::string > &svargs)

## Detailed Description

A data set.

This is a simple database class for storage of many grouped values, when ordinary variables is not practical.

A data set consists of properties and objects, with values for the properties. Qalculate! includes for example a "Planets" data set with properties such as name, mass, speed and density, and an object for each planet in solar system.

A data set is also mathemtical function, dataset(object, property), which retrieves values for objects and properties. Data sets can be saved and loaded from a XML file.

## Member Function Documentation

## calculate()

virtual int DataSet::calculate | ( | MathStructure & | mstruct,
|  | const MathStructure & | vargs,
|  | const EvaluationOptions & | eo )

virtual

The main function for subclasses to reimplement. Calculates a value from arguments in vargs and puts it in mstruct.

This function expects the number of arguments to be equal to the maximum number of arguments, and checked by the argument definitions.

If the return value is negative, then argument -(return value) has been evaluated in mstruct. If -(return value) is greater than max arguments, then mstruct is a std::vector of evaluated argument values.

Parameters

  [out] | mstruct | Structure that is set with the result of the calculation.
  | vargs | Arguments passed to the mathematical function.
  | eo | Evaluation options.

Returns
  1 if the calculation was successful.

Reimplemented from MathFunction.

## copy()

ExpressionItem * DataSet::copy | ( |  | ) | const

virtual

Implements MathFunction.

## set()

void DataSet::set | ( | const ExpressionItem * | item | ) |

virtual

Reimplemented from MathFunction.

## subtype()

int DataSet::subtype | ( |  | ) | const

virtual

Returns the subtype of the mathematical function, corresponding to which subsubclass the object belongs to.

Returns
  FunctionSubtype.

Reimplemented from MathFunction.

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

- /opt/local/var/macports/build/libqalculate-ce1473f9/work/libqalculate-5.9.0/libqalculate/DataSet.h