]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/ArrayType.cpp
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / cpp / DataBoardTest / DataBoard / ArrayType.cpp
1 #include "ArrayType.h"\r
2 \r
3 #include "Range.h"\r
4 \r
5 namespace Databoard {\r
6         namespace Type {\r
7 \r
8                 ArrayType::ArrayType()\r
9                 {\r
10                         this->componentType = NULL;\r
11                         this->length = NULL;\r
12                 }\r
13 \r
14                 ArrayType::ArrayType(DataType* componentType)\r
15                 {\r
16                         this->componentType = componentType;\r
17                         this->length = NULL;\r
18                 }\r
19 \r
20                 ArrayType::ArrayType(DataType* componentType, Range* length)\r
21                 {\r
22                         this->componentType = componentType;\r
23                         this->length = length;\r
24                 }\r
25 \r
26                 ArrayType::~ArrayType()\r
27                 {\r
28                         if(componentType != NULL)\r
29                         {\r
30                                 delete componentType;\r
31                         }\r
32 \r
33                         if(length != NULL)\r
34                         {\r
35                                 delete length;\r
36                         }\r
37                 }\r
38 \r
39                 DataType* ArrayType::getComponentType()\r
40                 {\r
41                         return componentType;\r
42                 }\r
43 \r
44                 void ArrayType::setComponentType(DataType* componentType)\r
45                 {\r
46                         this->componentType = componentType;\r
47 \r
48                         if(componentType->getNotBuiltIn() == true)\r
49                         {\r
50                                 notBuiltIn = true;\r
51                         }\r
52                 }\r
53 \r
54                 int ArrayType::minLength()\r
55                 {\r
56                         if(length == NULL) return 0;\r
57 \r
58                         return 0;//length->getLower();\r
59                 }\r
60 \r
61                 int ArrayType::maxLength()\r
62                 {\r
63                         if(length == NULL) return INT_MAX;\r
64 \r
65                         return 0;//length->Upper();\r
66                 }\r
67 \r
68                 Range* ArrayType::getLength()\r
69                 {\r
70                         return length;\r
71                 }\r
72 \r
73                 void ArrayType::setLength(Range* length)\r
74                 {\r
75                         this->length = length;\r
76                 }\r
77 \r
78                 std::string ArrayType::writeOut(int /*indent*/)\r
79                 {\r
80                         std::string s;\r
81 \r
82                         s += componentType->writeOut();\r
83 \r
84                         if(length != NULL)\r
85                         {\r
86                                 s += length->writeOut();\r
87                         }\r
88 \r
89                         return s;\r
90                 }\r
91         }\r
92 }\r