C++ port made more compatible with uSTL (no functional changes).
[zxing.git] / cpp / core / src / zxing / common / Array.h
index 39b1786..9b82269 100644 (file)
@@ -21,8 +21,7 @@
  * limitations under the License.\r
  */\r
 \r
-#include <valarray>\r
-#include <cstdarg>\r
+#include <vector>\r
 \r
 #ifdef DEBUG_COUNTING\r
 #include <iostream>\r
@@ -37,17 +36,17 @@ namespace zxing {
 template<typename T> class Array : public Counted {\r
 protected:\r
 public:\r
-  std::valarray<T> values_;\r
+  std::vector<T> values_;\r
   Array(size_t n) :\r
-      Counted(), values_(T(), n) {\r
+      Counted(), values_(n, T()) {\r
   }\r
   Array(T *ts, size_t n) :\r
-      Counted(), values_(ts, n) {\r
+      Counted(), values_(ts, ts+n) {\r
   }\r
   Array(T v, size_t n) :\r
-      Counted(), values_(v, n) {\r
+      Counted(), values_(n, v) {\r
   }\r
-  Array(std::valarray<T> &v) :\r
+  Array(std::vector<T> &v) :\r
       Counted(), values_(v) {\r
   }\r
   Array(Array<T> &other) :\r
@@ -68,7 +67,7 @@ public:
 #endif\r
     return *this;\r
   }\r
-  Array<T>& operator=(const std::valarray<T> &array) {\r
+  Array<T>& operator=(const std::vector<T> &array) {\r
 #ifdef DEBUG_COUNTING\r
     cout << "assigning values from Array " << &array << " to this Array " << this << ", ";\r
 #endif\r
@@ -87,10 +86,10 @@ public:
   size_t size() const {\r
     return values_.size();\r
   }\r
-  std::valarray<T> values() const {\r
+  std::vector<T> values() const {\r
     return values_;\r
   }\r
-  std::valarray<T>& values() {\r
+  std::vector<T>& values() {\r
     return values_;\r
   }\r
 };\r