]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/ArrayType.cpp b/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/ArrayType.cpp
new file mode 100644 (file)
index 0000000..0209ce4
--- /dev/null
@@ -0,0 +1,92 @@
+#include "ArrayType.h"\r
+\r
+#include "Range.h"\r
+\r
+namespace Databoard {\r
+       namespace Type {\r
+\r
+               ArrayType::ArrayType()\r
+               {\r
+                       this->componentType = NULL;\r
+                       this->length = NULL;\r
+               }\r
+\r
+               ArrayType::ArrayType(DataType* componentType)\r
+               {\r
+                       this->componentType = componentType;\r
+                       this->length = NULL;\r
+               }\r
+\r
+               ArrayType::ArrayType(DataType* componentType, Range* length)\r
+               {\r
+                       this->componentType = componentType;\r
+                       this->length = length;\r
+               }\r
+\r
+               ArrayType::~ArrayType()\r
+               {\r
+                       if(componentType != NULL)\r
+                       {\r
+                               delete componentType;\r
+                       }\r
+\r
+                       if(length != NULL)\r
+                       {\r
+                               delete length;\r
+                       }\r
+               }\r
+\r
+               DataType* ArrayType::getComponentType()\r
+               {\r
+                       return componentType;\r
+               }\r
+\r
+               void ArrayType::setComponentType(DataType* componentType)\r
+               {\r
+                       this->componentType = componentType;\r
+\r
+                       if(componentType->getNotBuiltIn() == true)\r
+                       {\r
+                               notBuiltIn = true;\r
+                       }\r
+               }\r
+\r
+               int ArrayType::minLength()\r
+               {\r
+                       if(length == NULL) return 0;\r
+\r
+                       return 0;//length->getLower();\r
+               }\r
+\r
+               int ArrayType::maxLength()\r
+               {\r
+                       if(length == NULL) return INT_MAX;\r
+\r
+                       return 0;//length->Upper();\r
+               }\r
+\r
+               Range* ArrayType::getLength()\r
+               {\r
+                       return length;\r
+               }\r
+\r
+               void ArrayType::setLength(Range* length)\r
+               {\r
+                       this->length = length;\r
+               }\r
+\r
+               std::string ArrayType::writeOut(int /*indent*/)\r
+               {\r
+                       std::string s;\r
+\r
+                       s += componentType->writeOut();\r
+\r
+                       if(length != NULL)\r
+                       {\r
+                               s += length->writeOut();\r
+                       }\r
+\r
+                       return s;\r
+               }\r
+       }\r
+}\r