ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/GenericData.hpp
Revision: 789
Committed: Mon Sep 29 17:38:00 2003 UTC (20 years, 9 months ago) by mmeineke
File size: 1788 byte(s)
Log Message:
light change in syntax. no signifigant change.

File Contents

# User Rev Content
1 tim 658 #ifndef __GENERICDATA_H__
2     #define __GENERICDATA_H__
3    
4 tim 682 #include <algorithm>
5 tim 658 #include <string>
6     #include <vector>
7    
8 tim 682 #define ZCONSTIME_ID "ZCONSTIME"
9     #define ZCONSPARADATA_ID "ZCONSPARA"
10     #define ZCONSFILENAME_ID "ZCONSFILENAME"
11     #define ZCONSTOL_ID "ZCONSTOL"
12 tim 699 #define ZCONSFORCEPOLICY_ID "ZCONSFORCEPOLICY"
13 tim 682
14 tim 658 using namespace std;
15    
16     class GenericData
17     {
18     public:
19     GenericData();
20     GenericData(const GenericData& rhs) { id = rhs.getID(); }
21     GenericData& operator =(const GenericData& rhs);
22     virtual ~GenericData() {}
23    
24     const string& getID() const { return id; }
25     void setID(string rhs) { id = rhs; }
26    
27     protected:
28     string id;
29     };
30    
31     /** Something we can improve it here is to use template
32     **
33     */
34     class DoubleData : public GenericData{
35    
36     public:
37    
38     double getData() { return data; }
39     void setData(double rhs) { data = rhs; }
40    
41     protected:
42     double data;
43     };
44    
45     class StringData : public GenericData{
46    
47     public:
48     const string& getData() const { return data; }
49     void setData(const string& rhs) { data = rhs; }
50     protected:
51     string data;
52     };
53 tim 682
54 mmeineke 789 struct ZConsParaItem {
55 tim 682 int zconsIndex;
56     bool havingZPos;
57     double zPos;
58     double kRatio;
59     };
60    
61     class ZConsParaData : public GenericData{
62    
63     public:
64     ZConsParaData();
65     void addItem(ZConsParaItem& item) {data.push_back(item);}
66     vector<ZConsParaItem>* getData() {return &data;}
67     void setData(vector<ZConsParaItem>& theData) {data = theData;}
68     void sortByIndex();
69 tim 736 bool isIndexUnique();
70 tim 682
71     private:
72     vector<ZConsParaItem> data;
73     };
74    
75     class ZConsParaSortCriterion{
76     public:
77     bool operator ()(const ZConsParaItem& item1, const ZConsParaItem& item2){
78     return item1.zconsIndex < item2.zconsIndex;
79     }
80    
81     };
82    
83 tim 658 #endif