File: classDataSet.html

package info (click to toggle)
libqalculate 0.9.6-2
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 8,096 kB
  • ctags: 5,501
  • sloc: cpp: 40,337; sh: 9,010; makefile: 67
file content (251 lines) | stat: -rw-r--r-- 20,296 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>libqalculate-0.9.6: DataSet Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.3 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>DataSet Class Reference</h1><!-- doxytag: class=<DataSet> --><!-- doxytag: inherits=<MathFunction> -->A data set.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;DataSet.h&gt;</code>
<p>
<p>Inheritance diagram for DataSet:
<p><center><img src="classDataSet.png" usemap="#DataSet_map" border="0" alt=""></center>
<map name="DataSet_map">
<area href="classMathFunction.html" alt="MathFunction" shape="rect" coords="0,56,96,80">
<area href="classExpressionItem.html" alt="ExpressionItem" shape="rect" coords="0,0,96,24">
</map>
<a href="classDataSet-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a0"></a><!-- doxytag: member=<DataSet::DataSet> ref=<a0> args=<(string s_category="", string s_name="", string s_default_file="", string s_title="", string s_description="", bool is_local=true)> -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>DataSet</b> (string s_category="", string s_name="", string s_default_file="", string s_title="", string s_description="", bool is_local=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1"></a><!-- doxytag: member=<DataSet::DataSet> ref=<a1> args=<(const DataSet *o)> -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>DataSet</b> (const <a class="el" href="classDataSet.html">DataSet</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2"></a><!-- doxytag: member=<DataSet::copy> ref=<a2> args=<() const > -->
<a class="el" href="classExpressionItem.html">ExpressionItem</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>copy</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3"></a><!-- doxytag: member=<DataSet::set> ref=<a3> args=<(const ExpressionItem *item)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>set</b> (const <a class="el" href="classExpressionItem.html">ExpressionItem</a> *item)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataSet.html#a4">subtype</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a5"></a><!-- doxytag: member=<DataSet::setCopyright> ref=<a5> args=<(string s_copyright)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setCopyright</b> (string s_copyright)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a6"></a><!-- doxytag: member=<DataSet::copyright> ref=<a6> args=<() const > -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>copyright</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a7"></a><!-- doxytag: member=<DataSet::setDefaultDataFile> ref=<a7> args=<(string s_file)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setDefaultDataFile</b> (string s_file)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a8"></a><!-- doxytag: member=<DataSet::defaultDataFile> ref=<a8> args=<() const > -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>defaultDataFile</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9"></a><!-- doxytag: member=<DataSet::setDefaultProperty> ref=<a9> args=<(string property)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setDefaultProperty</b> (string property)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a10"></a><!-- doxytag: member=<DataSet::defaultProperty> ref=<a10> args=<() const > -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>defaultProperty</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDataSet.html#a11">calculate</a> (<a class="el" href="classMathStructure.html">MathStructure</a> &amp;mstruct, const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;vargs, const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;eo)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a12"></a><!-- doxytag: member=<DataSet::loadObjects> ref=<a12> args=<(const char *file_name=NULL, bool is_user_defs=true)> -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>loadObjects</b> (const char *file_name=NULL, bool is_user_defs=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a13"></a><!-- doxytag: member=<DataSet::saveObjects> ref=<a13> args=<(const char *file_name=NULL, bool save_global=false)> -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>saveObjects</b> (const char *file_name=NULL, bool save_global=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a14"></a><!-- doxytag: member=<DataSet::objectsLoaded> ref=<a14> args=<() const > -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>objectsLoaded</b> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a15"></a><!-- doxytag: member=<DataSet::setObjectsLoaded> ref=<a15> args=<(bool objects_loaded)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>setObjectsLoaded</b> (bool objects_loaded)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a16"></a><!-- doxytag: member=<DataSet::addProperty> ref=<a16> args=<(DataProperty *dp)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>addProperty</b> (<a class="el" href="classDataProperty.html">DataProperty</a> *dp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a17"></a><!-- doxytag: member=<DataSet::delProperty> ref=<a17> args=<(DataProperty *dp)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delProperty</b> (<a class="el" href="classDataProperty.html">DataProperty</a> *dp)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a18"></a><!-- doxytag: member=<DataSet::delProperty> ref=<a18> args=<(DataPropertyIter *it)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delProperty</b> (DataPropertyIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a19"></a><!-- doxytag: member=<DataSet::getPrimaryKeyProperty> ref=<a19> args=<()> -->
<a class="el" href="classDataProperty.html">DataProperty</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getPrimaryKeyProperty</b> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a20"></a><!-- doxytag: member=<DataSet::getProperty> ref=<a20> args=<(string property)> -->
<a class="el" href="classDataProperty.html">DataProperty</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getProperty</b> (string property)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a21"></a><!-- doxytag: member=<DataSet::getFirstProperty> ref=<a21> args=<(DataPropertyIter *it)> -->
<a class="el" href="classDataProperty.html">DataProperty</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getFirstProperty</b> (DataPropertyIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a22"></a><!-- doxytag: member=<DataSet::getNextProperty> ref=<a22> args=<(DataPropertyIter *it)> -->
<a class="el" href="classDataProperty.html">DataProperty</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getNextProperty</b> (DataPropertyIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a23"></a><!-- doxytag: member=<DataSet::getFirstPropertyName> ref=<a23> args=<(DataPropertyIter *it)> -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>getFirstPropertyName</b> (DataPropertyIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a24"></a><!-- doxytag: member=<DataSet::getNextPropertyName> ref=<a24> args=<(DataPropertyIter *it)> -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>getNextPropertyName</b> (DataPropertyIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a25"></a><!-- doxytag: member=<DataSet::addObject> ref=<a25> args=<(DataObject *o)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>addObject</b> (<a class="el" href="classDataObject.html">DataObject</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a26"></a><!-- doxytag: member=<DataSet::delObject> ref=<a26> args=<(DataObject *o)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delObject</b> (<a class="el" href="classDataObject.html">DataObject</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a27"></a><!-- doxytag: member=<DataSet::delObject> ref=<a27> args=<(DataObjectIter *it)> -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>delObject</b> (DataObjectIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a28"></a><!-- doxytag: member=<DataSet::getObject> ref=<a28> args=<(string object)> -->
<a class="el" href="classDataObject.html">DataObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObject</b> (string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a29"></a><!-- doxytag: member=<DataSet::getObject> ref=<a29> args=<(const MathStructure &amp;object)> -->
<a class="el" href="classDataObject.html">DataObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObject</b> (const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a30"></a><!-- doxytag: member=<DataSet::getFirstObject> ref=<a30> args=<(DataObjectIter *it)> -->
<a class="el" href="classDataObject.html">DataObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getFirstObject</b> (DataObjectIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a31"></a><!-- doxytag: member=<DataSet::getNextObject> ref=<a31> args=<(DataObjectIter *it)> -->
<a class="el" href="classDataObject.html">DataObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getNextObject</b> (DataObjectIter *it)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a32"></a><!-- doxytag: member=<DataSet::getObjectProperyStruct> ref=<a32> args=<(string property, string object)> -->
const <a class="el" href="classMathStructure.html">MathStructure</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObjectProperyStruct</b> (string property, string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a33"></a><!-- doxytag: member=<DataSet::getObjectProperty> ref=<a33> args=<(string property, string object)> -->
const string &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObjectProperty</b> (string property, string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a34"></a><!-- doxytag: member=<DataSet::getObjectPropertyInputString> ref=<a34> args=<(string property, string object)> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObjectPropertyInputString</b> (string property, string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a35"></a><!-- doxytag: member=<DataSet::getObjectPropertyDisplayString> ref=<a35> args=<(string property, string object)> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>getObjectPropertyDisplayString</b> (string property, string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a36"></a><!-- doxytag: member=<DataSet::printProperties> ref=<a36> args=<(string object)> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>printProperties</b> (string object)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a37"></a><!-- doxytag: member=<DataSet::printProperties> ref=<a37> args=<(DataObject *o)> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>printProperties</b> (<a class="el" href="classDataObject.html">DataObject</a> *o)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p0"></a><!-- doxytag: member=<DataSet::sfile> ref=<p0> args=<> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>sfile</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p1"></a><!-- doxytag: member=<DataSet::scopyright> ref=<p1> args=<> -->
string&nbsp;</td><td class="memItemRight" valign="bottom"><b>scopyright</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p2"></a><!-- doxytag: member=<DataSet::b_loaded> ref=<p2> args=<> -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>b_loaded</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p3"></a><!-- doxytag: member=<DataSet::properties> ref=<p3> args=<> -->
vector&lt; <a class="el" href="classDataProperty.html">DataProperty</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>properties</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="p4"></a><!-- doxytag: member=<DataSet::objects> ref=<p4> args=<> -->
vector&lt; <a class="el" href="classDataObject.html">DataObject</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>objects</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A data set. 
<p>
This is a simple database class for storage of many grouped values, when ordinary variables is not practical.<p>
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.<p>
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.
<p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="a11"></a><!-- doxytag: member=<DataSet::calculate> ref=<a11> args=<(MathStructure &amp;mstruct, const MathStructure &amp;vargs, const EvaluationOptions &amp;eo)> --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int DataSet::calculate           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>mstruct</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="classMathStructure.html">MathStructure</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>vargs</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td class="md"></td>
          <td class="md" nowrap>const <a class="el" href="structEvaluationOptions.html">EvaluationOptions</a> &amp;&nbsp;</td>
          <td class="mdname" nowrap> <em>eo</em></td>
        </tr>
        <tr>
          <td class="md"></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The main function for subclasses to reimplement. Calculates a value from arguments in vargs and puts it in mstruct.<p>
This function expects the number of arguments to be equal to the maximum number of arguments, and checked by the argument definitions.<p>
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 vector of evaluated argument values.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>mstruct</em>&nbsp;</td><td>Structure that is set with the result of the calculation. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vargs</em>&nbsp;</td><td>Arguments passed to the mathematical function. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>eo</em>&nbsp;</td><td>Evaluation options. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>1 if the calculation was successful.</dd></dl>

<p>
Reimplemented from <a class="el" href="classMathFunction.html#a13">MathFunction</a>.    </td>
  </tr>
</table>
<a class="anchor" name="a4"></a><!-- doxytag: member=<DataSet::subtype> ref=<a4> args=<() const > --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top">int DataSet::subtype           </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap> const<code> [virtual]</code></td>
        </tr>
      </table>
    </td>
  </tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the subtype of the mathematical function, corresponding to which subsubclass the object belongs to.<p>
<dl compact><dt><b>Returns:</b></dt><dd><a class="el" href="Function_8h.html#a28">FunctionSubtype</a>.</dd></dl>

<p>
Reimplemented from <a class="el" href="classMathFunction.html#a7">MathFunction</a>.    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li>libqalculate/<a class="el" href="DataSet_8h.html">DataSet.h</a></ul>
<hr size="1"><address style="align: right;"><small>
Generated on 17 Jun 2007 for libqalculate-0.9.6 by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.3</small></address>
</body>
</html>